Mozilla 希望 Web 开发可以取代原生程序

  • Abel Avram
  • 王瑜珩

2011 年 9 月 19 日

话题:架构HTML5Mozilla语言 & 开发

Mozilla 正在构建WebAPI,一组用于在浏览器中调用硬件设备功能的程序接口。而之前,通常只有原生应用才能调用硬件功能。此举意在开发一套跨平台解决方案,让开发人员只编写一次代码,就可以在所有移动平台上运行。

Mozilla 发布了 Boot to Gecko (B2G) 项目,希望能够创建一个类似于 Chrome OS 的 Web 操作系统,此操作系统的目标平台除了上网本之外,还包括兼容 Android 系统的手机和平板电脑。B2G 将会基于 Gecko 和 Android 技术,目的是扩展 Web 体验以替代原生应用程序。Mozilla 的策略到底是自己构建操作系统,还是开发相关技术然后让浏览器厂商来集成,目前尚不清楚。在 B2G 的FAQ中写到:

Boot to Gecko (B2G) 目前处于初期探索阶段,目标是为开放 Web 平台构建独立的、完整的操作系统。它不是一个产品,但一旦成功可以作为某些产品的基础……

B2G 项目不鼓励只能运行在 B2G 或 Firefox 上的应用程序,这是区别于 B2G 和其他移动平台的一个重要因素。我们并不希望由此获得 Mozilla 的竞争优势,而是希望整个 Web 平台获得优势……

理想情况下,这项技术将会被所有平台和设备上的移动浏览器所使用。我们期待着与其他操作系统和浏览器的开发人员一起,为制定标准和实现标准而努力。

B2G 的开发将集中在四个领域:WebAPI权限模型 -保证 WebAPI 被网页和应用安全的访问 -,启动 -Android 设备启动器,和应用程序 - 从其它平台移植或新的应用。

虽然有了 HTML5,但开发人员仍需要以统一的 API 访问各种硬件功能 - USB、摄像头、加速仪等-来获得一致的开发体验。针对手机的第一组 API 将在 3 到 6 个月之内完成。

WebAPI 将会包含如下部分:

  • 拨号:电话和短信 API,联系人 API
  • 地址簿:联系人 API
  • 短信:电话和短信 API,联系人 API
  • 时间
  • 摄像头:摄像头 API,文件系统 API
  • 相册:基于 FileReader(已经完成)和 FileWriter 的文件系统 API。还有基于 IndexedDB 的文件抽象层。
  • 计算器
  • 设置:设备状态 API,设置 API
  • 游戏:加速仪 API,鼠标 API
  • 地图:地理信息 API,联系人 API

当这些 API 被实现以后,开发人员就可以编写出和原生应用非常相似的 Web 应用,而且不需要为每个移动平台写不同的代码。此项目若想取得成功,需要各大移动平台厂商的支持。Mozilla 的 Robert Nyman 在官方博客中“将会发布 WebAPI 规范的草稿和实现原型,并提交给 W3C 来标准化。”W3C 自己也在开发其中的一些 API,比如地理信息 API,因此不清楚 Mozilla 会提出全新的 API 还是保持已有的、只为跨平台开发所需要的 API。 

然后就等着苹果、谷歌和微软拥抱和支持这些 API 了。据ArsTechnica称,苹果对 iOS 开发平台的最初想法就是基于 HTML,而谷歌以推动 Web 标准化著称,微软也在为 Windows 8 打造基于 HTML 5 的用户界面,其中还包含了在浏览器中访问 PC 机硬件的 API,因此这些公司应该会支持这个想法。最后,就看 W3C 是基于 Mozilla 的 WebAPI 还是其他大厂商的提案来构建标准了。

查看英文原文:Mozilla Favors Web Over Native Application Development
架构HTML5Mozilla语言 & 开发