关于flutter:杂谈什么是Google-Fuchsia

9次阅读

共计 4713 个字符,预计需要花费 12 分钟才能阅读完成。

Google 正在开发一个新的操作系统:借助 Fuchsia OS,该技术小组放弃了 Linux 体系结构,转而依附 自行开发的微内核 Zircon。Fuchsia 不仅能够代替台式机操作系统 Chrome 操作系统,而且能够代替专为挪动设备设计的 Android。只管事实上,Android 在当今市场上简直是无可比拟的。

Google Fuchsia 是将来的操作系统吗?咱们认真钻研了该我的项目。

什么是 Google Fuchsia?

Fuchsia 不仅是红色和蓝色之间的一种色彩,还是 Google 自 2016 年以来始终在公众背后开发的模块化,基于权限的 实时操作系统 的名称。该零碎应用 C,C ++,Dart,Go 和 Rust,并在古代 64 位 Intel ARM 处理器上运行。

事实

实时操作系统(RTOS)是一种可能响应事件并立刻或在预约工夫内提供处理结果的操作系统。

Fuchsia OS 的源代码已取得 开源许可证(包含 BSD,MIT 和 Apache 许可证),并且能够由 Google 公共 Git 存储库中的任何人查看和下载。这是无关该项目标综合文档。

依据文档,Fuchsia OS 同样实用于智能手机,平板电脑,笔记本电脑和台式计算机。自 2017 年 5 月起,Armadillo已成为具备图形用户界面的触摸优化用户界面(UI)。谷歌正在为 Fuchsia OS 开发一个桌面 UI,题目为Capybara。从那以后,有传言称 Google 正在致力代替简直无可比拟的 Android。

Fuchsia OS 如何工作?

Google 在开发 Fuchsia OS 方面开拓了新天地。能够说,该公司从过来的谬误中汲取了教训,尤其是在更新和批改 Android 和 Chrome OS 的局限性和问题方面。与已建设的 Google 操作系统的次要区别:Fuchsia OS 从头到尾都是模块化的。这不仅反映在模块化零碎体系结构中,而且反映在对应用程序是什么的全新了解中。

模块化利用设计

Google Fuchsia 基于模块化设计,突破了应用程序的概念。软件单元称为 软件包 软件包 是一个被选中的文件—包含元数据、清单文件和可执行元素。后者在 Google 术语中称为 组件

Fuchsia 组件 最靠近咱们明天所说的应用程序。每个组件执行特定工作,并且能够与其余组件组合以编程一个更简单的应用程序。组件由清单文件以及相干的代码组成。组件始终在本人的沙箱中运行,通过名称空间拜访对象,并通过导出目录公布它们。Fuchsia OS 专一于两种类型的组件:模块 modules)和 代理agents)。

agents组件在后盾工作,并为其余组件提供服务。agents由另一个组件或零碎调用 - 例如,响应某些触发(例如推送告诉或其余屏幕解决)。

modules是具备用户界面的组件,这些组件在前台执行,对用户可见。操作系统中的每个模块都是为特定工作而设计的,并进行了相应的标记,以便能够在须要时主动对其进行拜访。这是应用模块的性能实现的,能够应用所谓的 动词 名词 来形容。

每个模块都包含一个verbs 列表,示意模块能够执行的工作,以及一个nouns 列表,示意正在应用的实体。依据谷歌术语,实体包含作为结构化数据对象存在的任何惟一可辨认的人、地点、事物、事件或概念,这些数据对象能够被援用和检索、出现、操作或共享。

因而,在理论中,应用实时操作系统 Fuchsia 的形式如下:用户执行操作后,Fuchsia OS 会主动为该工作确定适当的模块。所需的动作被翻译成动词和名词的组合。而后,零碎检索所有反对所需动词的模块的列表,并在下一步中依据还能够解决所需名词的模块进行过滤。

相干的模块能够分组到所谓的 stories 中。stories依据以后的需要组合不同的动作和工作,使用户可能依据本人的想法和需要组装简单的应用程序。

概要

= 借助 Fuchsia OS 的模块化应用程序概念,Google 将重点从应用程序转移到动作和内容。Fuchsia 的工作由所谓的 stories 中的一组组件来解决,而不是以后应用的应用程序的经典操作系统,该组件通过模块拜访以后所需的资源。

下图阐明了 Fuchsia OS 利用程序开发背地的模块化概念。

Fuchsia OS 的利用程序开发基于模块化构造。

模块化零碎架构

Fuchsia OS 的零碎架构也基于模块化办法。操作系统由四个或多或少的 独立级别组成 ,每个 级别 都有其本人的工作:Zircon,Garnet,Peridot 和 Topaz。

Zircon

Zircon(以前为 Magenta)是新的 Google 操作系统的根底,但严格来说,它不是 Fuchsia OS 的一部分,也能够与其余操作系统一起应用。

Zircon 蕴含 Fuchsia OS内核,设施管理器,最外围的第一层设施驱动程序以及底层零碎库(如 libc 和 launchpad)。此外,Zircon 还提供 FIDL(Fuchsia 接口定义语言),这是一种用于过程间通信的协定。FIDL 是独立于编程语言的,然而与风行的编程语言(例如 C,C ++,Dart,Go 和 Rust)具备分割。

作为 Fuchsia OS 的根底,Zircon 提供了对后续级别的硬件拜访,在共享硬件资源上创立了软件形象,并充当了低级软件开发的平台。Zircon 是 Project Little Kernel(LK)的后果,该我的项目充当 Android 的疏导程序。

Garnet

Garnet 是基于 Zircon 的第一款针对 Fuchsia 的零碎层。提供了设施级别的各种零碎服务以及网络,媒体和图形服务,例如,用于软件装置,系统管理以及与其余零碎的通信。Garnet 蕴含图形渲染器 Escher,程序包治理和更新零碎 Amber 以及文本和代码编辑器 Xi。

Peridot

Peridot 是 Fuchsia OS 的操作系统级别,依据以后用户要求在其上治理和编译模块化应用程序(请参见上文)。Peridot 的外围成分是 Ledger 和 Maxwell。

  • Ledger:Ledger 是基于云的存储系统(分布式存储系统),它为每个 Fuchsia 组件(模块或代理)提供独自的数据存储。这在不同设施之间同步。这使用户能够在以后 Fuchsia 的设施上持续停留在其余 Fuchsia 的设施上的地位。
  • Maxwell:通过 Maxwell,Google 在 Fuchsia OS 中集成了一个组件,该组件将给用户提供了人工智能。就像 Fuchsia 一样,Maxwell 具备模块化设计。AI 零碎由一系列代理组成,这些代理剖析用户的行为及其所应用的内容,在后盾确定适合的信息,并将倡议转发给操作系统 - 例如,应加载哪些模块或故事以适宜用户在特定工夫的行为。Google 语言助手也是 AI 组件的一部分,该组件将在 Fuchsia 我的项目的框架内以代码 Kronk 的 模式进一步开发。

    留神

到目前为止,Kronk 是 Fuchsia OS 惟一未作为开源我的项目开发的组件。

Topaz

Topaz 是 Fuchsia OS 的零碎级别,用户能够在其中与操作系统进行交互。在此显示以下级别定义的组件的用户界面:带主屏幕的图形用户界面(取决于设施 Armadillo 或 Capybara)以及模块的可视前端。Google 的跨平台开源挪动应用程序框架 Flutter 也已在此零碎级别集成。因而,能够假设 Fuchsia OS 用户未来也将可能运行和应用其余零碎的应用程序,例如 Android 或 iOS 应用程序。

Fuchsia OS 的四个零碎级别:Zircon,Garnet,Peridot,and Topaz

Fuchsia OS 的优缺点高深莫测

依照模块化办法,Fuchsia OS 的开发人员已将零碎体系结构划分为具备特殊任务的各个区域。这不仅进步了代码的可读性,而且影响 了操作系统 适应性和更新。除其余外,Google 解决了 Android 长期以来始终在致力的更新问题。

事实

Android 生态系统正在致力解决更新问题。查看官网散发仪表板能够看到:操作系统的新版本正在迟缓流传。这是竞争对手苹果不会面临的问题。只管 Apple 硬件和软件来自同一起源,能够间接进行批改,但每个 Android 更新必须首先由各种硬件制造商施行。

此外,模块化零碎架构可满足 Google 销售合作伙伴的需要,他们心愿依据本人的想法来适应或扩大 Fuchsia OS。

硬件制造商能够与本人的产品替换操作系统的各个级别,而不会影响其余级别的性能。例如,三星能够用本人开发的 TouchWiz 格调的用户界面代替 Topaz。亚马逊能够放弃 Peridot 和 Google Language Assistant,而为 Fuchsia OS 装备基于 Alexa 的基于 AWS 的利用程序模块。

在这两种状况下,设施制造商都能够提供 个性化的 Fuchsia OS 版本,而不会影响 Zircon 和 Garnet 性能或这些层的正式更新周期。

益处 毛病
Fuchsia OS 的模块化零碎架构使 Google 能够比 Android 更快地推出安全更新。 Google 使 Ledger 成为 Fuchsia OS 的外围组件。Ledger 管制跨多个设施的应用程序同步,从而将零碎严密地绑定到云。
因为采纳了模块化设计,硬件制造商能够用本人的模块替换 Fuchsia OS 的各个系统级别,而不会影响其余级别的性能。

倒退情况

Fuchsia OS 正在缓缓成形,但仍未筹备好投放市场。Google 甚至尚未发表正式公布日期。据媒体报道,第一批硬件测试曾经进行。作为首家测试 Fuchsia 操作系统的设施制造商,华为已胜利在 Honor Play 上启动了新操作系统。该智能手机装备了华为麒麟 970 芯片,该芯片还用于该制造商的其余设施中,例如 Mate 10,Mate 20 和 Mate 20 Pro。

Fuchsia OS 演示

Fuchsia OS 能够在开发阶段晚期编译为 APK(Android 软件包)并装置在 Android 智能手机和平板电脑上。该曼努埃尔 Goulão 在 mgoulao.github.io“>Fuchsia OS 演示版 Fuchsia OS 演示节目是什么样子。

如果在浏览器中拜访 Fuchsia OS 演示,则会看到一个网站,其中显示了操作系统的启动屏幕。这为用户提供了背景图像和以后工夫。此外,还有三个按钮可用:一个用于关上 Wi-Fi 设置的按钮,一个用于注册用户的登录按钮以及一个来宾登录。

该演示仅容许您注册为访客。

Armadillo –为触摸屏优化的 Fuchsia OS 图形用户界面 / 起源:https://mgoulao.github.io/fuc…

注册用户能够拜访 Fuchsia OS主屏幕,该屏幕在一页上显示所有信息。

主屏幕上最突出的元素是屏幕地方的窗口,其中蕴含 Google 搜寻栏,Google 语言向导和设施上装置的应用程序。

借助 Fuchsia OS,Google 放弃了具备多个屏幕的设计,这在 Android 或 iOS 中是常见的,而是在主屏幕上显示所有内容。材料起源:https://mgoulao.github.io/fuc…

如果您启动一个应用程序(仅使该演示作为虚构对象可用),您会看到 Google 抉择了基于 窗口的 用户界面。

启动的应用程序在独自的窗口中执行,并在主屏幕上以图块模式显示给用户。材料起源:https://mgoulao.github.io/fuc…

单击主屏幕两头的用户图像会关上一个菜单,其中蕴含罕用 设置

只需单击即可拜访罕用设置,例如 WIFI 和蓝牙设置,音量和亮度。材料起源:https://mgoulao.github.io/fuc…

参考资料:

https://www.theverge.com/2020…

https://arstechnica.com/gadge…

https://www.ionos.com/digital…

正文完
 0