每次推文點進來就是最大的支持
來源:哥哥是歐巴Vitory
原文:https://www.jianshu.com/p/bbcc67defc75
首先,閑話少敘,雙手獻上Fuchsia OS API 傳送門
https://fuchsia.dev/
我們都知道,Android 和 Chrome OS 是谷歌最為人熟知的兩款操作系統(tǒng),而現(xiàn)在該公司正在進行第三款操作系統(tǒng)的開發(fā),這款新系統(tǒng)名字叫做 Fuchsia。該系統(tǒng)在去年第一次被人們發(fā)現(xiàn)時,僅僅能跳出一個簡單的命令行。但當我看到繁瑣的Fuchsia API 的時候,我知道,F(xiàn)uchsia已經(jīng)不是那個寫在紙上的計劃了,Google坐不住了,F(xiàn)uchsia真的要來了,不,是已經(jīng)來了……
Fuchsia 看起來和包括 Android 在內(nèi)的其他移動操作系統(tǒng)完全不同。
那么,問題來了,F(xiàn)uchsia 究竟是什么?
Fuchsia 與 Android 和 Chrome OS 這兩款系統(tǒng)有點不同,它并不基于 Linux 內(nèi)核,而是基于谷歌全新開發(fā)的一款名叫 Magenta 的內(nèi)核(譯者注:該內(nèi)核現(xiàn)已更名為Zircon)。根據(jù)谷歌提供的消息, Magenta 開發(fā)目標是成為同時適用于現(xiàn)代手機和現(xiàn)代個人電腦的一款系統(tǒng)內(nèi)核,所以將來我們在智能手機中看到該系統(tǒng)也就不足為奇。然而最奇怪的是,谷歌甚至已經(jīng)將來自蘋果公司的編程語言 Swift 添加成為 Fuchsia 的開發(fā)語言。
因為 Fuchsia 是使用能在 Android 上運行的 Flutter SDK 編寫的,所以 Fuchsia 的大部分模塊都可以在Android設(shè)備上運行。當前最新版本的 Fuchsia 似乎被稱作為 Armadillo,它完全重新實現(xiàn)了一個主屏幕。根據(jù)Ars Technica的測試,該主屏幕基本上呈現(xiàn)為一個大的滾動列表,配置信息圖片、日期、城市和電池余量圖標等被放置在其中央。在該主屏幕的上邊,你會看到一些“故事”卡片或者一個最近應(yīng)用程序列表。而在在該主屏幕下邊,你會看到一個類似于 Google Now 的建議列表。您還可以拖動最近的應(yīng)用程序,并個性化地將它們組織起來放到主屏幕你想要的位置。如果將一個應(yīng)用程序放在另一個應(yīng)用程序的頂部,你將進入最多可支持三個應(yīng)用程序的分屏模式。
多年的Android, ChromeOS開發(fā)經(jīng)驗???讓Google在操作系統(tǒng)??積累了?夠多的?才和組件,另???也充分認識到了Linux kernel很多的局限性
Fuchsia是?個全新的操作系統(tǒng)的統(tǒng)稱。Google挑選了?系列它認為合適的技術(shù)和組件進?這個操作系統(tǒng),?如:微內(nèi)核,基于能?的訪問控制,Vulkan圖形接?,3D桌?渲染Scenic,F(xiàn)lutter應(yīng)?開發(fā)框架。?前?持的編程語?是:C/C++, Go, Rust, Dart
持的架構(gòu)是X86-64和ARM 64,?持的設(shè)備從IoT到服務(wù)器
事實上我們知道,Android 最初是為數(shù)碼相機而構(gòu)建的,后來才被應(yīng)用到帶觸摸屏的手機中。Android 大部分內(nèi)容并不符合谷歌對智能設(shè)備的未來期望,比如語音交互方面。Fuchsia 將會為谷歌解決許多這樣問題,進而為谷歌帶去更多的機會。Fuchsia有一套相較于 Android 更為健壯的安全特性,軟件內(nèi)置了加密的用戶密鑰以加強安全性。與Android相比,F(xiàn)uchsia 在適應(yīng)各種不同尺寸的屏幕方面也更勝一籌。通過向 Fuchsia 的轉(zhuǎn)移,谷歌可以擺脫 Java 和圍繞 Java 的的一些法規(guī)問題。同時這意味著谷歌可以拋棄在 Android 占據(jù)核心位置的 Linux 內(nèi)核。
盡管我們了解Fuchsia與Flutter的關(guān)系,但Flutter SDK與Fuchsia SDK不同。正如Flutter今天使用Android SDK制作Android應(yīng)用程序一樣,我們也可以通過Flutter使用Fuchsia SDK。目前,我們需要直接使用Fuchsia SDK制作Fuchsia應(yīng)用程序。實際上可以使用Fuchsia SDK直接構(gòu)建Flutter應(yīng)用程序,因為Fuchsia 可以深度支持Flutter。
1、原生進程沙箱,解決應(yīng)用安全和分發(fā)問題
2、 Linux: namespace, control group, unionfs => docker
3、穩(wěn)定的驅(qū)動接摳,硬件廠商可獨立維護硬件驅(qū)動(硬件)
4、系統(tǒng)模塊化,分層,設(shè)備廠商可以靈活定制專有系統(tǒng)(友商)
5、 基于Vulkan和物理渲染的純3D UI,全局光照(用戶)
6、 Flutter應(yīng)用開發(fā)框架(開發(fā)者)
在服務(wù)器平臺上,原生進程沙箱機制將帶來新的安全特性和容器機制
在移動平臺上,系統(tǒng)的模塊化簡便第三仿設(shè)備廠商的全全
定制,驅(qū)動框架簡便硬件廠商編寫和維護私有驅(qū)動
那么,F(xiàn)uchsia啟動流程是什么樣的?
Fuchsia 官方代碼托管在 GoogleSource.com;由于不可描述的原因,國內(nèi)開發(fā)者沒有辦法直接下載到 Fuchsia 的源代碼,對于學(xué)習(xí)和開發(fā)帶來一定程度的不便。但博主要給大家送福利啦!
Git 服務(wù)
說明:僅包含主 repo 核心代碼,不包括第三方代碼
網(wǎng)址:https://hexang.org/mirrors/fuchsia
使用:
git clone git@hexang.org:mirrors/fuchsia.git
鏡像服務(wù)
說明:包含完整代碼,同時提供單獨的 tar 包及每日 Archive
網(wǎng)址:https://mirrors.hexang.com/fuchsia
Archive網(wǎng)址:
https://mirrors.hexang.com/fuchsia/archive
錯誤報告
說明:使用過程中如果遇到錯誤,或者無法正常使用 Git服務(wù)、鏡像服務(wù),請在下列地址創(chuàng)建 issue ,鏡像管理團隊會在第一時間處理。
https://hexang.org/mirrors/fuchsia/issues
https://github.com/feilongfl/tree-for-fuchsia
在Android的Gerrit源代碼管理中找到一個新的進行中的提交記錄,標記為“[fuchsia]”,所有者是“Lingfeng Yang”,表明可以讓Android模擬器啟動 Fuchsia 的Zircon內(nèi)核!
SlashGear與HotFix Computer Repair合作推出了一個可下載的Android軟件包套件(APK),你可以將它安裝在自己手機上以體驗 Fuchsia。這個安裝包有點像是一個上文提到的被稱為 Armadillo 的 alpha 版本系統(tǒng)的預(yù)覽版啟動器。Armadillo 是 Fuchsia 這一操作系統(tǒng)的一個版本名,類似于 Nougat 是 Android 操作系統(tǒng)的一個版本名。自己去HotFixIt下載吧,不過在此之前你需要確保明白一些事情。Fuchsia 目前還處于早期階段,不要期望能夠?qū)⑵渥鳛槿粘J褂玫牟僮飨到y(tǒng)。雖然在大多數(shù) Android 手機上使用這一高度實驗性的軟件是相對安全的,但你也應(yīng)該在清楚自己在干什么的前提下才去這么做。
https://youtu.be/83SDXL65W9k 拿去爽吧,不謝!
Flutter 的正式發(fā)布,意味著Fuchsia OS開發(fā)就可以上路了?
1,F(xiàn)lutter 可以幫助您構(gòu)建界面 精美 的應(yīng)用。我們希望設(shè)計師們都能充分發(fā)揮自己的想象,盡情施展精美絕倫的創(chuàng)意,而不受框架局限性的干擾。通過 Flutter,您可以在屏幕上有像素級的掌控。Flutter 強大的圖像組合能力讓您近乎可以不受限制的堆疊任何圖形、視頻、文本和控件。Flutter 內(nèi)置了一系列的 widgets (在 Flutter 里,幾乎所有內(nèi)容都是 widget),這些 widgets 可以幫助您在 iOS 和 Android 上實現(xiàn)極致的視覺體驗。Flutter 集成并有最大程度的實現(xiàn)了 Material Design —— 這是 Google 為數(shù)字體驗所創(chuàng)作的開放的設(shè)計系統(tǒng)。,
2,F(xiàn)lutter 的另一個特點的 速度快 。它基于 Skia 2D 硬件加速圖形引擎,該引擎也同樣用在了 Chrome 和 Android 平臺。媲美原生應(yīng)用的速度,這是我們在構(gòu)建 Flutter 時的初心。Flutter 的代碼基于 Dart 平臺,它可以被編譯成 iOS 和 Android 平臺上 32 位和 64 位的 ARM 代碼。
3,F(xiàn)lutter 非常 高效 。Flutter 引入了 Stateful Hot Reload(保持應(yīng)用狀態(tài)的熱重載),這個革命性的新特性可以讓移動開發(fā)者和設(shè)計師們實時迭代應(yīng)用程序。通過 Stateful Hot Reload,無需重新啟動應(yīng)用,你就可以在程序運行的時候直接看到代碼修改之后的效果,Stateful Hot Reload 改變了開發(fā)者們編寫應(yīng)用的方式。在我們的用戶反饋中,開發(fā)者們表示該特性使得開發(fā)效率提升了三倍。
4,最后,F(xiàn)lutter 是 開放 的。Flutter 是一個基于 BSD-style 許可的開源項目,全球數(shù)百位開發(fā)者在為其貢獻代碼。Flutter 的插件生態(tài)系統(tǒng)平臺也充滿活力。有數(shù)千款插件已經(jīng)發(fā)布,避免了重復(fù)造輪子。由于 Flutter 應(yīng)用程序使用標準的 Android 和 iOS 的編譯打包工具 (build tools),因此它的開放還體現(xiàn)在您可以使用原生開發(fā)資源。比如,您同樣可以在 Android 上使用 Kotlin 或者 Java,在 iOS 上使用 Swift 或者 Objective-C 來寫邏輯或者界面。
結(jié)合以上這些,再加上您順手的開發(fā)工具,比如 Visual Studio Code、Android Studio、IntelliJ 或其他您青睞開發(fā)者編輯器,您就可以開始使用 Flutter 體驗一套代碼同時在 iOS 和 Android上實現(xiàn)原生應(yīng)用效果的樂趣了。
2Dimensions 宣布了一款全新的工具 Flare,該工具可以將矢量動畫直接嵌入到 Flutter 應(yīng)用中,并且用代碼來控制。Flare 打破了傳統(tǒng)的模式,無需再單獨開發(fā)應(yīng)用和動畫,然后再轉(zhuǎn)換成設(shè)備資源和代碼。使用 Flare 實現(xiàn)的動畫可以作為 widget 嵌入到已有的 Flutter 應(yīng)用中。使其能夠融入整體的界面中,和文本、圖形渲染層以及其它 UI widget 疊加在一起。通過這種集成方式,可以將動畫從其他平臺的 “黑盒” 局限性解放出來,持續(xù)促進開發(fā)者與設(shè)計師協(xié)作完成應(yīng)用。Flutter 和 Flare 的緊密整合激發(fā)了設(shè)計師和動畫師的熱情來構(gòu)建設(shè)計精美的移動應(yīng)用。
為您介紹另外一位 Flutter 的合作伙伴 Nevercode,這是一家快速成長的,為移動應(yīng)用提供持續(xù)集成和推送工具的提供商。今天,他們正式發(fā)布了 Codemagic。該工具針對 Flutter 設(shè)計,簡化了 Android 和 iOS 平臺上的應(yīng)用編譯和打包的處理過程。現(xiàn)在已經(jīng)發(fā)布 beta 版本。使用 Codemagic,開發(fā)者只需要在 GitHub 里選擇一個含有 Flutter 項目的倉庫,僅需簡單的幾個點擊即可生成一整套處理流程,包括執(zhí)行測試,生成應(yīng)用軟件包并上傳至 Apple Store 和 Google Play。
就目前而言,F(xiàn)lutter 的首要目標平臺是 iOS 和 Android,但我們也在不斷探索將 Flutter 拓展到手機端以外的更多平臺上。事實上,F(xiàn)lutter 的設(shè)計理念就是希望它可以作為一個靈活且便攜的 UI 工具包,以適應(yīng)各種需要繪制屏幕內(nèi)容的平臺。一些進展已經(jīng)公布,F(xiàn)lutter Desktop Embedding 就是其中的一個,這是一個使 Flutter 運行于 macOS、Linux 和 Windows 等桌面操作系統(tǒng)的項目。前不久,我們嘗試在樹莓派平臺運行了 Flutter 應(yīng)用,以非正式和探索的形式向用戶展示 Flutter 是有可能運行在一些沒有完整桌面環(huán)境的小型設(shè)備中的。
這里我們整理了一個短視頻,為大家展示開發(fā)者們基于 Flutter 的 Beta 版本所實現(xiàn)的應(yīng)用:
https://www.bilibili.com/video/av37443895
最后,為 Flutter 吟詩一首:今朝東風(fēng)拂(Flutter)大地,問君幾時揚帆去何方?
最后想說一句題外話,無論是Fuchsia OS 還是鴻蒙OS ,技術(shù)本無國界,我們都應(yīng)給與支持,只是一群政客在扮演小丑,所以我認為開發(fā)者眼界不應(yīng)該被限制,用更好的科技手段服務(wù)人類才是每個技術(shù)從業(yè)者的永不能忘的初心,愿諸君好運。
轉(zhuǎn)發(fā)出去,讓更多的同學(xué)可以看到這篇文章吧~