什么是Firefox OS ?
Firefox OS 是一个为网页设计而生的能编译和独立的手机网页操作系统,我们相信在接下来的时代,网页应用将充满整个新兴操作设备,这也为当前许多网页开发者不需要太多的学习新的计算机语言来开发网页应用,为当前网页开发者提供了良好的平台。
专案名称为Boot to Gecko,也称B2G.
(1) Firefox OS 是基于开源的网页技术(HTML,CSS,JavaStript)
(2) Firefox OS的UI设计全部是基于这些开源网页技术
(3) 桌面菜单照相应用通话界面等,所有这些都是基于HTML
(4) 最新颖的一部分是你可以自己编辑手机上应用的UI如果你知道这些开源网页技术
(5) 你可以将Firefox OS 划分为三部分,分别是 Gonk 、Gecko、Gaia 。
Gaia
(1)这是Firefox OS的用户上层接口
(2)这层实现了锁屏、Home、打电话、短信消息、照相应用等等。
(3)整个设计通过html 、CSS、JavaScript
(4)Gaia通过开源网页API调用Firefox OS 稍底层的接口层Gecko
(5)只有用标准的web apis 这样才能与其他操作系统相融合并且能够在浏览器上完美运行
(6)第三方开发者的应用可以安装在gaia层展示在手机上。
Gecko
(1)Gecko 是一个免费开源工具,被上层所有应用调用,这是Mozilla组织以及与Mozilla合作的伙伴一起开发的
(2)这一层是用C++开发的中间层,可以在很多操作系统上运行
(3)为HTML,CSS,JS 提供开源标准的接口,让这些接口可以很好的在操作系统上运行
(4)包括网络协议栈,图形栈,界面工具,虚拟机(for js)和‘application runtime’
Gonk.
(1)这是B2G的最底层部分
(2)这一层包含了Linux Kernel和硬件抽象层(HAL)
Booting
当打开Firefox OS 手机后,从bootloader开始执行,在这里开始执行Firefox OS 内核的主要进程及线程,这里有很多boot 进程,但是值得我们关注的主要进程如下
(1) bootloaders在启动时会像我们展示“splash screen”也就是展示vendor 开机图标
(2) Bootloaders 将flash和图像展现在我们的设备上,不同的设备用不同的协议,大多数设备用fastboot但是Galaxy S II用的却是“odin”
(3) 最后执行启动modem进程
Kernel
当内核启动结束时,用户接口界面“init”进程启动,这和其他像unix操作系统一样,当启动init进程后,linux内核服务(services)将调用用户层以及中断设置。
==============================Firefox OS 学习资源列表==================================
开发app过程用到的api列表:Web API reference
web app 所有的控件列表:Gaia
参考文章:http://blog.csdn.net/gamelife_lch/article/details/9014573