很是强大。
转自:http://www.infoq.com/cn/news/2010/06/gmail-harness-html5
作者 张龙 发布于 2010年6月30日 上午1时57分
据软件工程师Adam de Boor所述,随着Google 对即将出来的HTML 5标准热情的不断升温,Gmail 的很多新特性都打算采用 HTML 5实现。
De Boor于上周四在波斯顿召开的Usenix WebApps大会上说到“HTML 5会让很多工作变得简单和高效”。“HTML 5让我兴奋不已,关键在于有多少浏览器厂商会使用它,我对IE9 抱 有很大的希望”。他指出HTML 5所带来的一个好处在于标准会在多大程度上提升Gmail的加载与执行时间。Google现在的目标是希望Gmail能在一秒钟内加载完毕,速度就是生 命。
早期的测试表明这个目标是很有希望达到的。比如说,Gmail会检查浏览器是否支持CSS 3,如果支持,那么它就会使用相应的规范渲染页面而不是传统的DOM方式。公司发现使用CSS 3可以将页面的渲染速度提升12%。
HTML 5还有助于新特性的构建。目前Gmail设计团队正在开发的一个新特性就是将文件从桌面拖动到浏览器上。该特性非常重要,因为它会使Web应用的功能特性 更加接近于传统的桌面应用。
Gmail还会利用到HTML 5的数据库标准。现在的email服务使用Google Gears存储邮件以便离线阅读,但随着时间的流逝,Gmail将会迁移到HTML 5标准上。
De Boor还谈到了Gmail要增加一些无法使用HTML 5实现的新特性。一个特性就是将文件从浏览器窗口中拖动到桌面上。为了解决这个难题,团队成员正在开发一个全新的数据传输协议:downloadurl。 “我们打算把这个协议加到HTML 5中,但这仅仅是个想法而已,我们办不到。”他开玩笑地说到,Google打算搞个游说团队,把这些新功能推销到HTML 6中,但现在不过是想想罢了。
既然没法加到标准当中,我们鼓励其他浏览器也使用这个协议。公司并不想重掀上个世界90年代的“浏览器大战”,我们需要汲取过去的教训,加强与其他 浏览器厂商的合作。
另一个新特性就是“Magic iFrame”,用户可以将frame中渲染的页面拖出来并在新的浏览器窗口中打开。
目前,Gmail程序由443,000行JavaScript代码组成,如果加上注释则会达到978,000行。所有这些代码都是手工编写的,没有 借助于任何生成工具。
在De Boor演讲的QA阶段,有人问到使用JavaScript完成这么大的一个项目,有没有什么不妥的地方呢?
De Boor承认其他语言(比如Java)可能更好一些,但他同时说到,Java实在是太冗长了。对我来说,这仅仅是语言的选择问题,但有一点,我认为 JavaScript的性能没有任何问题。与JavaScript相关的各种问题很多都来自于浏览器的实现。
目前Gmail已经开始支持文件拖拽了,比如说可以将桌面上的文件拖拽到Gmai窗口作为附件发送。