Google开发者日2007

Google开发的Picasa相册、Map地图、Blogger博客、Calendar日历等服务不光提供给用户使用,也提供给开发者们,允许他们将Google服务整合到自己的产品中。例如房地产销售网站可以在自己网站上嵌入Google Map向消费者提供楼盘地段信息。Google每年都会有一天在全球各地同时举办开发者日活动,邀请各界开发者参与讨论交流,听取大家的反馈。今年是第一次来中国,以后可能每年都会在中国开设会场。

上个月在朋友的blog上看到Google开发者日的消息,抱着试试看的心情去网站登记,没想到居然不久就收到了精美的邀请信,激动得不得了。今天早起(真的很早,我这个学期还没在八点前起过床)直奔新世纪饭店的会场,发现这饭店就在钱柜隔壁,不错不错,参加完活动可以顺路去K歌。

早上先是李开复致欢迎词,谈对未来软件开发的看法。某同学激动地对我说,天天看李开复的书,今儿总算见到活的了,呵呵。传统的软件模式是基于客户端的,用户必须先在本地安装才能使用。而Google现在提倡基于互联网、浏览器,跨平台的开源软件。用户不必在本地安装,只要用浏览器就可以使用,比如Google提供的地图、相册等服务,再比如下午周欣工程师演示的一个demo,用网页模拟PowerPoint编辑器,可以在线做出非常漂亮的幻灯片来。这样的想法很鼓舞人心,如果以后的软件都能做成这样,开发者不再需要针对不同的系统编写软件,用户也不需要在本地安装任何软件,该是多么方便啊。我想起上个世纪90年代中期的PC和NC(Net Computer)之争。不少人认为每一台PC都安装系统和软件是对硬盘资源的极大浪费,可以把所有服务放在网络上,本地只需要很小的硬盘安装系统或者根本不需要硬盘,这样的电脑称为Net Computer,类似与很多高中机房的无盘工作站。当时微软坚定地站在PC一边,认为网络发展状况还达不到能够代替本地应用的程度,PC不会被淘汰。确实,网络的限制使得NC始终停留在概念。但十年后的今天,高速网络和海量存储技术都增加了好几个量级,或许真的可以大规模地实现应用程序网络化。

然后是Shivakumar的主题演讲,介绍Google API、Google Web Toolkit(GWT)和Google File System(GFS)的开发和使用。Google向开发者们提供Google APIs,让他们可以像使用任何一个类库一样简单地在线调用Google服务。这样的开发是非常高效的,Google内部大量使用API平台来开发,使得他们的产品周期总是很快,平均只需要六个月。Google Web Toolkit(GWT)则是让Java像Javascript一样使用Ajax技术。GFS是Google的文件存储系统,能够满足Google的特殊要求,比如大量读写操作、块操作较多等等。Google欢迎开发者们使用Google提供APIs和GWT,并在code.google.com公开了大量源码。

主题演讲之后活动分为两个分论坛进行,一个主讲Google API,一个主讲开源代码。我对Google API比较感兴趣,就选了第一个分论坛,后来意外地发现了我们组的沙师兄也在,没准我们组过两个月也要开始用Google API了。开源代码论坛那边也很不错,请到了Mozilla的开发副总裁Mike Schroepfer讲述Firefox开发,没能参加挺遗憾的。

分论坛有四个专题讲演。第一个专题是安兴华师兄的Google Map API。这是用javascript写成的js类库,让开发者们在自己的网站上嵌入Google的地图。第二个专题是周欣工程师的Google Web Toolkit(GWT),帮助java开发者构建基于ajax的应用。ajax是近年新兴的网页技术,无需刷新就能够修改页面内容,在很多网站上都有漂亮的应用,比如Live Spacec和网易博客的留言框。由于ajax还没有统一的标准,开发者不得不面对各种浏览器的兼容问题。GWT与其说是类库,倒不如说是个编译器,把java程序编译成javascript,并且能兼容不同浏览器,是一个很好的工具。不足之处在于ajax动态生成的页面很难被搜索引擎抓取,关心PR的网站需要认真考虑动态和静态页面内容的分配问题。第三个专题是杨骏工程师的Google Data API。Google的API大致分为三类,显示(presentation)、数据(data)和其它。显示API用于页面显示技术,如ajax、Map等。数据API提供数据接口,允许开发者读取和改写Google服务的数据,例如Calendar、Blogspot等。令人惊讶的是所有服务都可以用一个API来访问。与传统的RPC(Remote Procedure Call, 远程过程调用)协议不同,Google Data API基于简单的APP(Atom Publishing Protocol)协议,只有四个标准动作create/retrieve/update/delete和两个数据类型entry/feed,便于普及。由于使用用户数据需要授权,Google为第三方开发者提供了本地和网络重定向两种身份验证方式。第四个专题是Guice开发包,英文讲演的没听懂(汗一下自己),略过不写。所有的开发工具都有Google提供的完整技术支持文档,但是目前很多都还没有中文版本,希望未来会有完整的本地化文档。也可以到相应的Google讨论组交流。

专题讲演的间隙时间溜出会场闲逛,外面的休息间随意地摆放了很多沙发和Google经典的彩色大方块,还有桌上足球和免费餐点,让人对传说中Google轻松的工作氛围心生向往。本来打算听完讲座就赶去17英里走穴,参加班上的K歌聚会,但是某同学坚持要求留下参加最后的鸡尾酒晚宴,理由是既然来了五星级酒店就一定要蹭一顿饭,没准还能遇到李开复照张相签个名什么的。事实证明这个决定无比明智,晚宴真是太太太太丰盛,太太太太好吃了。港式烧味、碧绿炒鸡球、西班牙羊排、葡萄牙肉肠,好吃的东西数不胜数,我们就像刘姥姥进大观园一样饱餐一顿。

Google今天的手笔真是豪放,不仅仅是这么一顿丰盛晚宴,更重要的是它毫无保留地公开自己的研究成果供大家使用,让知识成果造福更多的人。这正是我理想中的互联网分享精神。

8 thoughts on “Google开发者日2007”

Leave a Reply

Your email address will not be published. Required fields are marked *

使用新浪微博登陆