火狐操作系统
2015年12月,Mozilla 宣布其雄心勃勃的新操作系统将不会出现在任何新手机上,但该项目仍可能作为智能电视和物联网设备的平台继续存在。
移动设备领域由两个平台主导:苹果的 iOS 和谷歌的 Android。是否还有其他平台的空间? 如果你一年前问 Mozilla,答案肯定会是肯定的。 受 Chrome OS 的启发,Mozilla 设想了一个应用程序本质上是网站的平台。 这个梦想在 Firefox OS 中成为现实。
Firefox OS 是一个非常轻量级的系统。 堆栈的核心是 Linux 内核。 在顶部,有一个修改版的 Gecko(Firefox 的渲染引擎)和 JavaScript 运行时。
将应用程序构建为网站的优势在于,它可以让您利用现有技术。 HTML、JavaScript 和 CSS 都是成熟的技术。 有许多开源库可供开发人员使用,以加速开发过程,并且 Web 开发人员可以轻松地转换方向并开始在新平台上工作。
这个想法并不新鲜。 Cordova 是一个开源项目,它使用 Web 技术来构建跨平台应用程序。 同一个代码库可以部署到 Android 设备、iPhone 甚至 Windows PC。 主要区别在于 Firefox OS 为 HTML5 Web 应用程序提供原生支持。 这使得开发和部署过程更简单,并为开发人员提供了丰富的设备 API 可供使用。
毫无疑问,Firefox OS 轻量级、以 Web 为中心的设计使其成为对开发人员有吸引力的平台。 基于浏览器的堆栈使得快速开发新应用程序、重用现有项目和第三方库中的代码变得容易。
但是,让开发人员满意只是难题的一部分。 为了在竞争激烈的移动平台领域取得成功,Mozilla 需要说服手机制造商支持其产品。 它还需要证明新平台提供了 Android 中不具备的优势。 而且,Mozilla 也需要说服用户。
尽管 HTML5 应用程序开发在 Android 和 iOS 上是可能的,但大多数开发人员还是使用原生框架。 这些框架比 HTML5 更复杂且可移植性更差。 那么,为什么原生框架是首选呢? 主要原因是性能。 原生框架通过挂钩到低级库来提供更高的性能。 这些库针对移动硬件上的性能进行了优化,提供快速且响应灵敏的用户体验。
问题的根源在于浏览器本身。 Web 浏览器的构建是为了适应各种不同类型的内容和布局。 这种灵活性是有代价的。 在 Web 浏览器的情况下,这个代价以 DOM 的形式出现。
DOM 是“文档对象模型”,一种表示页面结构的数据结构。 DOM 是昂贵的——它非常耗内存。 渲染 DOM(将其转换为图像)在计算上也很昂贵。 Web 应用程序通过操作 DOM 来工作。 每次小的更改都需要大量的重新计算和布局更改。 这些更改中的每一次都会消耗处理器能力,因此 HTML5 应用程序看起来响应速度较慢,因为它们的运行时引擎必须更努力地处理显示更改。
最终,正是这种性能瓶颈阻止了 HTML5 取代原生框架。 开发人员转而依赖原生框架。
在 Firefox OS 上,没有其他框架。 HTML5 应用程序是唯一的选择。 因此,即使是简单的 Firefox 应用程序也难以匹敌 Android 设备上应用程序的性能。
向手机制造商销售 Firefox OS 一直是一个缓慢而痛苦的过程,Mozilla 正在宣告结束,但这并不意味着它完全放弃了它的孩子。
Firefox OS 已经证明它是一个非常灵活的平台。 它有潜力在各种设备上运行,例如电视和物联网设备。 只要 Mozilla 能为制造商找到一些有说服力的用例,它就有很好的机会在这些新兴领域产生影响。