Fuchsia 是由 Google 公司开发的继 Android 和 Chrome OS 之后的第三个系统,Fuchsia 基于 Zircon 内核,主打简约流畅高效以及跨平台。
Fuchsia 是由 Google 公司开发的继 Android 和 Chrome OS 之后的第三个系统,已在 Github 中公开的部分源码可以得知。Google 对于 Fuchsia 的说明是“Pink(粉红)+Purple(紫色)=Fuchsia(灯笼海棠,一个新的操作系统)”。
Google 的 Git 源码库出现了一种新的开源操作系统叫 Fuchsia,比较有趣的是,它不同于安卓使用的 Linux 内核,而是采用的比较新的 Zircon 的内核。该系统与当下 Android 相比,无论是存储器还是内存之类的硬件要求都大幅降低,可以看出这是一款面向物联网的家用电器用的系统。
据悉 Flutter 引擎+Dart 语言将很有可能成为 Fuchsia 系统主要的 UI 开发框架。谷歌 Fuchsia 选择 Flutter 作为 UI 并不令人意外,毕竟 Dart 语言由谷歌亲生,一方面不用担心被人起诉,另外当 Fuchsia 有需要时,也能灵活地在 Dart 虚拟机做出针对性的改变。
Fuchsia 系统支持 32 位和 64 位的 ARM 处理器和 64 位 PC 处理器。致力于 Fuchsia 系统的谷歌开发者的成员之一——Travis Geiselbrecht 称,Fuchsia 系统亦将于近期支持树莓派 3。
另有消息称,该系统的 UI 用户界面层使用的是 Dart 语言开发的 Flutter,渲染器是 Escher,应用程序框架是 Mojo。
参与该项目开发的知名开发者包括了 Travis Geiselbrecht 和 Brian Swetland。
性能特征
第一,Fuchsia 使用了一个硬实时操作系统的内核;
第二,Fuchsia 内置了一个叫做 escher 的基于物理的三维渲染器。
这个新的使用环境的新特性就是这两个不同点——硬实时、基于物理的三维渲染。
目前来看主流的操作系统使用环境是不需要这两个特性的,需要这两个新特性的使用环境只有一个,那就是 Mixed Reality 混合现实。MR 需要把虚拟的三维物体叠加到现实世界中,所以就需要一个三维的用户界面,而且为了让虚拟物体和现实世界无缝的融合起来,基于物理的渲染也是必不可少的。
MR 技术还需要的重要一点就是实时性,因为不管用户在现实世界中怎么运动、怎么晃动头部、操作系统在执行什么应用程序,都要保证放置在现实世界中的虚拟物体和现实世界始终保持一个固定的位置关系。任何延迟都会破坏 MR 技术的使用体验,所以 MR 需要一个硬实时、低延迟的操作系统。这么说 Fuchsia 就像一个为 MR 环境贴身打造的操作系统。因为即使是 VR 环境也对实时性没有这么高的要求。
所以可以猜想,Fuchsia 不是用来替代 Android 和 Chrome OS 的;Fuchsia 将会支持全新的计算平台;这个计算平台将会有统一的用户界面和用户与数字世界交互的形式,无论在移动环境还是在桌面环境中。
研发进展
谷歌自主打造的 Fuchsia 系统,基于 Zircon 内核,主打简约流畅高效以及跨平台。2017 年 11 月的时候谷歌曾表示,他们已经将旗下这套系统 Fuchsia 支持了苹果的 Swift 语言。
Fuchsia 希望能够统一安卓和 ChromeOS,其支持多达 4 个程序同屏同时运行(平板模式下),并且主页以直列的方式显示各种故事卡、应用集、系统组件等,有点类似多任务、多标签页的做法,但更简洁。
开发工具
Flutter 并不是要替代原生应用开发模式,可以用 Flutter 开始一个全新的应用,也可以把 Flutter 理解为应用内置的一个引擎,把这个引擎引入到现有的工程里。
Flutter 可以帮助构建界面 精美 的应用。们希望设计师们都能充分发挥自己的想象,尽情施展精美绝伦的创意,而不受框架局限性的干扰。通过 Flutter,可以在屏幕上有像素级的掌控。Flutter 强大的图像组合能力让近乎可以不受限制的堆叠任何图形、视频、文本和控件。Flutter 内置了一系列的 widgets (在 Flutter 里,几乎所有内容都是 widget),这些 widgets 可以帮助在 iOS 和 Android 上实现极致的视觉体验。Flutter 集成并有最大程度的实现了 Material Design —— 这是 Google 为数字体验所创作的开放的设计系统。
Flutter 的另一个特点的 速度快 。它基于 Skia 2D 硬件加速图形引擎,该引擎也同样用在了 Chrome 和 Android 平台。媲美原生应用的速度,这是们在构建 Flutter 时的初心。Flutter 的代码基于 Dart 平台,它可以被编译成 iOS 和 Android 平台上 32 位和 64 位的 ARM 代码。
Flutter 非常 高效 。Flutter 引入了 Stateful Hot Reload(保持应用状态的热重载),这个革命性的新特性可以让移动开发者和设计师们实时迭代应用程序。通过 Stateful Hot Reload,无需重新启动应用,你就可以在程序运行的时候直接看到代码修改之后的效果,Stateful Hot Reload 改变了开发者们编写应用的方式。在们的用户反馈中,开发者们表示该特性使得开发效率提升了三倍。
最后,Flutter 是 开放 的。Flutter 是一个基于 BSD-style 许可的开源项目,全球数百位开发者在为其贡献代码。Flutter 的插件生态系统平台也充满活力。有数千款插件已经发布,避免了重复造轮子。由于 Flutter 应用程序使用标准的 Android 和 iOS 的编译打包工具 (build tools),因此它的开放还体现在可以使用原生开发资源。比如,同样可以在 Android 上使用 Kotlin 或者 Java,在 iOS 上使用 Swift 或者 Objective-C 来写逻辑或者界面。
结合以上这些,再加上顺手的开发工具,比如 Visual Studio Code、Android Studio、IntelliJ 或其他青睐开发者编辑器,就可以开始使用 Flutter 体验一套代码同时在 iOS 和 Android 上实现原生应用效果的乐趣了。