BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Firefox OS开发资源助您起航

| 作者 Sergio De Simone 关注 12 他的粉丝 ,译者 朱伟健 关注 0 他的粉丝 发布于 2014年2月22日. 估计阅读时间: 4 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

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浏览器FirebugFirefox 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应用程序的基本步骤

查看英文原文:Resources to Start Developing for Firefox OS

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT