Flutter 1.0 正式版發佈

在昨晚(2018年12月4日)的 Flutter Live 2018 上,Google 宣佈 Flutter 1.0 正式發佈,這也是 Flutter 在第一個 Beta 測試版發佈9個多月後發佈的第一個正式版本。做移動端應用的人假如還沒聽過這個庫,大概需要注意一下了,畢竟這可能會影響到移動端應用開發下一個方向。

 

關於 Flutter

Flutter 是谷歌的移動端 UI 框架,可在極短的時間內構建 Android 和 iOS 上高質量的原生級應用。 Flutter 可與現有代碼一起工作, 它被世界各地的開發者和組織使用, 並且 Flutter 是免費和開源的。

Flutter 有幾個比較突出的特點:

  • 強大的圖像組合能力和基於 widgets 的設計,極大程度實現了 Material Design ,這也是構建精美應用的基礎;

  • 基於 Skia 2D 硬件加速圖形引擎,渲染效率高;使用 Dart 作爲開發語言,編譯生成 32 位或 64 位的 ARM 代碼也能做 Android 和 iOS 平臺上高效運行;

  • Stateful Hot Reload (保持應用狀態的熱重載)特性的引入,在開發過程中可以在應用運行的時候直接看到代碼修改後的效果,從而提高開發效率;

  • 源代碼開源。

爲了能和 Android 原生的 Java 和 Kotlin 或這 iOS 的 objective-c 和 Swift 一起工作,因此 Flutter 直接使用 Android 和 iOS 標準的編譯打包工具。

此外,有兩個特殊的場景:

  • 在現有應用中嵌入 Flutter 來開發新功能可以參考官方文檔:Add-Flutter-to-existing-apps

  • 在 Flutter 項目中嵌入 Android 和 iOS 原生的視圖,由於 Flutter 中幾乎所有的內容都是 widget ,可以通過 AndroidViewUikitView 兩個 widget 來分別引入 Android 和 iOS 的原生視圖。

 

關於 Dart

Dart 是一種開源,可擴展的編程語言,具有強大的庫和運行時,用於構建 Web ,服務器和移動應用程序。可以直接在 Github 上獲取到 Dart 的源碼

Flutter 使用的開發語言是 Dart ,在 Flutter 1.0 上使用的是最新的 Dart 2.1 ,Dart 2.1 提供更小的代碼體積,更快的類型檢查和更好的診斷。

 

移動端

當前官方版本,正是面向 Android 和 iOS 移動端應用開發。

 

桌面端

雖然官方版本還沒真正支持桌面應用開發,但 Github 上已經有類似的開源框架 flutter-desktop-embedding ,據說是 Google 內部的員工開發的,旨在支持 Windows 、macOS 和 Linux 平臺上的桌面應用開發。

 

網頁端

爲了讓 Flutter 在瀏覽器上也能運行,Google 官方宣佈了一個 Flutter 運行時基於 Web 的實驗性實現 —— hummingbird 。這是通過 Dart 可以編譯成 JavaScript 的特性實現的,當然這一特性也能是 Flutter 覆蓋更多平臺,包括 Windows、macOS 和 Linux 。

 

遊戲引擎

因爲 Flutter 具備跨平臺的特性,而且其基於 Skia 2D 硬件加速圖形引擎帶來的性能提升,從而也衍生出了使用 Flutter 開發的 2D 遊戲引擎,例如:

 

其他

vim 插件

假如想在 vim 中編寫 Dart ,可以使用 dart-vim-plugin 插件,支持文件類型檢測、語法突出顯示和縮進,還能在查找時自動跳轉至定義的位置。

IDE 選擇

爲了方便在多平臺下的開發,我們可以在日常開發中直接使用 Visual Studio Code 作爲開發的 IDE ,但最終發佈還是離不開 Android Studio 和 Xcode 。

 

小結

從本次 Google 對於 Flutter 的重視程度來看,Flutter 在生產環境上普及的可能性似乎會變得更高一些。興許軟件分平臺獨立開發的時代,真的會慢慢變成過去式。

 

參考


微信公衆號「何樂不爲呢」,一個碼農的技術筆記和嘮叨。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章