Google Gmail 将要拥抱 HTML 5

  • 张龙

2010 年 6 月 30 日

话题:JavaJavaScriptGoogleDevOps语言 & 开发架构

据软件工程师 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 窗口作为附件发送。

JavaJavaScriptGoogleDevOps语言 & 开发架构