报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

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:162441
用户头像

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

关注

评论

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

【LeetCode】两个链表的第一个公共节点Java题解

Albert

算法 LeetCode 7月日更

使用Docker运行OnlyOffice的Node.js示例

一个需求

onlyoffice

手把手教你在Modelarts平台上进行视频推理

华为云开发者联盟

视频 modelarts 推理 预处理 视频推理

什么是共识?(理论篇)

趣链科技

Python OpenCV 图像的几何变换,先说不平凡的 resize 函数

梦想橡皮擦

Python 7月日更

Rust从0到1-面向对象编程-概念

rust oop 面向对象编程

Go语言,什么情况下应该使用指针?

微客鸟窝

Go 语言

基于迁移学习的语义分割算法分享与代码复现

华为云开发者联盟

语义分割 modelarts 迁移学习 语义分割算法 迁移分割

基于Spring Boot+Security+Redis权限管理系统,权限控制采用RBAC

Java架构追梦

Java 源码 架构师 springboot 权限管理系统

MERN堆栈

吴脑的键客

node.js mongodb React Express

Redis 的集群容错与故障转移

U2647

redis redis哨兵模式 集群 redis cluster Leader

浪潮云洲×天人集团:打通数据脉络 驱动降本增效

网络攻防学习笔记 Day81

穿过生命散发芬芳

网络攻防 7月日更

[翻译]innodb_ruby 项目简介

keaper

MySQL 数据库 后端 服务端 innodb

Vue进阶(三十五):watch监听函数详解

No Silver Bullet

Vue 7月日更 watch

倒计时 | 7.24 阿里云 Serverless Developer Meetup 杭州站报名火热进行中!

Serverless Devs

阿里云 Serverless 云原生

955.WLB 不加班公司名单!再新增 5 家公司!

程序员生活志

想象中的论文答辩和真实的论文答辩,我太难了……

程序员生活志

流程审批系统如何通过低代码平台实现?

优秀

低代码 流程审批系统

【Flutter 专题】80 初识 Flutter Stream (一)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

“吴痛针灸”代言人翻车,为什么女性会重新定义品牌优势

脑极体

面向资源的架构(ROA)概述

码语者

SOA ROA

全球首个AI组合亮相,有人直呼惊艳,也有人害怕恐惧

程序员生活志

现代企业架构师的5大特征及六种方法

禅道项目管理

架构 数据 开发 创新 行业趋势

使用dubbo-go搭建dubbo接口测试平台

捉虫大师

dubbo 接口测试 dubbo-go Go 语言

云小课|ModelArts Pro 视觉套件:零代码构建视觉AI应用

华为云开发者联盟

AI 零代码 ModelArts Pro 行业落地 视觉套件

大数据实战训练营作业二

Clarke

大数据实战训练营作业一

Clarke

Vue进阶(幺玖肆):localStorage应用总结

No Silver Bullet

Vue LocalStorage 7月日更

华为云UGO正式公测:4大核心优势破解异构数据库迁移难题

华为云开发者联盟

数据库 华为云数据库 异构数据库 对象迁移 应用迁移

【从零开始学爬虫】采集西瓜直播视频

前嗅大数据

大数据 爬虫 数据采集

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