Mozilla希望Web开发可以取代原生程序
fmms 13年前
Mozilla 正在构建 <a href="/misc/goto?guid=4958186446249546982">WebAPI</a>,一组用于在浏览器中调用硬件设备功能的程序接口。而之前,通常只有原生应用才能调用硬件功能。此举意在开发一套跨平台解决方案,让开发人员只编写一次代码,就可以在所有移动平台上运行。 <p> Mozilla 发布了 Boot to Gecko (B2G)项目,希望能够创建一个类似于 Chrome OS 的 Web 操作系统,此操作系统的目标平台除了上网本之外,还包括兼容 Android 系统的手机和平板电脑。B2G 将会基于 Gecko 和 Android 技术,目的是扩展 Web 体验以替代原生应用程序。Mozilla 的策略到底是自己构建操作系统,还是开发相关技术然后让浏览器厂商来集成,目前尚不清楚。在 B2G 的 <a href="/misc/goto?guid=4958190948044684139">FAQ</a>中写到:</p> <blockquote> <p><a href="/misc/goto?guid=4958190948790810054"><strong>Boot to Gecko</strong></a><strong>(B2G)</strong> 目前处于初期探索阶段,目标是为开放 Web 平台构建独立的、完整的操作系统。它不是一个产品,但一旦成功可以作为某些产品的基础……</p> <p>B2G 项目不鼓励只能运行在 B2G 或 Firefox 上的应用程序,这是区别于 B2G 和其他移动平台的一个重要因素。我们并不希望由此获得 Mozilla 的竞争优势,而是希望整个 Web 平台获得优势……</p> <p>理想情况下,这项技术将会被所有平台和设备上的移动浏览器所使用。我们期待着与其他操作系统和浏览器的开发人员一起,为制定标准和实现标准而努力。</p> </blockquote> <p> B2G 的开发将集中在四个领域:<a href="/misc/goto?guid=4958186446249546982"><strong>WebAPI</strong></a>,<strong>权限模型</strong> -保证 WebAPI 被网页和应用安全的访问 -,<strong>启动</strong> -Android 设备启动器,和<strong>应用程序 </strong>- 从其它平台移植或新的应用。</p> <p> 虽然有了 HTML5,但开发人员仍需要以统一的 API 访问各种硬件功能 - USB、摄像头、加速仪等-来获得一致的开发体验。针对手机的第一组 API 将在 3 到 6 个月之内完成。</p> <p> WebAPI 将会包含如下部分:</p> <ul> <li><strong>拨号</strong>:电话和短信 API,联系人 API</li> <li><strong>地址簿</strong>:联系人 API</li> <li><strong>短信</strong>:电话和短信 API,联系人 API</li> <li><strong>时间</strong></li> <li><strong>摄像头</strong>:摄像头 API,文件系统 API</li> <li><strong>相册</strong>:基于 FileReader(已经完成)和 FileWriter 的文件系统 API。还有基于 IndexedDB 的文件抽象层。</li> <li><strong>计算器</strong></li> <li><strong>设置</strong>:设备状态 API,设置 API</li> <li><strong>游戏</strong>:加速仪 API,鼠标 API</li> <li><strong>地图</strong>:地理信息 API,联系人 API</li> </ul> <p> 当这些 API 被实现以后,开发人员就可以编写出和原生应用非常相似的 Web 应用,而且不需要为每个移动平台写不同的代码。此项目若想取得成功,需要各大移动平台厂商的支持。Mozilla 的 Robert Nyman 在官方博客中<a href="/misc/goto?guid=4958190950203212639">称</a>“将会发布 WebAPI 规范的草稿和实现原型,并提交给 W3C 来标准化。”W3C 自己也在开发其中的一些 API,比如<a href="http://www.google.com/url?sa=t&source=web&cd=3&sqi=2&ved=0CDAQFjAC&url=http%3A%2F%2Fdev.w3.org%2Fgeo%2Fapi%2Fspec-source.html&ei=YgRWTtOvKMHb4QS98YShDA&usg=AFQjCNG9dpEEnbSEfNibAO7ftq07sL4ECw&sig2=quUqPpI-zLwRXtJVBRjgqg">地理信息 API</a>,因此不清楚 Mozilla 会提出全新的 API 还是保持已有的、只为跨平台开发所需要的 API。 </p> <p> 然后就等着苹果、谷歌和微软拥抱和支持这些 API 了。据 <a href="/misc/goto?guid=4958190951679391387">ArsTechnica</a>称,苹果对 iOS 开发平台的最初想法就是基于 HTML,而谷歌以推动 Web 标准化著称,微软也在为 Windows 8 打造基于 HTML 5 的用户界面,其中还包含了在浏览器中访问 PC 机硬件的 API,因此这些公司应该会支持这个想法。最后,就看 W3C 是基于 Mozilla 的 WebAPI 还是其他大厂商的提案来构建标准了。</p> <p> <strong>查看英文原文:</strong><a href="/misc/goto?guid=4958190952413016915">Mozilla Favors Web Over Native Application Development</a></p> <div id="come_from"> 来自: <a id="link_source2" href="/misc/goto?guid=4958190953153251789" target="_blank">InfoQ</a> </div>