雷锋网按:本文作者何楚,开源软硬件爱好者,Linux重度用户,工程师、分析师。雷锋网独家文章。
近日,据外媒报道,Google 目前正在致力于开发一款新的开源操作系统—— Fuchsia,使用不同的内核全新编写,支持 PC、手机以及其他智能设备。业界的声音普遍认为:Fuchsia 的目的就是打通PC和手机,可能会是谷歌未来 IoT 的融合操作系统,甚至有声音说是为了代替 Android 和 Chrome OS 而研发的下一代操作系统。
根据网络信息:它使用的不是 Linux 内核而是叫 Magenta 的新内核;它的UI层使用的是 Dart 语言开发的Flutter;渲染器是Escher;应用程序框架Mojo。除此之外没有太多对这个项目细节的说明。创始人在 irc 上被问道:“为啥没个文档说明也不宣布一下,就把它开源了?”,回答:“(我们)决定把它开源,而且觉得应从项目初期开始(因此一切都不完善,也因此没有对外宣布)”。
所以要了解这个项目的具体情况,比较好的方法就是翻文档和代码。
|
Fuchsia 会是什么样子?
官网的文档资料很少,笔者把能找到的都翻出来过了一遍,尝试把 Fuchsia 运行起来。
前面所说的
Magenta,是一个微内核和一系列用户空间的服务、驱动的组合。
目前它已经能够在虚拟机、某几款NUC小电脑和某款笔记本上启动运行。在虚拟机里面运行后就是一个字符终端,执行一个叫 mxsh 的 shell,另外还有少量的基本工具和测试程序集 。
只有 Magenate 内核的 Fuchsia 系统,在虚拟机运行起来是这个样子:
图:虚拟机内跑起来的 magenta 内核
看起来一点都不酷,对不对?!因为这个基本系统没有图形用户界面(GUI)部分。继续阅读 Fuchsia 编译文档,经过长时间的下载、编译、等待和尝试,笔者也没有能成功见到一个在 magenta 内核上运行的 GUI 程序。再仔细检查源码和文档才发现,
UI 部分现在还没有被合并入项目。
好吧,资料说“它的UI层使用的是 Dart 语言开发的 Flutter;渲染器是Escher;应用程序框架Mojo”。那我们试试单独编译跨平台的 Flutter,看看用户界面会是啥样。其他如内核、开发语言、基础框架等,普通用户是感知不到的——还是留给工程师们关注吧。
Flutter 是可以运行在 Android 和 iOS 上的用户界面开发库,从它的源代码提交和bug跟踪日志中的信息看,目前它的引擎还不能运行在 Fuchsia 上,不过已经很接近可以工作。Flutter 官网声称自己还是一个早期阶段的开源项目,经笔者检验虽然是早期项目,但是在 Android 手机上运行起来演示程序还是很容易的。所以,一起围观下 —— “未来” 操作系统上的程序可能会是什么样子(请忽略Android自带黑边和某运营商标志):
图:跑在 Android 手机上的 Flutter Gallery 演示程序
Flutter采用 Materal Design 设计语言(规范),该规范定义了用户界面上的元素的用途、外观、展现形式以及形态变化的规范。
从用户可见的角度来看,未来 Fuchsia 操作系统内运行的程序,其中的按钮,对话框,图片框等等界面组件,基本就应该跟上面图片中差不多——当然未来也可能会改变——而那些科幻电影中炫酷亮眼的3D特效、隔空指点、虚拟(增强)现实画面,暂时还不能从演示程序中看到。
嗯,目前来看 Fuchsia 上的 App 的界面,大概就是这个感觉。
|
插播,扒一下 Fuchsia 开发者
Fuchsia 项目的知名参与者包括 Travis Geiselbrecht 和 Brian Swetland。
早在久远的上个世纪九十时代中期,当时的苹果公司因自家的操作系统无法及时推出,正寻找替代品。当时有两个理想的候选产品分别是
Be 公司的多媒体操作系统BeOS
,以及被苹果公司扫地出门的乔布斯开办的 NeXT 公司的产品
NeXTSTEP。
后来由于 Be 公司要价太高等原因,苹果公司收购了NeXT公司重新获得乔布斯继而研发出后来大放异彩的 OSX,而 Be 公司则由于经营不善在2001年黯然被Palm公司收购。