写点什么

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

  • 2011-09-19
  • 本文字数:1222 字

    阅读完需:约 4 分钟

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

2011-09-19 21:162524
用户头像

发布了 63 篇内容, 共 26.2 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

高频react面试题自检

beifeng1996

React

【设计模式】原型模式:猴头,我叫你一声你敢答应吗?

游坦之

11月月更

首个中文Stable Diffusion模型开源;TPU演进十年;18个PyTorch性能优化技巧 | AI系统前沿动态

OneFlow

人工智能 开源 深度学历 TPU

python的成员方法的简单介绍

乔乔

11月月更

Map接口的子类HashMap和LinkedHashMap

共饮一杯无

Java 11月月更 Map集合

React源码分析(一)Fiber

goClient1992

React

说说Vue响应式系统中的Watcher和Dep的关系-面试进阶

bb_xiaxia1998

Vue

为提高 SDLC 安全,GitHub 发布新功能|GitHub Universe 2022

SEAL安全

GitHub 安全

Spring 5(四)JdbcTemplate

浅辄

Java Spring5 11月月更

中高级前端开发需要掌握的vue知识点

bb_xiaxia1998

Vue

从源码角度看React-Hydrate原理

flyzz177

React

什么是Maven

莪是男神

Java maven 11月月更

深入react源码看setState究竟做了什么?

flyzz177

React

一个 SaaS 软件同本地部署 On-Premises 系统集成的实际项目案例分享

汪子熙

微服务 SaaS 系统集成 On-Premises 11月月更

看透react源码之感受react的进化

goClient1992

React

说说你对Vue的keep-alive的理解

bb_xiaxia1998

Vue

优化开发人员对 K8s 安全的影响

HummerCloud

Kubernetes DevSecOps 11月月更

从recat源码角度看setState流程

flyzz177

React

ShardingSphere + OpenSergo,共同提升微服务体系下数据库的性能与稳定

SphereEx

数据库 微服务 Apache ShardingSphere

问:React的useState和setState到底是同步还是异步呢?

beifeng1996

React

学习MySQL必须掌握的13个关键字,你get了吗?

小小怪下士

Java MySQL 程序员

一份vue面试考点清单

bb_xiaxia1998

Vue

源码学习之Spring容器创建原理

京东科技开发者

xml spring 源码 容器 测试

clickhouse在风控-风险洞察领域的探索与实践

京东科技开发者

flink 数据 Clickhouse 风控 风险控制

一天梳理完react面试题

beifeng1996

React

React-Hooks源码深度解读

goClient1992

React

图学习初探Paddle Graph Learning 构建属于自己的图【系列三】

汀丶人工智能

图神经网络 11月月更 随机游走算法 异质图

Git学习笔记

lxmoe

git 学习笔记 常用命令 11月月更

Spring 5(三)AOP

浅辄

Java Spring5 11月月更

【C语言】float 关键字

謓泽

11月月更

Flask框架:如何运用Ajax轮询动态绘图

华为云开发者联盟

JavaScript 前端 华为云 企业号十月 PK 榜

Mozilla希望Web开发可以取代原生程序_架构_Abel Avram_InfoQ精选文章