Firefox OS,是由 Mozilla 开发,以“面向开放网络构建完整、独立的操作系统”为目标,用户可以安装运行HTML、CSS 和JavaScript 开发的应用程序。这个系统基于Linux 和Mozilla 的Gecko 开发,并且是完全开放,100% 不涉及任何专利技术。
为 Firefox OS做贡献
Firefox OS 是完全开源的系统,可以从 GitHub 中克隆。在 Mozilla 开发者的门户网站中,有完整详尽的说明,阐述如何编译并将其安装在模拟器或移动设备上,比如配置双启动系统的Android 设备。
Firefox OS 核心技术主要有三个层面:
- Gaia ,这是 Firefox OS 的用户界面。除了其他项目外,Gaia 还包括锁 / 主屏幕、电话拨号器和联系人应用程序,外加经典的手机应用程序:邮件、日历、计算器和应用市场。Gaia 完全是用 HTML、CSS 和 JavaScript 编写的。
- Gecko ,这是操作系统应用程序的运行时,实现了 HTML、CSS 和 JavaScript 的开放标准。Gecko 包括网络堆栈、图形堆栈、布局引擎和 JavaScript 虚拟机。
- Gonk ,由 Linux 内核和用户空间硬件抽象层(HAL)构成,是操作系统的底层。Gecko 就运行在这层。Gonk 将接口暴露给 Gecko,实现诸如对完整电话栈或显示帧缓冲区的直接访问,这些在其他操作系统中通常是访问不到的。
为 Gonk 和 Gecko 做贡献需要用到 C++ 的知识,而 Gaia 需要的是 JavaScript 或者 HTML/CSS。
Bugzilla 是促进 Firefox OS 发展的基础资源,它是 Mozilla 的缺陷数据库。除了从 Bugzilla 中选择和修复 bug 外,Mozilla 通过建立指导性的错误,努力帮助新人了解这个平台和整个流程。指导性的错误应该包含足够的信息来上手,还设定了辅导者沿着流程提供指导。如果没有合适的指导性错误,旧的“良好的首例错误”列表也能提供可用的起点。
一旦修复了bug,开发者需要提交他/ 她的补丁供审核,最终由具有权限的人员将其迁入。
为Firefox OS**** 开发应用程序
如果不想跟操作系统的底层部分打交道,那么你可以开发运行在Firefox OS 上的应用程序。Firefox OS 应用开发的基本工具是最新版 Firefox 浏览器、 Firebug 和 Firefox OS 模拟器插件。
了解更多有用的资源:
- Boilerplate app :展示应用程序架构和 WebAPI 用法的基础模板;
- IndexedDB :客户端存储大量结构化数据的 API,相反, DOM 存储适用于存放较少量的数据;
- App Manifest :清单是分辨网站的开放网络应用程序的关键。它是 JSON 文件,其中包含应用程序的名称和描述,此外,还可以包含应用程序的起源、图标等;
- App Manager :这是个工具集,用于管理本地应用程序、设备和开发工具箱(监视器、调试器等等);
- Brick Web components :通过组件支持 HTML5 重用的规范;
- Firefox OS style guide :人机交互指南,它描述了所有元素的外观和 UI 行为。
Mozilla 的代表 Shafiul Azam 也在演讲中描述了开发Firefox OS 应用程序的基本步骤。
评论