谷歌第三款移动操作系统Fuchsia放弃Linux内核

jopen 7年前
   <p style="text-align:center"><img alt="谷歌第三款移动操作系统Fuchsia放弃Linux内核" src="https://simg.open-open.com/show/03cf10c984035877968cc07119fe90bf.jpg" /></p>    <p>谷歌从来都没有想过凭借一款产品征战市场,它显然不满足于 Android 和 Chrome OS,它正在努力开发一款名为“Fuchsia”的开源、实时 OS。</p>    <p>这款操作系统曾在去年 8 月让世人惊鸿一瞥,但是当时它还只是一个命令行,现在这个神秘项目的用户界面(UI)终于浮出水面。</p>    <p>与 Android 和 Chrome OS 不同,Fuchsia 并不是建立在 Linux 之上,它采用的是谷歌自主研发的微内核“Magenta”。在 Fuchsia 项目上,谷歌不仅放弃了 Linux 内核,而且还丢掉了 GPL。这款操作系统是按照 BSD 3 条款、MIT 和 Apache 2.0 进行授权的。放弃 Linux 内核或许有些令人意外,但是 Android 生态系统似乎并不打算跟着上游 Linux 同步升级了。甚至连谷歌的 Pixel 手机也还在使用 2014 年底发布的 Linux 3.18 版内核。</p>    <p>据谷歌公布的文件显示,Magenta 主要面向搭载快速处理器、较多 RAM、支持可进行开放计算的任意外设的现代手机和现代个人电脑。谷歌没有解释开发 Fuchsia 的原因以及它的应用方向。从现代手机来看,它似乎要跟 Android 竞争,但是现在这款操作系统还处于开发初期,因此一切都还是未知数。</p>    <p>说起 Fuchsia 就不得不提到拥有相同代码名称的另外一百多个相关项目。这些应用和接口是利用谷歌的 Flutter SDK 编写而成,Flutter SDK 项目旨在编写兼容 Android 和 iOS 平台的跨平台代码。Flutter 应用是用 Dart 语言编写而成,它是谷歌根据 JavaScript 语言改编而成的一种编程语言,专注于高性能、120fps 的应用。它还有一个基于 Vulkan 的图形渲染器“Escher”,这个图形渲染器有一项名为“Volumetric soft shadows”的功能,是专为投影丰富的“Material Design”接口而定制的。</p>    <p><strong>Fuchsia 系统 UI:Armadillo</strong></p>    <p>Fuchsia 的接口是用跨平台的 Flutter SDK 编写而成,这就意味着你可以把大量 Fuchsia 应用放在 Android 设备上运行。Fuchsia 最早在 2016 年 8 月亮相,但是当时对它进行编译只能得到一个命令行。在 Hotfixit.net 的帮助下,Fuchsia System UI 即“Armadillo”才开始变得有趣。</p>    <p>你可以下载源代码并将 Fuchsia 的系统用户界面编译成一款 Android APK,然后将它安装到 Android 设备上。它包括一个全新的主页屏幕、键盘、主页按钮和窗口管理器。当然这些组件都还不能工作,它们只是一堆界面元素。Fuchsia 源代码中还有一份说明文件,描述了各项元素的使用方法和用途。</p>    <p>主页屏幕是一个巨大的垂直卷轴清单。你可以在屏幕中心看到头像、日期、城市名称和电池符号。上方是“Story”卡片,它的功能与“Recent Apps”(最近使用过的应用)基本相同,下方是一个卷轴清单,类似于 Google Now。离开主页屏幕,下方就会弹出一个主页按钮,从表面上来看它就是一个白色的圆圈。</p>    <p>中心处的头像可以更换,其中包括一个类似于 Android 的“Quick Settings”(快速设置)的菜单。顶部的一排图标可以显示电池电量和连网情况。下方是调节音量和亮度的滑动控制条和飞行模式以及自动转屏等功能的图标。你可以使用这些按钮和滑动控制条,但是它们在 Android 系统中无法使用的。再往下则是“log out”(退出登录)和“more”(更多功能)的按钮,当然它们在 Android 系统中也是无法使用的。</p>    <p>档案区上方是一些标记着“Story”的卡片。据说明文件显示,这是一些应用和/或模块,它们可以配套工作以帮助用户实现某个目标。这跟最近使用过的应用清单很相似,也许最终会添加某种分组功能。点击任何一个卡片,系统就会加载该应用的全屏幕界面;其中一个卡片标记的是“电子邮件”,显然这些卡片对应的是各种应用。这个清单是按照“最后打开时间”进行分类的,因此最后打开的卡片将位于清单的底部。</p>    <p>这个清单还有一些窗口管理的功能。长按某个卡片就可以拖动它,如果你把它拖到另一款应用的上方,就会触发分屏模式。这个分屏系统似乎可以使用,但可能还需要进行一些调整。你可以进行水平或垂直方向的 50/50 分屏,还可以拖动第三款应用进行 33/33/33 分屏,或者进行 25/25/50 分屏。你还可以拖进第四款应用,在屏幕一侧进行 75/25 分屏,同时在另一侧也进行 75/25 分屏。你还可以拖进更多的应用,直到系统无法支撑而崩溃。回到 Story 清单,你可以看到分屏布局也会被反映在卡片上,这项功能倒是很不错。</p>    <p>底部的“Google Now”面板上有一个搜索条模块。点击该模块会弹出一个键盘,但它并不是 Android 系统键盘,而是一个定制的 Fuchsia 界面。它有一个全新的、黑色界面,只是上面的各种图标或设置还无法使用。它下面就是 Google Now,其中有一些“建议”卡片,但是它们与 Google Now 的新闻、天气和日历建议不太一样,据说明文件称,从概念上来说,一个建议对应着用户可以采取的一项行动,这可以增强现有的应用或开启一个新的应用。从这个角度来说,它跟应用启动器倒是很像。</p>    <p><strong>Fuchsia 要走的路还很长</strong></p>    <p>对于谷歌的任何新项目而言,我们都无法预测其规模会在未来发展到何种程度。它有可能在一年后就被公司遗忘吗?或者变得更加重要?幸运地是,Fuchsia 项目的开发员对此发表了直接声明。据 Fuchsia 开发员特拉维斯-盖斯布里奇特(Travis Geiselbrecht)在 Fuchsia IRC 公开论坛上说:“这款操作系统并不是小打小闹,它不会是 20% 项目,它不是用来埋葬我们不再关注的过时产品的垃圾堆。”</p>    <p>在 iPhone 问世之前,谷歌就开始构想 Android 系统了。谷歌最初是想为相机开发一款操作系统,之后它变成了黑莓的克隆体,苹果发布了 iPhone 之后,谷歌才迅速调整了它的应用方向,变成了针对手机的操作系统。实际上,谷歌现在仍然坚持着它在多年前作出的决定,那时它根本没有想过 Android 系统会是一款移动 OS,更没有想到过这款系统会被安装到数十亿部智能手机上。</p>    <p>Android 系统现在面临的两个最大的问题是:1、将 OS 升级推广到所有的第三方硬件产品上;2、没有将重点放在打造流畅的 UI 性能上。</p>    <p>虽然谷歌在升级计划中没有提到它将如何解决这两个问题,但是这款操作系统对 Dart 编程语言的依赖性意味着它最关注的还是高性能。</p>    <p>Fuchsia 就像是一个为了解决“如果可以从头再来,现在我们会如何设计 Android 系统”这个问题而推出的一个项目。它是一个全新的、谷歌自主研发的内核,运行在全新的、谷歌自主研发的 SDK 之上,使用的是全新的、谷歌自主研发的编程语言,可以尽可能快地运行谷歌的 Material Design 界面。谷歌打算放弃 Linux 和 GPL,它还可以放弃 Java,避免与甲骨文产生摩擦,它可以让自己与所有的 Android 上游项目隔离开来,一切都靠自主研发完成。以 Android 系统如今的规模来说,这样做可能是一个庞大的项目。</p>    <p>最难的可能还不是开发操作系统本身,而是从 Android 到 Fuchsia 的迁移计划。Flutter SDK 的跨平台特性听起来对于迁移计划很重要。如果谷歌可以说服开发商开始在 Flutter 中编写应用软件,它就可以打造一个能在 iOS、Android 以及最终在 Fuchsia 上运行的应用生态系统。谷歌还说,它能够并且愿意让 Android Runtime 在使用 Chrome OS 的非 Android 平台上运行,因此如果谷歌选择继续实施迁移计划的话,也许它可以将整个 Android 应用库搬到 Fuchsia 平台上去。</p>    <p>早在去年 8 月 Fuchsia 首次公开亮相的时候,盖斯布里奇特就在 Fuchsia IRC 论坛上说过:“Magenta 项目在 6 个月前就启动了,也就是说大概在 2016 年 2 月左右启动。Android 在作为正式产品被发布之前,谷歌进行了 5 年多的研究。如果 Fuchsia 的研发进度跟 Android 相当,并且一切顺利的话,它有可能在 2020 年左右与消费者见面。当然,别忘了我们是谷歌,因此它也可能永远也不会被推出。总的来说,Fuchsia 要走的路还有很长。”</p>    <p>来自: <a href="/misc/goto?guid=4959007639617005862" id="link_source2">腾讯科技</a></p>