详尽的api涵盖了系统所需的各个部分
Fuchsia 看起来和包括 Android 在内的其他移动操作系统完全不同。
Fuchsia预览图
那么,问题来了,Fuchsia 究竟是什么?
Fuchsia 与 Android 和 Chrome OS 这两款系统有点不同,它并不基于 Linux 内核,而是基于谷歌全新开发的一款名叫 Magenta 的内核(译者注:该内核现已更名为Zircon)。根据谷歌提供的消息, Magenta 开发目标是成为同时适用于现代手机和现代个人电脑的一款系统内核,所以将来我们在智能手机中看到该系统也就不足为奇。然而最奇怪的是,谷歌甚至已经将来自苹果公司的编程语言 Swift 添加成为 Fuchsia 的开发语言。
因为 Fuchsia 是使用能在 Android 上运行的 Flutter SDK 编写的,所以 Fuchsia 的大部分模块都可以在Android设备上运行。当前最新版本的 Fuchsia 似乎被称作为 Armadillo,它完全重新实现了一个主屏幕。根据Ars Technica的测试,该主屏幕基本上呈现为一个大的滚动列表,配置信息图片、日期、城市和电池余量图标等被放置在其中央。在该主屏幕的上边,你会看到一些“故事”卡片或者一个最近应用程序列表。而在在该主屏幕下边,你会看到一个类似于 Google Now 的建议列表。您还可以拖动最近的应用程序,并个性化地将它们组织起来放到主屏幕你想要的位置。如果将一个应用程序放在另一个应用程序的顶部,你将进入最多可支持三个应用程序的分屏模式。
那么,Fuchsia到底什么来历?
多年的Android, ChromeOS开发经验⼀⽅⾯让Google在操作系统⽅⾯积累了⾜够多的⼈才和组件,另⼀⽅⾯也充分认识到了Linux kernel很多的局限性
Fuchsia是⼀个全新的操作系统的统称。Google挑选了⼀系列它认为合适的技术和组件进⼊这个操作系统,⽐如:微内核,基于能⼒的访问控制,Vulkan图形接⼝,3D桌⾯渲染Scenic,Flutter应⽤开发框架。⽬前⽀持的编程语⾔是:C/C++, Go, Rust, Dart
⽀持的架构是X86-64和ARM 64,⽀持的设备从IoT到服务器
那么,开发 Fuchsia 的目的是什么?
事实上我们知道,Android 最初是为数码相机而构建的,后来才被应用到带触摸屏的手机中。Android 大部分内容并不符合谷歌对智能设备的未来期望,比如语音交互方面。Fuchsia 将会为谷歌解决许多这样问题,进而为谷歌带去更多的机会。Fuchsia有一套相较于 Android 更为健壮的安全特性,软件内置了加密的用户密钥以加强安全性。与Android相比,Fuchsia 在适应各种不同尺寸的屏幕方面也更胜一筹。通过向 Fuchsia 的转移,谷歌可以摆脱 Java 和围绕 Java 的的一些法规问题。同时这意味着谷歌可以抛弃在 Android 占据核心位置的 Linux 内核。
那么,Fuchsia SDK和Flutter SDK是同一个吗?
尽管我们了解Fuchsia与Flutter的关系,但Flutter SDK与Fuchsia SDK不同。正如Flutter今天使用Android SDK制作Android应用程序一样,我们也可以通过Flutter使用Fuchsia SDK。目前,我们需要直接使用Fuchsia SDK制作Fuchsia应用程序。实际上可以使用Fuchsia SDK直接构建Flutter应用程序,因为Fuchsia 可以深度支持Flutter。
那么,Fuchsia到底解决了哪些痛点?
原⽣进程沙箱,解决应⽤安全和分发问题(⿊客)
Linux: namespace, control group, unionfs => docker
稳定的驱动接⼝,硬件⼚商可独⽴维护硬件驱动(硬件)
系统模块化,分层,设备⼚商可以灵活定制专有系统(友商)
基于Vulkan和物理渲染的纯3D UI,全局光照(⽤户)
Flutter应⽤开发框架(开发者)
那么,Fuchsia在各个平台上有哪些优势?
在服务器平台上,原⽣的进程沙箱机制将带来新的安全特性和容器机制
在桌⾯平台上,类似于游戏3D引擎pipeline的图形栈以及毫⽆遗产负担的实现将使电⼦娱乐应⽤变得更为⾼效;⽆缝兼容庞⼤的Android⽣态
在移动平台上,系统的模块化⽅便第三⽅设备⼚商的全⾯
定制,驱动框架⽅便硬件⼚商编写和维护私有驱动
那么,Fuchsia启动流程是什么样的?
那么,Fuchsia OS 国内镜像有吗?
Fuchsia 官方代码托管在 GoogleSource.com; 由于不可描述的原因,国内开发者没有办法直接下载到 Fuchsia 的源代码,对于学习和开发带来一定程度的不便。但博主要给大家送福利啦!
Git 服务
说明:仅包含主 repo 核心代码,不包括第三方代码
网址:https://hexang.org/mirrors/fuchsia
使用:git clone git@hexang.org:mirrors/fuchsia.git
镜像服务
说明:包含完整代码,同时提供单独的 tar 包及每日 Archive
网址:https://mirrors.hexang.com/fuchsia
Archive网址:https://mirrors.hexang.com/fuchsia/archive
错误报告
说明:使用过程中如果遇到错误,或者无法正常使用 Git服务、镜像服务,请在下列地址创建 issue ,镜像管理团队会在第一时间处理。
网址:https://hexang.org/mirrors/fuchsia/issues
那么,Fuchsia tree修改后可直接使用的版本有吗?
https://github.com/feilongfl/tree-for-fuchsia
那么,Android studio 模拟器支持Fuchsia吗?
在Android的Gerrit源代码管理中找到一个新的进行中的提交记录,标记为“[fuchsia]”,所有者是“Lingfeng Yang”,表明可以让Android模拟器启动 Fuchsia 的Zircon内核!
那么,你想体验做第一个吃螃蟹的人体验一下Fuchsia吗?
SlashGear与HotFix Computer Repair合作推出了一个可下载的Android软件包套件(APK),你可以将它安装在自己手机上以体验 Fuchsia。这个安装包有点像是一个上文提到的被称为 Armadillo 的 alpha 版本系统的预览版启动器。Armadillo 是 Fuchsia 这一操作系统的一个版本名,类似于 Nougat 是 Android 操作系统的一个版本名。自己去HotFixIt下载吧,不过在此之前你需要确保明白一些事情。Fuchsia 目前还处于早期阶段,不要期望能够将其作为日常使用的操作系统。虽然在大多数 Android 手机上使用这一高度实验性的软件是相对安全的,但你也应该在清楚自己在干什么的前提下才去这么做。
那么,你想看Fuchsia上手体验视频吗?
https://youtu.be/83SDXL65W9k 拿去爽吧,不谢!
Flutter 的正式发布,意味着Fuchsia OS开发就可以上路了?
什么是Flutter?
1,Flutter 可以帮助您构建界面 精美 的应用。我们希望设计师们都能充分发挥自己的想象,尽情施展精美绝伦的创意,而不受框架局限性的干扰。通过 Flutter,您可以在屏幕上有像素级的掌控。Flutter 强大的图像组合能力让您近乎可以不受限制的堆叠任何图形、视频、文本和控件。Flutter 内置了一系列的 widgets (在 Flutter 里,几乎所有内容都是 widget),这些 widgets 可以帮助您在 iOS 和 Android 上实现极致的视觉体验。Flutter 集成并有最大程度的实现了 Material Design —— 这是 Google 为数字体验所创作的开放的设计系统。
2,Flutter 的另一个特点的 速度快 。它基于 Skia 2D 硬件加速图形引擎,该引擎也同样用在了 Chrome 和 Android 平台。媲美原生应用的速度,这是我们在构建 Flutter 时的初心。Flutter 的代码基于 Dart 平台,它可以被编译成 iOS 和 Android 平台上 32 位和 64 位的 ARM 代码。
3,Flutter 非常 高效 。Flutter 引入了 Stateful Hot Reload(保持应用状态的热重载),这个革命性的新特性可以让移动开发者和设计师们实时迭代应用程序。通过 Stateful Hot Reload,无需重新启动应用,你就可以在程序运行的时候直接看到代码修改之后的效果,Stateful Hot Reload 改变了开发者们编写应用的方式。在我们的用户反馈中,开发者们表示该特性使得开发效率提升了三倍。
4,最后,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上实现原生应用效果的乐趣了。