- 《架构师》2021年6月
- InfoQ中文站
- 2482字
- 2021-07-22 14:30:30
终于!Fuchsia OS正式公开可用,谷歌迈出了五年来最关键的一步
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已经全面铺开,何必还要重新发明轮子?
延伸阅读:
https://9to5google.com/2021/05/25/google-releases-fuchsia-os-nest-hub/amp/
https://www.pocket-lint.com/laptops/news/google/138518-google-fuchsia-os-what-s-the-story-so-far