Flutter 1.0 正式版:Google 的便攜 UI 工具包

簡評:所以 React-Native 和 Flutter 該怎麼選?

在 10 個月前的 MWC 上,谷歌發佈了 Flutter 的 Beta 版本,給跨平臺應用開發帶來了一種全新的選擇,昨天谷歌正式發佈了 Flutter 1.0 。下面我們來看看官方對 Flutter 的介紹吧。

Flutter 介紹

Flutter 並不是替代原生 iOS 和 Android 開發模式,相反,可以把 Flutter 理解為內置的一個引擎,可以把這個引擎引入到現有的工程或者全新的工程中。

Flutter 有以下四個特點:

  1. 精美。使用 Flutter 可以在屏幕上有像素級的控制,並近乎可以不受限制的堆疊任何圖形、視頻、文本和控件。Flutter 內置了一系列的 widgets 可以在 iOS 和 Android 上實現極致的視覺體驗。Flutter 最大程度的實現了 Material Design ,可構建界面精美的應用。

  2. 速度快。它基於 Skia 2D 硬件加速圖形引擎,該引擎也同樣用在了 Chrome 和 Android 平臺。Flutter 的代碼基於 Dart 平臺,它可以被編譯成 iOS 和 Android 平臺上 32 位和 64 位的 ARM 代碼,媲美原生應用的速度。

  3. 高效。Flutter 引入了 Stateful Hot Reload ,無需重新啟動應用,就可以在程序運行的時候直接看到代碼修改之後的效果,Stateful Hot Reload 改變了開發者們編寫應用的方式,開發者們在用戶反饋中表示該特性使開發效率提升了三倍。

  4. 開放。Flutter 是基於 BSD-style 許可的開源項目,全球有數百位開發者為其貢獻代碼。Flutter 的插件生態系統平臺也充滿活力。有數千款插件已經發布,避免了重複造輪子。由於 Flutter 使用標準的 Android 和 iOS 的編譯打包工具,因此它的開放還體現在可以使用原生開發資源。比如,同樣可以在 Android 上使用 Kotlin 或者 Java,在 iOS 上使用 Swift 或者 Objective-C 來寫邏輯或者界面。

Flutter 1.0 正式版:Google 的便携 UI 工具包

Flutter 1.0 新功能

1.0 主要修復 Bug 和提高穩定性,接入Dart v1.2。同時有兩個新功能將隨 1.0 的預覽模式提供給開發者們。它們將會於 2019 年二月的季度更新中正式推出,兩個特性分別是:

現有工程接入 Flutter (Add to App)

使用 Flutter 不一定需要從零開始構建整個應用,也可以在現有的項目中通過 Flutter 添加新功能,或者一步步的將整個項目遷移到 Flutter。谷歌會持續改善這一體驗,可以在 wiki 查看現有的關於將 Flutter 引入應用的文章,也可以在 GitHub 上關注他們接下里的進展

平臺級視圖 (Platform Views)

上一個功能是將 Flutter 接入工程,這個功能相反,是將 Android 或者 iOS 原生平臺控件嵌入 Flutter 應用中。谷歌引入了 AndroidView 和 UiKitView,可以分別把這兩個平臺的 widget 嵌入到對應的平臺中,像 Google Maps和 WebView 已經享受到這一特性帶來的好處了。右下角的浮動按鈕是一個 50% 透明度的 Flutter widget

不僅僅是移動端

目前 Flutter 的首要平臺是 iOS 和 Android,同時也在探索拓展到手機端以外的更多平臺。

像 Flutter Desktop Embedding,這是一個使 Flutter 運行於 macOS、Linux 和 Windows 等桌面操作系統的項目。

同時本週,谷歌內部預覽了一個將極大拓展 Flutter 的運行平臺的實驗階段項目:

Flutter 1.0 正式版:Google 的便携 UI 工具包

Hummingbird 是一個基於 Web 實現的 Flutter 運行時環境。利用 Dart 平臺同時能被編譯成 JavaScript 的特性,這個項目讓 Flutter 應用能夠毫無改動地運行在標準 Web 平臺。

這裡是關於 Hummingbird 的技術實現文章。

Flutter 1.0 正式版:Google 的便携 UI 工具包

Flutter :我準備好了,你呢?


分享到:


相關文章: