来源:InfoQ
谷歌可能想用 Fuchsia 证明自己对未来的探索。
作者:核子可乐、Tina
5 月 25 日,谷歌迈出了重要的一步。
在研发计划曝光数年之后,谷歌终于向市场推出了 Fuchsia OS:从 Nest Hub 开始,谷歌的操作系统可以在实际的消费类设备上运行了。据 9to5Google 报道,谷歌已经向其确认,Fuchsia OS 将向 2018 年发布的初代 Nest Hub 智能显示器推出。更新后的 Nest Hub 将不会有功能改变,但系统底层将由基于 Linux 的 Cast OS 变更为 Fuchsia OS。
谷歌 Fuchsia OS 项目技术负责人 Petr Hosek 在推特上庆祝了新平台的发布:「今天是个重要的日子,我们发布新操作系统啦!」
Nest Hub 基于 Fuchsia OS 的更新会在未来几个月内陆续推出,考虑到界面和体验将保持不变,用户可能不会有直接的感知。自 2016 年以来 Fuchsia 的发展一直备受关注,从实验性的用户界面开始,一直到运行至一些内部测试设备,包括谷歌智能家居和 Chromebook 系列的全部产品。如今,谷歌宣布将在几个月内为初代 Nest Hub 智能显示器用户推送 Fuchsia OS,这表明它已经准备好在个人设备上提供服务。
不过,Fuchsia 不只是智能显示操作系统。彭博社(Bloomberg)于 2018 年发布的一份报告迄今都完全命中 Fuchsia 的发布计划,其中提到谷歌希望「在三年之内」首先在联网的家用设备上发布该操作系统。该报告还指出了 Fuchsia 的下一步措施,包括计划在 2023 年大规模扩张到智能手机和笔记本电脑。
谷歌在 Fuchsia OS 上投入了数百人,经过五年多的发展,Fuchsia OS 已经开始引起其他行业巨头的关注。最近,三星开始与谷歌合作开发该项目。很多人猜测 Fuchsia OS 未来可能会全面取代 Android 与 Chrome OS,而三星可能会成为最先抛弃 Android 改用 Fuchsia OS 的手机厂商。
谷歌 Fuchsia OS 是什么?
Fuchsia 是一套全新的操作系统,其项目定位一直在发展变化。
作为一套新的操作系统,Fuchsia 最初于 2016 年首次亮相于谷歌代码库与 GitHub,该项目完全开源:https://fuchsia.googlesource.com/。更重要的是,Fuchsia 并非基于 Linux 内核,而 Linux 内核又恰恰是 Android(谷歌打造的移动操作系统)与 Chrome OS(谷歌台式机与笔记本电脑操作)的核心基础。很明显,Fuchsia 承载着谷歌更大的野心。
谷歌 Android 工程副总裁 Dave Burke 在 2017 年接受采访时如何介绍 Fuchsia:「Fuchsia 是一个早期实验项目。大家可能都知道,我们在谷歌筹划过不少非常酷炫的早期项目。我认为最有趣的点在于 Fuchsia 直接开源,每个人都可以查看成果并做出评论。与其他早期项目一样,Fuchsia 也会不断发展变化。」
时间到了 2018 年,Fuchsia 开发者 Travis Geiselbrecht 通过公共 Fuchsia IRC 频道强调,这套操作系统绝不是「玩具」,于是情况变得更加扑朔迷离。他证实称,Fuchsia 的开发进度已经颇为可观,而且参与其中的谷歌开发人员可以随意进行兴趣化探索。在他看来,Fuchsia「绝不是那种用掉就丢的垃圾项目。」
之后的两年 Fuchsia 蜇伏了起来,直到 2020 年谷歌再次推动宣传,希望通过平台开放为其吸引更多软件开发支持者。2021 年初,先是项目的 F1 分支,之后又有 F3 分支,随着一个个重要代码开发步骤的落地,Fuchsia 的面貌及发展方向也开始愈发清晰,事实证明这套操作系统已经达到了一系列重要发展里程碑。
谷歌 Fuchsia OS 的意义何在?
Fuchsia 只是一套内核。谷歌可能想用 Fuchsia 证明自己对未来的探索。
与基于 Linux 的 Android 或 Chrome OS 不同,Fuchsia 基于 Zircon(原名 Magenta)构建而成。该内核开始时使用的是 C ++ 代码,为了实现其安全目标,现在正朝着 Rust 发展(现在已经达到 50%)。一年前谷歌还向 Fuchsia 添加了对 Swift 的支持。
目前比较流行的观点是,Fuchsia 应该代表一款新型操作系统,未来用于将 Chrome OS 与 Android 统一在同一套系统之下(自 2015 年以来始终存在此类传闻)。但根据最近浮出水面的说明文档、代码以及 UI 来看,这套操作系统好像并不是 Android 与 Chrome OS 的融合体、甚至不属于任何完整操作系统。目前,它还只是个内核项目——也就是操作系统的核心所在。
谷歌公司在内部文档中指出,Fuchsia 主要面向采用「高速处理器」加「低内存容量」的「现代手机与个人计算机平台」。文档还明确提到,「Fuchsia 不是 Linux」。Fuchsia 的 GitHub 页面上出现了两位顶尖嵌入式系统开发者的姓名,一位是谷歌高级软件工程师、另一位则是前 Android TV 与 Nexus Q 项目工程师。
此外,卡片化设计的早期用户界面 Armadillo 内置于谷歌的 Flutter SDK 之内,而后者专门用于创建可在多种设备及操作系统上运行的跨平台代码。使用 Armadillo,用户可以随意拖动不同卡片实现屏幕拆分、或者在选项卡式界面中使用。
同时,Fuchsia OS 的核心独立于硬件规格,使用模块化方法,这意味着它将不再是一大堆代码,而是将其分割成多个构建块或「包」,制造商能够根据设备选择 Fuchsia 的功能。
Fuchsia OS 中的模块化,来源 : 9to5Google
Fuchsia 的模块化框架带来的另一个优势是,它可能仅通过安装更新的组件就可以添加新功能。从实际出发,模块化不仅可以解决系统更新时可能出现 Bug 的问题,而且还可以加快应用程序的更新速度。这种模块化方法对于 Fuchsia 所提供的统一体验至关重要。
因此有猜测,未来我们可能会看到 Fuchsia 与其他新兴技术融合在一起,发展成为一个集合的、相互连接的设备系统,这样操作系统就不会单独运行在每个设备上。取而代之的是,可以在每个设备上以分散化的实例形式运行这个无所不包的 OS,所有这些实例都可以协同工作。
谷歌 Fuchsia OS 会取代 Android 吗?
新系统确实能解决 Android 中的不少问题。但 Android 已经全面铺开,何必重新发明轮子?
Android 最初是为带有 QWERTY 键盘的智能手机设计的,后来逐渐适配触摸屏控制。并且有说法是 Android 在设计时并未考虑虚拟现实或增强现实。鉴于它已经有十年历史了,因此如果谷歌希望应对下一个十年的挑战,那么比起修改 Android 代码,也许重新开始设计一个新操作系统才是更好的办法。
Android 本身的碎片化问题仍然很严重,根源当然是几十家手机制造商推出的数百款设备都在使用不同的自定义 Android 版本。另外,由于 Android 系统为开源项目,所以在更新方面也有不少冲突。谷歌为 Android 制定了年度更新发布时间表,但要真正向整个生态系统推开还需要一段时间。
目前,谷歌仍然只能将 Android 新版本交付给 OEM 厂商和电信运营商,再由他们安装并加载至目标硬件上,这种无法由谷歌直接控制的体系必然导致碎片化加剧。另外,Android 还基于 Linux 内核,而后者目前不仅面临诸多法律问题的困扰,而且内核还经历了一番全面调整,极大提升了出现 bug 及安全漏洞的可能性。
也许一套全新操作系统平台能帮助谷歌解决以上所有问题,同时也将有效回避昂贵的专利许可成本。由于从零开始构建而成,这套现代化操作系统将更安全、更可靠且优化度更高。另外,新系统既可以采用模块化设计、也可以强调统一性,保证更全面地覆盖各类设备。但无论如何展望,我们都需要回答最核心的灵魂拷问:Android 已经全面铺开,何必还要重新发明轮子?