Google工程師開發Flutter 針對iOS和Android的高性能跨平臺框架

jopen 9年前發布 | 19K 次閱讀 Google

Google 工程師開發了一款針對 iOS 和 Android 的高性能跨平臺框架——Flutter。它主要使用 Dart 語言編寫,使用自有的渲染引擎來繪制控件,性能上專注于低延遲輸入和高幀率,旨在幫助開發者開發高新能的跨平臺 2D 移動應用。

需要特別指出的是,在 2013 年,Google 曾發布了一個手勢識別的項目也叫 Flutter,這兩個項目并無任何關聯。

Flutter 是開源項目,但目前還不是 Google 官方項目。在 GitHub Page 頁面可以看到,它還處于非常早期的階段,目前僅支持 iOS 和 Android 平臺。另外,許多核心功能例如輔助功能、文本輸入、本地化等等還處于缺失的狀態中。

Flutter.io 中可以看到這么一段介紹:“Flutter 和其它跨平臺移動應用開發框架非常不同,因為 Flutter 不使用 WebView,也不使用設備中的 OEM 控件。取而代之的是,Flutter 使用自己的高性能渲染引擎來繪制控件。”

Flutter 的早期項目代號為 Sky,這個項目包括一個支持文字的移動 2D 渲染引擎;一個 functional-reactive 框架;一組符合 Material Design 的控件、庫和工具;一個 Atom 編輯器插件。當然,開發者仍然可以自定義控件。

Flutter 由C、C++和 Dart 語言編寫,也包含了 Skia 2D 渲染引擎和 Blink 的文本渲染系統。在 GitHub 中可以看到,開發人員在最近才由 Python 切換到了 Dart。Dart 語言是 Google 的 JavaScript 競爭對手,它被選來作為編寫 Flutter 是因為它支持簡單的腳本、擴展到全功能的應用和有一定的語言熟悉感。

對于 Android 平臺來說,C/C++代碼由 Android NDK(Native Development Kit)編譯,這個框架和應用代碼主要運行在 Dart 虛擬機中,此虛擬機將會在設備中生成 JIT 編譯優化的本地代碼;在 iOS 平臺中,C/C++代碼由 LLVM 編譯,Dart 代碼將由 AOT 編譯成為本地代碼。應用將使用一個本地指令集。Flutter 將不會有 Web 版本,目前也沒有支持的可用的依賴注入框架。

來自: InfoQ
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!