用 Firefox OS 创造移动设备的未来 – 资源、文档及更多!

大约一个月前,我写了一篇个人文章,讲述了我对 Firefox OS 的看法,以及我认为它代表的意义和它带来的可能性为什么如此“神奇”。这篇文章是对上一篇文章的后续,旨在涵盖大部分相同的内容,但会提供更多细节和更强的技术侧重点。

什么是 Firefox OS?

简而言之,Firefox OS 是关于利用网络背后的技术,例如 JavaScript,来构建一个完整的移动操作系统。它实际上是一个由 JavaScript 驱动的移动操作系统!

Firefox OS screenshots

这是通过一个定制版的 Gecko(Firefox 中的渲染引擎)实现的,该引擎引入了各种新的创建类似手机体验所需的 JavaScript API;例如 WebSMS 用于发送短信,以及 WebTelephony 用于拨打电话。

您可能想知道是什么在运行 Gecko,因为手机不能自然地直接启动到 Gecko。为此,手机会启动到一个非常轻量级的 Linux 内核,该内核又会启动 Gecko 进程。这个过程比这稍微复杂一些,并且可以在B2G 架构文档中找到更多详细信息,包括 Gecko 如何访问无线硬件和其他特定于手机的功能。

Firefox OS 项目还旨在将 Mozilla 的许多其他项目整合到一个单一的愿景中,我们称之为“网络即平台”。这些项目包括开放式网络应用计划Persona,我们用于网络身份和登录的解决方案(以前称为 BrowserID)。正是这些各种技术的结合才完成了 Firefox OS。

如果您想了解更多关于该操作系统的技术信息,请务必查看MDN 上的 Firefox OS 页面

为什么选择 Firefox OS?

出现的一些常见问题是:“为什么选择 Firefox OS?”,更具体地说,“为什么用 JavaScript 构建移动操作系统?” 这些都是非常重要的问题,所以让我们花点时间详细探讨一下。

为什么用 JavaScript 构建移动操作系统?

这个问题的答案可以简单地概括为一句话:因为它可以做到。这不是唯一答案,但它简洁地解决了大多数反对以这种方式使用 JavaScript 的论点。

更长的答案是,一个由 JavaScript 驱动的操作系统可以解锁一系列可能性,而这些可能性通常在现有的操作系统中对于开发者和用户来说是不可用或难以实现的。

最明显的可能性是能够使用我们已经用来构建网站的技术来构建应用程序;即 JavaScript、CSS 和 HTML。虽然这并不是 Firefox OS 的真正独特功能——像 PhoneGap 这样的项目多年来一直在“原生”平台上这样做——但它允许世界各地的开发者创建移动应用程序,而无需学习原生语言和 API。

JavaScript 的另一个吸引力在于它文档非常完善并且可以免费开发。任何人都可以在周末坐下来开发一个应用程序,而无需支付任何费用。显然,在大多数情况下并非如此,因为人们倾向于购买自己的托管或工具,但理论上没有任何东西可以阻止您免费使用这些技术进行开发。

可以说,以这种方式使用 JavaScript 最有趣的地方在于,它从本质上使物理设备能够使用我们在网站上已经使用的相同 API 进行通信。实际上,与其通过移动浏览器访问网络,不如说整个手机现在能够访问并与任何网络 API 进行通信。例如,没有任何东西可以阻止您为 Firefox OS 构建一个应用程序,该应用程序使用 WebRTC(一旦添加)在手机、台式电脑或任何其他支持 WebRTC 的设备之间创建类似 Skype 的点对点视频通信。

这仅仅触及了“为什么选择 JavaScript?”的表面,但它确实让您感受到了这一点,除了“原生”与 Web 的老生常谈之外,它既有趣又重要。如果您仍然不相信,只需考虑一下您现在如何仅使用 JavaScript 就可以自定义整个移动操作系统。您很难否认它非常有趣!

好的,但是为什么选择 Firefox OS?

实际上,Firefox OS 的构建是为了兑现我们的承诺(这么说吧),并证明 JavaScript 能够做到我们所说的那样。然而,这个项目远不止于证明这项技术足够快。

“为什么选择 Firefox OS”的第一个原因是,移动生态系统充斥着专有的平台,其中大多数平台阻止您轻松地在各种平台之间移动。Firefox OS 的目标是创建一个真正“开放”的平台,不会将您锁定,并且从本质上使您能够在您选择时轻松地在设备之间移动。

Mozilla 实际上是在复制其在 Firefox 中取得的成功,在 Firefox 中,它席卷了浏览器市场,并向用户展示了一个替代方案,一个让他们能够控制自己如何使用网络的方案。在这种情况下,它更多地关注移动平台和应用程序的可移植性,而不是浏览器。

另一个原因是,Firefox OS 试图将 Web 推进到物理设备的世界。这带来的一个直接好处是添加了全新的 Web 标准和 API,允许使用 JavaScript 进行硬件访问。

大量挑战

可以公平地说,Firefox OS 的旅程在沿途会遇到许多技术挑战,但这正是乐趣所在以及我们开发它的原因之一。

其中一项挑战是如何管理一个开放且分布式的应用程序生态系统。这是我们正在通过开放式网络应用计划Mozilla 应用商店来解决的问题。这是一个我们随着事情的进展以及我们更多地了解事物如何最佳运作而不断应对的挑战,这正是新思维方式的本质。

另一个挑战是确保手机尽可能快地运行,从而创造最佳体验。这也与开发者社区中围绕 JavaScript 的性能能力提出的问题有关,特别是在它用于执行被认为复杂的事情时,或者当它与“原生”技术进行比较时。这是一个我们非常重视的挑战,也是我们认为可以克服的挑战。事实上,我认为我们已经克服了这一挑战。

JavaScript 能力的一个主要例子是看到精美的 JavaScript 游戏在 Firefox OS 中以接近 60 帧/秒的速度运行,而且是在低端、廉价的手机上。

超越手机

虽然 Firefox OS 的手机方面立即引起了人们的兴趣,但您应该考虑 JavaScript 操作系统的更广泛影响及其解锁的可能性。例如,还有哪些其他设备可以从 JavaScript 驱动中受益?并且,一个由 JavaScript 驱动的设备网络将允许我们做什么——例如普适计算

这些并不是我们目前在 Mozilla 中直接探索的事情,但它们是由于我们正在开展的工作而现在本质上成为可能的事情。没有任何东西可以阻止您从GitHub 获取 Firefox OS 源代码并将其移植到我们从未考虑过的设备上。

我们已经开始看到这种情况发生,例如Raspberry Pi 的 Firefox OS 移植,以及Pandaboard 的另一个移植

游戏机由 Firefox OS 驱动怎么样?电视或机顶盒?冰箱呢?单独来看,这些都是有趣的项目,但它们共同提供了一些我们目前没有的东西,即一个由相同开放技术驱动的不同设备网络,并且能够使用相同的 API 访问和跨网络通信。

我们距离那样的世界还有很长的路要走,但像 Firefox OS 这样的项目可能会为实现它铺平道路。你甚至可以参与其中!

开始使用 Firefox OS

希望到目前为止,您对 Firefox OS 已经足够感兴趣,可以开始探索、试验和使用它。好消息是,您可以通过多种方式做到这一点。

文档

首先要查看的地方之一是围绕 Firefox OS 及其相关技术的 MDN 文档。在这里,您将找到有关该平台面向开发者的所有方面所需的一切信息。

如果您对平台的内部工作原理更感兴趣,那么您需要浏览一下 B2G wiki,其中详细介绍了许多内部细节。

源代码

如果您渴望掌握 Firefox OS 的源代码,那么您需要前往 GitHub 并查看它。您需要查看的两个主要存储库是“b2g”(底层的 Gecko 引擎)和“gaia”(您可以看到的所有内容,即操作系统)。

参与进来

有几种方法可以参与该项目。您可以查看一些问题并参与解决它们,或者只是在B2G 的邮件列表Gaia 的邮件列表中闲逛,并参与那里的讨论。

如果您只想问一些直接的问题,请尝试 irc.mozilla.org 上的 #b2g 和 #gaia 聊天室。我们都很友好!

开发选项

如果您只想深入研究并创建一些应用程序,或者可能自定义操作系统,那么您需要了解可用的各种开发选项。它们在 MDN 上有详细介绍,但这里有一个简要概述。

最简单的入门方法是在Firefox Nightly 中运行 Gaia(Firefox OS 的视觉方面)。这不会为您提供手机环境的真实表示,但它将允许您安装应用程序并在您已经习惯的浏览器中使用所有开发者工具。

比 Nightly 稍微复杂一点的是使用桌面 B2G 客户端。这实际上是一个无 chrome 的 Firefox 版本,它看起来像手机并且有一些标准 Firefox 中通常不可用的附加 API。这不会复制手机硬件,但它是开始在实际设备上开发之前的最佳选择。

设置桌面 B2G 客户端并不太难,但可以变得更容易。在此期间,像 r2d2b2g 这样的项目旨在使该过程超级简单。绝对值得一试。

最后一种方法,也是可以说最重要的一种方法,是在实际的 Firefox OS 设备上进行开发。这是唯一一种方法可以为您提供应用程序性能的真实表示。它也是唯一一种方法可以访问 Firefox OS 附带的所有新 API。

现在,您需要在受支持的设备之一上构建和安装 Firefox OS。将来,您将能够跳过此步骤并访问已经运行 Firefox OS 的设备。我们还没有这方面的任何日期。

迈出脚步,成为伟大的一部分

我希望到目前为止,您应该已经获得了足够的灵感和信息,可以迈出脚步,开始为这个新的平台构建应用,该平台由您已经使用的技术驱动。我们希望您能做到,并且我们很乐意看到您想出什么创意。

并非每天都有机会参与可能从根本上改变我们做事方式的事情。

关于 Robin Hawkes

Robin 热衷于通过代码解决问题。他是一位数字爱好者,Pusher 的开发者关系负责人,前 Mozilla 布道师,书籍作者,以及英国人。

更多 Robin Hawkes 的文章…


55 条评论

  1. BrianMB

    在查看第一字节文档之前,我需要 Mozilla 提供一些证据,证明这不会重蹈 webOS 那场缓慢的火车事故。

    为什么 Firefox OS 会在 Palm 和 Apple 员工的创新失败的地方取得成功?webOS 拥有令人惊叹的设备、令人难以置信的新 UI 概念、来自 HP 的资源以及来自科技媒体的全球关注。我非常熟悉 webOS 作为平台的问题,以及 Gecko 从一开始就更有能力,但为什么我们应该相信 Firefox OS 在 3 年后仍然存在?

    2012 年 10 月 9 日 06:49

    1. Robert Nyman [Mozilla]

      在技术方面,它已在Mozilla 的“Boot 2 Gecko”与 webOS 相比如何?编辑和其他地方进行了讨论。

      在我看来,Web 开发人员可以重复使用他们现有的 HTML、CSS 和 JavaScript 知识,并通过这些技能接触到另一个平台。

      我只能说,我相信这样的选择在移动领域非常需要,并且Firefox OS已经拥有了许多优势!

      2012年10月9日 07:33

      1. BrianMB

        非常感谢你提供的链接,罗伯特。我完全同意Mozilla的观点,即Web是软件开发的柏拉图式理想,世界需要一个成功的设备端Web平台。然而,在将我所有的筹码押在Palm身上两年后,我已不再相信一家公司能够做到这一点。

        Palm做不到。RIM也做不到(使用WebWorks)。谷歌也做不到。微软可能也不会做(使用Windows 8)。我还不确定Mozilla是否能够成功,无论他们开发的操作系统多么出色,但我确实希望你们能做到。

        2012年10月9日 08:57

        1. 罗伯特·奈曼

          谢谢!我们正在努力。:-)

          2012年10月9日 10:11

    2. 普拉文

      WebOS和Firefox OS对市场的切入方式完全不同。我个人相信Mozilla。Firefox OS不应该作为与Android和iOS等现有产品的竞争对手推出,而应该采用一种全新的方法。

      2012年10月9日 07:55

      1. 罗伯特·奈曼

        在关于新方法的想法方面,我们绝对会倾听大家的意见!欢迎在这里发表评论或发送电子邮件到robert [at] mozilla [dot] com。

        2012年10月9日 10:20

    3. 马修·巴布斯

      1. Mozilla是一个非盈利组织。如果FirefoxOS没有立即取得商业成功,他们不会放弃它。
      2. Mozilla正在积极寻求运营商合作。例如,看看谷歌和微软在与运营商合作方面遇到的麻烦——Mozilla了解这一点的重要性。
      3. 它并不是试图成为iPhone的杀手。FirefoxOS的目标是低端智能手机,以功能手机的价格提供智能手机。这块市场传统上由诺基亚Symbian占据,但他们正在将其放弃,转而转向高端Windows Phone;而Android也仅仅是在缓慢地侵蚀这块市场,因为它在这些超低价的手机上表现不佳。

      所以,不要指望它在美国突然占据10%以上的市场份额,那里每个人都能买得起昂贵的手机,但FirefoxOS在世界其他地区有着很好的发展机会。

      2012年10月9日 08:47

      1. 罗伯特·奈曼

        感谢这些补充!

        2012年10月9日 10:20

      2. 大卫·内梅斯基

        不过,我不明白的是,是什么让基于JavaScript和HTML5的系统在上述廉价手机上的性能优于Android?Firefox在我的台式机上并不是最快的应用程序,其他浏览器也一样。请允许我悲观一点,我不认为在手机上会有所不同——尤其是在Linux下运行的Firefox性能远不如Windows下时。

        我仍然支持你们,因为更多的选择总是更好。特别是如果你们能够让一个完整的Linux发行版安装到手机上,并且可以选择将其停靠并连接到屏幕和键盘……我知道你们之前有过这样的想法,Ubuntu和Android也有类似的想法。我一定会立刻购买这样的手机。

        2012年10月11日 01:04

        1. 罗伯特·奈曼

          总的来说,据我所知,Android包含了许多内容,需要一定的性能水平。Firefox OS中的Linux内核和硬件抽象层Gonk,应该非常轻量级,因此可以带来更好的最终体验。

          从目前我们看到的情况来看,似乎确实如此。

          我不认为会出现一个完整的Linux发行版,至少在短期内不会。

          感谢你的支持!

          2012年10月11日 04:07

  2. 本·达洛

    我在使用PhoneGap构建应用程序时遇到一个限制,那就是很容易遇到性能瓶颈,而使用原生应用程序则可以轻松解决这些问题。通常这些问题来自您正在操作的视图的物理尺寸(长列表或宽轮播等),例如在iOS中,这些视图会根据需要加载/释放,但出于Web视图的目的,必须始终将其保存在内存中。在PhoneGap的世界里,通常发生的情况是应用程序耗尽可用内存并崩溃——根据上下文,甚至可能在启动时崩溃。

    当然,有一些方法可以解决这个问题,但它们很复杂,而且很繁琐,而原生工具包通常会为您处理这些问题。是否有计划满足此类用例(我认为这种情况非常普遍)?诸如“B2G“应用程序”只是也可以在任何平台上的浏览器中运行的Web应用程序”之类的声明并没有让我充满信心……

    2012年10月9日 08:22

    1. 罗伯特·奈曼

      我相信,据我了解,与WebView的区别在于它们没有获得这些移动操作系统上的Web浏览器相同的性能、相同的JavaScript引擎(在某些情况下)等。

      使用Firefox OS,应用程序应该拥有与移动操作系统本身的任何部分完全相同的功能。

      2012年10月9日 10:29

  3. 毛里齐奥

    问题不在于“为什么”,而在于“何时”。

    2012年10月9日 08:43

    1. 罗伯特·奈曼

      什么时候发布?我不能确切地说出日期,但明年上半年听起来是合理的。

      2012年10月9日 10:30

      1. HamuSumo

        我们能否期待2013年在欧洲推出搭载Firefox OS的首批智能手机?我没有智能手机,所以我想用Firefox OS开启这个“时代”。 :)

        2012年10月10日 01:22

        1. 罗伯特·奈曼

          听起来不错!:-)
          我不能保证任何事情,但我确实希望如此。

          2012年10月10日 06:39

        2. 毛里齐奥

          我也有同样的情况:-)

          2012年10月10日 08:17

  4. 马雷克·穆拉奇克

    感谢你精彩的帖子!它看起来很有前景,我将期待进一步的信息。

    现在,我将从我的Facebook页面链接到它。

    马雷克·穆拉奇克

    2012年10月9日 10:33

    1. 罗伯特·奈曼

      谢谢,很高兴你喜欢它!

      2012年10月10日 00:15

  5. 蒂姆·彼得森

    我对Firefox OS超级兴奋。感谢你的文章!

    2012年10月9日 14:32

    1. 罗伯特·奈曼

      很高兴听到!

      2012年10月10日 00:15

  6. 肯·桑德斯

    “前进,成为伟大的一部分”。

    应该在每个会议、聚会等的结尾说这句话。 :)

    2012年10月9日 15:05

    1. 罗伯特·奈曼

      我同意,而且我通常在做演示时会尝试传递这种信息。:-)

      2012年10月10日 00:15

  7. 肯·桑德斯

    你并不每天都有机会参与到可能真正改变我们做事方式的事情中,除非你在Mozilla工作或志愿服务。

    2012年10月9日 15:12

    1. 罗伯特·奈曼

      这绝对是一个令人兴奋的未来!

      2012年10月10日 00:16

  8. 杰弗里

    我假设Biolab Disaster(因为你提到了它)运行良好,但我很好奇像BannaBread、HexGL甚至BrowserQuest这样的软件在Firefox OS目标的低端手机上运行情况如何。我认为不会很好。

    我认为Mozilla应该成立一家专门为其平台创建视频游戏的公司。这些游戏不仅可以作为开发人员的技术演示,而且(如果做得足够好)还可以作为系统销售的推动力。此外,它可能有助于鼓励硬件制造商在其设备上配备真正的D-pad和动作按钮。

    2012年10月9日 19:35

    1. 罗伯特·奈曼

      这将取决于游戏及其所需的功能,但总的来说,我们看到了一些非常好的性能。我们希望将来能够发布一些关于它的数据!

      2012年10月10日 00:17

  9. 拉里·加菲尔德

    这与Chrome OS有什么区别?那不也是“足够的Linux来启动Chrome,然后浏览器就是全部(tm)”吗?那不也是一个开源的浏览器即操作系统的项目吗?

    2012年10月9日 22:39

    1. 罗伯特·奈曼

      有一些相似之处,但一些主要区别在于

      – Firefox OS最初的目标是移动电话,而Chrome OS的目标是上网本。
      – 在Firefox OS中,您看到的所有内容,每个UI元素,都是HTML、CSS和JavaScript。在Chrome OS中,只有应用程序中的内容是。

      2012年10月10日 01:16

  10. Xen

    我的三星电视已经在使用HTML/CSS/JavaScript运行其应用程序,我不明白革命在哪里。我还没有看到一大群Web开发人员涌向这个新平台。但话又说回来,它还没有获得Mozilla的认可。

    2012年10月9日 22:53

    1. 罗伯特·奈曼

      我相信,目前电视机上的渲染引擎的性能和功能都无法与例如手机上的性能和功能相提并论。

      最初的目标是为移动市场提供这一点,然后我们将看看它如何发展!

      2012年10月10日 01:17

  11. Xen

    http://html5test.com/results/television.htmlhttp://html5test.com/results/mobile.html

    目前的电视通常得分高于目前的手机。但我怀疑这是否真的重要。

    无论如何,我不理解这些论点。举个例子:“任何人都可以在一个周末坐下来开发一个应用程序,而无需支付任何费用”。

    是的?我在Android上也正是这么做的?

    “最初的目标是为移动市场提供这一点,然后我们将看看它如何发展!”

    这对他们有什么好处?为什么三星应该使用它而不是Android?

    2012年10月10日 01:56

    1. Xen

      我应该注意到“回复”链接……

      2012年10月10日 01:57

    2. 罗伯特·奈曼

      一些高端电视的分数确实很高,但它没有考虑实际性能、渲染质量等。据我所见,电视在这方面还有很长的路要走,但它们确实正在变得越来越好。

      在开发应用程序方面,你可以在Android上做到这一点,但通常在分发时,你需要承担成本。不过,我相信那里的重点是,使用HTML、CSS和JavaScript进行开发非常轻量级。

      对于任何硬件合作伙伴来说,我不能说他们的业务决策应该基于什么。但我们的一个运营商合作伙伴Telefonica看到了一个操作系统(其资源占用量不像Android那么高)的巨大潜力,因此理论上可以以更低的成本开发智能手机。

      2012年10月10日 06:47

    3. 罗布·霍克斯

      关于“免费开发”的论点……这并不是JavaScript独有的,它纯粹是一种吸引力,也是它如此广泛流行、拥有大量文档的主要原因之一。

      我并不是说JavaScript在这方面是独一无二的。

      2012年10月10日 06:52

  12. 迪潘卡

    我个人一直密切关注Firefox OS,并且相信这将改变低端智能手机市场运作方式的动态。在我看来,Android及其花哨的功能完全忽略了这一点。作为各种Android设备的最终用户,我确实希望Firefox OS在以下方面优于Android

    1. 更轻松的操作系统升级,这是关键。使其变得非常简单和线性。没有Cyanogenmod等等。
    2. 关键用户体验功能的一致性,某些东西应该保持原样。你不能总是期望父母们每次发布新版本时都弄清楚新的应用程序启动器是如何工作的。
    3. 必须能够轻松同步基本的音乐和文件,必须存在类似iTunes的东西来简化桌面与手机的连接。

    我认为即使是高端智能手机也应该使用Firefox OS!我期待旅程的其余部分,并希望上述问题能够作为体系结构/平台规范得到解决。

    我对B2G的行为方式仍然是新手,希望我说的内容不是已经在开发中了!

    2012年10月10日 03:28

    1. 罗伯特·奈曼

      感谢你的反馈!
      就我个人而言,我绝对同意第1点和第2点,这也是我所希望的。

      关于第3点,我认为不需要单独的应用程序,只需能够轻松地从Windows资源管理器/Finder传输文件即可。

      2012年10月10日 06:42

      1. 马修·巴布斯

        我认为关于将文件/媒体传输到手机上的要点是,对于普通人来说,“如果需要思考,这件事就不会完成”。它不一定要内置到操作系统中——你可以使用 Dropbox(文件)和 Ubuntu One(文件,媒体付费版)等服务来解决。但是,内置文件/媒体同步功能,无需通过云端,这绝对是苹果的优势。

        对于 v1 版本来说,这当然不是必需的,但从长远来看,“适用于 PC 的 Firefox 主页”将非常不错。特别是如果它可以在不需要 USB 的情况下同步!

        2012年10月10日 07:42

  13. Brian Lowe

    “因为我们能做到”永远不是做任何事情的正当理由,尤其是在你着手某个大型项目时,这个项目将需要任何尝试使用它的人投入时间和精力。

    我需要这样的承诺:
    它比其他产品使用起来更快
    它的许可证费用更低
    它更健壮或更可靠
    它更容易利用
    它拥有庞大的用户群
    它占用更少的资源
    它具有前瞻性

    你可以用 Java、C 或汇编语言,或其他几十种语言编写一个新的操作系统,重要的问题是“我应该这样做吗?”,而不是“我能够做到吗?”

    2012年10月10日 16:00

    1. 罗伯特·奈曼

      我部分同意,部分不同意。关于你要求的承诺,我只能说它们是重要的因素,我们自然会努力满足所有这些因素。

      当谈到语言和 Firefox OS 背后的原因时

      Mozilla 认为网络需要开放。随着我们在移动领域看到的转变以及各种操作系统变成孤立且无法互操作的孤岛,需要一个基于开放技术的替代方案。

      这样,你就不必为 Firefox OS 定制构建东西,而是为 Web 构建东西,无论哪个设备访问它。

      所以,我相信我们应该这样做。为了表明存在替代方案(就像 Firefox 对抗 Internet Explorer 一样),并展示开放 Web 的可能性。

      2012年10月11日 04:12

  14. Ken Corey

    Biolab 确实不应该被用作移动浏览器端 JavaScript 游戏的示例。

    如果你阅读幕后讨论,开发人员所做的是自己编译一个 JavaScript 核心库,并在 OpenGL 中模拟了足够多的 Canvas API,以便 JavaScript 能够流畅运行。
    http://impactjs.com/ejecta

    不要误解我的意思,我 *非常* 希望看到这成为一种可行的跨平台方式来交付 JavaScript 游戏……我只是想知道我们是否真正实现了跨平台。

    WebView 中的 JavaScript 仍然难以用于游戏,/尤其/是在廉价手机上。Phonegap 对于小型程序很有趣,但对于大型程序来说,它就没有那么强大了。

    我迫不及待地想看看 Mozilla 如何绕过这些限制和瓶颈。

    -Ken

    2012年10月10日 23:05

    1. 罗布·霍克斯

      你提到的 Biolab(以及 Impact/Ejecta)的方面是处理移植 JavaScript 游戏以便它们能够在 iOS 上“原生”运行的部分。这不是在桌面、移动或 Firefox OS 上的浏览器中运行的部分。

      在 Firefox OS 和任何其他浏览器上运行的核心 Impact 引擎(以及 Biolab)是纯 JavaScript,没有自定义二进制文件或模拟对 OpenGL 的调用——它 100% 是浏览器技术。

      看到这种纯 JavaScript 实现能够在非常低端的设备上实现大约 60fps 的帧速率,证明了 JavaScript 的发展已经走到了多么远。在高端设备(Firefox OS 不会在其上发布)上,帧速率甚至更高。

      换句话说,Firefox OS 不是在 WebView 中运行,因此它可以访问硬件的全部功能,而无需在幕后跳过许多障碍。与在 Android 中运行的浏览器相比,你会对这些 Firefox OS 设备可以挤出的性能感到惊讶——Firefox OS 快得多。

      我们当然知道移动性能还没有达到理想状态(我们正在努力改进它),但情况比你想象的要好得多。

      2012年10月11日 04:43

  15. Mike

    Firefox OS 需要带来一些与众不同的东西,以避免成为另一个“我也是失败者”。WebOS 尽管拥有(在我看来)远优越的 UI 体验,但还是失败了。RIM 基于 QNX 的新操作系统也将遭遇同样的命运,尽管它拥有比 Android 和 iOS 更好的 UI 体验。这再次是我的观点。此外,根据我的长期经验,Firefox 是我所有桌面操作系统上最慢的浏览器,经常慢得令人痛苦。在性能较低的移动平台上,这种情况会如何改变?请原谅我如此愤世嫉俗的评论,但这感觉就像 Firefox 举手并吱吱叫着“别忘了我”。

    2012年10月11日 04:34

    1. 罗伯特·奈曼

      UI 当然是一部分,但它也取决于性能、应用程序、功能等等。我同意它需要脱颖而出。

      对于开发者来说,目标是他们可以重用他们现有的 HTML、CSS 和 JavaScript 技能来构建完整的移动应用程序以及 Web 应用程序。

      我认为我在性能方面是从不同的角度出发

      a) 我认为桌面版的 Firefox 正在变得越来越快。如果它对你来说慢得令人痛苦,那听起来不太对劲,你应该联系 Firefox 支持 看看你能做什么(例如,可能与旧的配置文件有关)

      b) 在我看来,在非常弱的移动设备上看到 Firefox OS 的实际运行后,我确信可以实现非常好的性能。

      2012年10月11日 04:50

  16. Ahmed Nefzaoui

    我同意 Dipankar 关于第 3 点的看法……不仅是同步音乐,而且类似 iTunes(并且更扩展)的桌面应用程序可以让你直接从桌面安装你的 FFOS 应用程序,也许还可以管理联系人、个性化配置和短信 :)

    2012年10月14日 07:49

    1. 罗伯特·奈曼

      讨论人们普遍的需求和期望很有趣。我们将看看会存在什么样的同步操作。:-)

      2012年10月14日 20:36

      1. Steve Price

        有了你正在开发的 WebUSB API,或许可以编写和打开 Web 应用程序,用户可以将其安装在台式机/笔记本电脑上,从而实现“同步”。所有这些新的 API 都提供了无限的可能性,无论是在移动设备上还是其他设备上。

        2012年10月15日 19:45

  17. Fabien

    非常感谢这篇文章。
    我喜欢 Mozilla,尤其是这个新项目。
    每个智能手机上的用户界面都会相同,还是制造商可以在 Firefox OS 之上开发自己的用户界面?

    2012年10月27日 13:08

    1. 罗伯特·奈曼

      希望任何人都可以调整他们手机的用户界面,因为它们都是 HTML5、CSS 和 JavaScript。但确切的工作方式仍在决定中。

      2012年10月28日 16:39

  18. Ahmed Nefzaoui

    与我上一条评论相关……Airdroid 是我所说的应用程序示例……它实际上是一个可以在浏览器中打开的 Web 应用程序,使用 Wi-Fi 连接连接你的设备……并且在使用其 Web 界面时,你可以控制设备和操作系统的几乎所有部分,希望这样的想法可以与我们可爱的 Firefox OS 一起发布 :)

    2012年10月28日 18:21

  19. Phil Holden

    我还没有智能手机。我是一名 Web 开发人员。我想要一部手机,在那里我可以编写任何脚本。我希望 Web 感觉像主要或唯一的东西,而不仅仅是众多应用程序中的一个。如果每个菜单屏幕都只是由内部 Web 服务器提供的网页,我就可以根据我使用它的目的来优化我的手机。如果我可以使用 Git 部署到它上面,那就太好了。

    2012年11月4日 02:32

  20. Andy

    首选的 JavaScript 框架是什么?jQuery Mobile?Sencha Touch?自己动手最好吗?

    2012年12月29日 18:44

    1. 罗伯特·奈曼

      好吧,我建议你首先尝试在没有任何外部 JavaScript 框架的情况下进行尝试,以了解环境和提供的各种 Web API。

      然后我会评估是否需要库——这完全取决于你想要做什么。

      此外,我建议查看 fxosstub 以获得一个简单的起点。

      2012年12月30日 13:17

      1. Andy

        我试了一下,但没有任何图形、小部件或页面过渡,最终在没有框架的情况下很难完成很多事情。你是否推荐像 Bootstrap 这样的东西来完成一些工作?

        2013年1月1日 15:36

  21. Ronnie

    我是一名来自印度的 16 岁学生,也是一名技术爱好者……

    在过去 2 到 3 年里,我一直在使用 Web 技术进行开发……
    而且在我所有的测试中,实际上 Firefox 从未失败过……并且由于我们正在
    在移动设备上以原生方式获得它,看看学生群体将如何参与开发将会更好……

    来自多个国家的许多学生,有些甚至更年轻,实际上可以用 JS 创造奇迹……因为,它很简单,并且可以在“他”或“她”的笔记本电脑/PC/手机上运行

    现在,谈到这一点,当他们看到我的手机应用程序和 PC 同步得有多好时,他们就会站出来支持我们……

    这就是 Firefox 对学生群体来说……一种释放的力量……任何有激情的人都可以控制它……

    2013年1月4日 01:05

本文评论已关闭。