Fuchsia 是什么?Fuchsia OS 的未来如何?

13,567 阅读4分钟

今天意外地看到 Fuchsia 系统即将进入 “dogfood” 测试,也就是开发者已经对系统开始亲自测试的阶段,未来不远就可能进入公开测试阶段了,这对于 Flutter 开发者来说算是一个好消息。

Fuchsia 是 Google 开发的继 AndroidChromeOS 之后的第三个系统,它是在 2016 年首次被人提及,之后陆陆续续曝光的信息也可以看出 Fuchsia 是计划运行在智能手机、智能家具、电脑等设备之上,而目前看到最有可能采用 Fuchsia OS 的就是各类智能嵌入式设备

因为目前 Android 在手机平台上相对稳定,而通过物联网相关的智能设备如:智能音响、电视等开始试水风险较低。

Fuchsia 的独特之处在于它并非是一个 “Linux ” 相关的系统,而是采用了 Google 自己研发的全新微内核 Zircon,并使用 DartFlutter 作为界面开发的语言和框架

Linux 无关

因为 Linux 的 GPL “污染”,在 Fuchsia 之前 Google 其实对自己的操作系统是没有完全控制权的,而 Fuchsia 系统摆脱了 Linux ,所以也就摆脱了 GPL 开源协议的“污染”, FuchsiaZircon 内核采用的是混合开源协议(BSD 3 clause/MIT/Apache 2.0),而这样的选择显然可以让 Google 对系统更有控制力度。

因为 Linux 采用 GPL 开源许可证,一旦有代码涉及 Linux 部分的代码也需要被开源,所以当年 Android 不得不用 HAL 中间层来保护各大厂商的“利益”。

事实上目前的 Android 在非手机的智能设备上并不符合谷歌未来的期望,而相对较"轻"和自由的 Fuchsia 成了 Google 新的目标,毕竟之前 AndroidChromeOS 的底层都是 Linux,而 Linux 对于 Google 来说是不可控的。

Flutter

是的,说到 Fuchsia 就不得不说 DartFlutter,对很多开发者而言可能还不知道 Fuchsia ,但是一定听说过 DartFlutter

Flutter 作为谷歌推出的跨平台 UI 框架,2019 年 Flutter 成为跨平台开发的“新贵”,Flutter 框架目前支持 AndroidiOSWebMacOS 等平台,WinLinux 也在后续的支持计划中,所以从这里可以看出 Google 对于 Fuchsia 的部署还是相当有战略性,从 Flutter 的布局可以折射出:Google 希望通过 Fuchsia OS 去统一整个生态圈的表现

为什么说 Fuchsia 的部署具备战略性呢?正如当年 WinPhone 其实也相当优秀,但是在和 AndroidiOS 的竞争中却逐步失利,其中最大的外在原因之一就是:生态

所以这次 Google 在 Fuchsia 还未成熟之前,就先通过 Flutter 框架培养了一群应用开发者,并且通过 pub 插件平台提供了一系列的第三方持

虽然不能说 Google 会全力推广 Fuchsia, 但是在 Fuchsia 的未来上可以说是"步步为营",比如接触过 Flutter 的开发者(Android/iOS/Web)可以更简单地在需要时转化为 Fuchsia 开发者,并且可以很快地将现有的应用或者功迁移到 Fuchsia 上,这是潜在的生态价值

粗旷点说:就像当年很多 Java 开发者可以转入 Android 一样,现阶段的 Flutter 开发者就是未来的 Fuchsia 开发者

Midori 曾是微软做过关于操作系统的全新尝试,但是在面对移植 Windows 功能代价不可接受的情况下被放置了。所以生态和成本是一个新系统的基石

另外, Fuchsia 在开发上彻底脱离了 JVMJAVA ,这样的好处就是: Dart语言是由 Google 亲生的,既不用担心被人“起诉”,又可以自由地修改 Dart 虚拟机,同时是 Flutter 使用 Dart 也不用再和 Oracle "相亲相爱"

最后可以看到,如下图所示是 Fuchsia 语言策略,其中大家比较不熟悉的 FIDL 其实就是: Fuchsia Interface Definition Language is the IPC system for Fuchsia ; 而 CC++ 是常年必备;Dart 也可以看到是 Flutter 的重要组成部分。

Fuchsia 的未来还不好说,但是至少目前的状态看起来还不错,不过 Fuchsia 是否能在国内取得和 Android 一样的成功这就不好说了,不过保持关注是没有错的,毕竟它是开源的,未来或者会有 CV 进阶版呢?