每次推文點進來就是最大的支持
來源:哥哥是歐巴Vitory
原文:https://www.jianshu.com/p/bbcc67defc75
首先,閑話少敘,雙手獻上Fuchsia OS API 傳送門
https://fuchsia.dev/
我們都知道,Android 和 Chrome OS 是谷歌最為人熟知的兩款操作系統,而現在該公司正在進行第三款操作系統的開發,這款新系統名字叫做 Fuchsia。該系統在去年第一次被人們發現時,僅僅能跳出一個簡單的命令行。但當我看到繁瑣的Fuchsia API 的時候,我知道,Fuchsia已經不是那個寫在紙上的計劃了,Google坐不住了,Fuchsia真的要來了,不,是已經來了……
Fuchsia 看起來和包括 Android 在內的其他移動操作系統完全不同。
那么,問題來了,Fuchsia 究竟是什么?
Fuchsia 與 Android 和 Chrome OS 這兩款系統有點不同,它并不基于 Linux 內核,而是基于谷歌全新開發的一款名叫 Magenta 的內核(譯者注:該內核現已更名為Zircon)。根據谷歌提供的消息, Magenta 開發目標是成為同時適用于現代手機和現代個人電腦的一款系統內核,所以將來我們在智能手機中看到該系統也就不足為奇。然而最奇怪的是,谷歌甚至已經將來自蘋果公司的編程語言 Swift 添加成為 Fuchsia 的開發語言。
因為 Fuchsia 是使用能在 Android 上運行的 Flutter SDK 編寫的,所以 Fuchsia 的大部分模塊都可以在Android設備上運行。當前最新版本的 Fuchsia 似乎被稱作為 Armadillo,它完全重新實現了一個主屏幕。根據Ars Technica的測試,該主屏幕基本上呈現為一個大的滾動列表,配置信息圖片、日期、城市和電池余量圖標等被放置在其中央。在該主屏幕的上邊,你會看到一些“故事”卡片或者一個最近應用程序列表。而在在該主屏幕下邊,你會看到一個類似于 Google Now 的建議列表。您還可以拖動最近的應用程序,并個性化地將它們組織起來放到主屏幕你想要的位置。如果將一個應用程序放在另一個應用程序的頂部,你將進入最多可支持三個應用程序的分屏模式。
多年的Android, ChromeOS開發經驗???讓Google在操作系統??積累了?夠多的?才和組件,另???也充分認識到了Linux kernel很多的局限性
Fuchsia是?個全新的操作系統的統稱。Google挑選了?系列它認為合適的技術和組件進?這個操作系統,?如:微內核,基于能?的訪問控制,Vulkan圖形接?,3D桌?渲染Scenic,Flutter應?開發框架。?前?持的編程語?是:C/C++, Go, Rust, Dart
持的架構是X86-64和ARM 64,?持的設備從IoT到服務器
事實上我們知道,Android 最初是為數碼相機而構建的,后來才被應用到帶觸摸屏的手機中。Android 大部分內容并不符合谷歌對智能設備的未來期望,比如語音交互方面。Fuchsia 將會為谷歌解決許多這樣問題,進而為谷歌帶去更多的機會。Fuchsia有一套相較于 Android 更為健壯的安全特性,軟件內置了加密的用戶密鑰以加強安全性。與Android相比,Fuchsia 在適應各種不同尺寸的屏幕方面也更勝一籌。通過向 Fuchsia 的轉移,谷歌可以擺脫 Java 和圍繞 Java 的的一些法規問題。同時這意味著谷歌可以拋棄在 Android 占據核心位置的 Linux 內核。
盡管我們了解Fuchsia與Flutter的關系,但Flutter SDK與Fuchsia SDK不同。正如Flutter今天使用Android SDK制作Android應用程序一樣,我們也可以通過Flutter使用Fuchsia SDK。目前,我們需要直接使用Fuchsia SDK制作Fuchsia應用程序。實際上可以使用Fuchsia SDK直接構建Flutter應用程序,因為Fuchsia 可以深度支持Flutter。
1、原生進程沙箱,解決應用安全和分發問題
2、 Linux: namespace, control group, unionfs => docker
3、穩定的驅動接摳,硬件廠商可獨立維護硬件驅動(硬件)
4、系統模塊化,分層,設備廠商可以靈活定制專有系統(友商)
5、 基于Vulkan和物理渲染的純3D UI,全局光照(用戶)
6、 Flutter應用開發框架(開發者)
在服務器平臺上,原生進程沙箱機制將帶來新的安全特性和容器機制
在移動平臺上,系統的模塊化簡便第三仿設備廠商的全全
定制,驅動框架簡便硬件廠商編寫和維護私有驅動
那么,Fuchsia啟動流程是什么樣的?
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
https://github.com/feilongfl/tree-for-fuchsia
在Android的Gerrit源代碼管理中找到一個新的進行中的提交記錄,標記為“[fuchsia]”,所有者是“Lingfeng Yang”,表明可以讓Android模擬器啟動 Fuchsia 的Zircon內核!
SlashGear與HotFix Computer Repair合作推出了一個可下載的Android軟件包套件(APK),你可以將它安裝在自己手機上以體驗 Fuchsia。這個安裝包有點像是一個上文提到的被稱為 Armadillo 的 alpha 版本系統的預覽版啟動器。Armadillo 是 Fuchsia 這一操作系統的一個版本名,類似于 Nougat 是 Android 操作系統的一個版本名。自己去HotFixIt下載吧,不過在此之前你需要確保明白一些事情。Fuchsia 目前還處于早期階段,不要期望能夠將其作為日常使用的操作系統。雖然在大多數 Android 手機上使用這一高度實驗性的軟件是相對安全的,但你也應該在清楚自己在干什么的前提下才去這么做。
https://youtu.be/83SDXL65W9k 拿去爽吧,不謝!
Flutter 的正式發布,意味著Fuchsia OS開發就可以上路了?
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上實現原生應用效果的樂趣了。
2Dimensions 宣布了一款全新的工具 Flare,該工具可以將矢量動畫直接嵌入到 Flutter 應用中,并且用代碼來控制。Flare 打破了傳統的模式,無需再單獨開發應用和動畫,然后再轉換成設備資源和代碼。使用 Flare 實現的動畫可以作為 widget 嵌入到已有的 Flutter 應用中。使其能夠融入整體的界面中,和文本、圖形渲染層以及其它 UI widget 疊加在一起。通過這種集成方式,可以將動畫從其他平臺的 “黑盒” 局限性解放出來,持續促進開發者與設計師協作完成應用。Flutter 和 Flare 的緊密整合激發了設計師和動畫師的熱情來構建設計精美的移動應用。
為您介紹另外一位 Flutter 的合作伙伴 Nevercode,這是一家快速成長的,為移動應用提供持續集成和推送工具的提供商。今天,他們正式發布了 Codemagic。該工具針對 Flutter 設計,簡化了 Android 和 iOS 平臺上的應用編譯和打包的處理過程。現在已經發布 beta 版本。使用 Codemagic,開發者只需要在 GitHub 里選擇一個含有 Flutter 項目的倉庫,僅需簡單的幾個點擊即可生成一整套處理流程,包括執行測試,生成應用軟件包并上傳至 Apple Store 和 Google Play。
就目前而言,Flutter 的首要目標平臺是 iOS 和 Android,但我們也在不斷探索將 Flutter 拓展到手機端以外的更多平臺上。事實上,Flutter 的設計理念就是希望它可以作為一個靈活且便攜的 UI 工具包,以適應各種需要繪制屏幕內容的平臺。一些進展已經公布,Flutter Desktop Embedding 就是其中的一個,這是一個使 Flutter 運行于 macOS、Linux 和 Windows 等桌面操作系統的項目。前不久,我們嘗試在樹莓派平臺運行了 Flutter 應用,以非正式和探索的形式向用戶展示 Flutter 是有可能運行在一些沒有完整桌面環境的小型設備中的。
這里我們整理了一個短視頻,為大家展示開發者們基于 Flutter 的 Beta 版本所實現的應用:
https://www.bilibili.com/video/av37443895
最后,為 Flutter 吟詩一首:今朝東風拂(Flutter)大地,問君幾時揚帆去何方?
最后想說一句題外話,無論是Fuchsia OS 還是鴻蒙OS ,技術本無國界,我們都應給與支持,只是一群政客在扮演小丑,所以我認為開發者眼界不應該被限制,用更好的科技手段服務人類才是每個技術從業者的永不能忘的初心,愿諸君好運。
轉發出去,讓更多的同學可以看到這篇文章吧~