來源: Flutter Release Preview 2: Pixel-Perfect on iOS from Google Developer
Flutter 是 Google 釋出的一套新的移動 UI 框架,可以快速在 iOS 及 Android 平臺構建高質量的原生使用者介面。今天,在上海谷歌開發者大會主題演講上,我們宣佈 Flutter 預覽版2.0正式釋出:這將是 Flutter 正式版1.0釋出前的最後一個預覽版。
本版本的主要成果集中在完善核心功能和提高質量,從二月釋出 beta 版到初夏的第一個預覽版我們一直在做與這相關的工作。現在整個團隊都投入到1.0版本的最終完善中。
預覽版2.0 有哪些更新?
本版本的主題完美適配 iOS 應用。雖然我們在設計 Flutter 時非常看重品牌和定製化的使用者體驗,不過我們收到了大家的反饋:希望在構建應用時更符合蘋果互動設計規範。所以在本版本中,我們對 Flutter 提供的 「Cupertino」主題進行了極大的擴充,配合一套額外的 widgets 以及 classes,構建 iOS 應用變得前所未有的簡單。
圖注:利用 Flutter 復刻的 iOS 設定介面
下面列舉了一些預覽版2.0新增的 iOS 主題的 widgets:
CupertinoApp
: 一個用於構建 iOS 風格 App 的頂級 widgetaCupertinoTimerPicker
for a countdown timer picker;CupertinoSegmentedControl
: 用於水平分段控制器;CupertinoActionSheet
: 用於 iOS 風格的, 底部彈出顯示錶格
還對很多 widgets 進行了更新:
-
CupertinoNavigationBar
和CupertinoSliverNavigationBar
- 在頁面切換時平滑過渡
- 根據
CupertinoPageRoute.title
auto-populate 標題及返回按鈕
-
CupertinoPageScaffold
- 通過按鍵插入內容
-
CupertinoScrollbar
- 提高 overscroll 時的視覺精度
-
CupertinoPicker
- 增加對無限滾動和迴圈滾動的支援
- Adds multicolumn support for off-axis cylindrical projection.
一如既往, Flutter 文件是最適合深入瞭解 Cupertino*
類細節資訊的地方。(注意,此時此刻我們仍在新增新的 Cupertino widgets 至介面 widget 類目中)
我們在其它方面也做了改進。到幕後瞅一眼,我們新增了後臺執行 Dart 程式碼的支援,即使應用處於暫停狀態也沒問題。外掛作者可以利用這一點來創作新的外掛,這些外掛可以在事件被觸發後再執行程式碼,比如啟動一個計數器或者接收地理位置更新。更詳細的資訊可以閱讀 Medium 上的這篇文章,它演示瞭如何通過後臺執行建立地理柵欄外掛。
另一大改進是我們在 Android 和 iOS 的應用包體積縮減超過30%。我們有一個極小的 App,在釋出模式下打包後只有4.7MB。比沒優化前減少了2MB——我們還在繼續深挖潛力、持續優化。(注意,雖然包體積在 Android 和 iOS 上都有改進,但是仍有差別。
how iOS packages are built)
發展趨勢
由於有大量開發者開始關注 Flutter, 我們可以謙虛的說一句:Flutter 目前是 Github 上前五十活躍庫之一。
我們在今年的 Google I/O 大會上宣佈 Flutter 已經「production ready」,隨著1.0穩定版的臨近,許多新的 Flutter 應用被髮布,在 Apple 和 Google 的應用商店中有超過1000個軟體是基於 Flutter 開發的。其中包括一些頂級的應用,例如阿里(Android、iOS),騰訊 NOW(Android、iOS)和 Google Ads(Android、iOS。這是阿里巴巴用 Flutter 開發閒魚(Android、iOS)的視訊,目前在中國有超過5000萬使用者在使用閒魚:
我們十分重視使用者的滿意度並定期對我們的使用者進行調查。我們承諾將與社群共享我們的調查結果,最近的一次調查顯示有92%的開發者對 Flutter 感到滿意或者非常滿意或者願意向它人推薦 Flutter。在高效開發和使用者 UI 方面,有72%的開發者認為 Flutter 在提高開發效率和建立理想 UI 兩個方面都極有幫助或者有幫助。有82%的開發者對 Dart 程式語言感到滿意或者非常滿意。Dart 最近也達到了一個里程碑:Dart 2。
從其它方面也可以察覺到 Flutter 社群的壯大。在 StackOverflow,我們看到對 Flutter 有興趣的使用者在快速增長,他們提出、回答以及瀏覽了大量相關的問題。
Flutter 從誕生之日就被開源。這樣設計的初衷是為了專案的完全透明,以此鼓勵那些和我們一樣希望在不同平臺都能看到美觀的使用者介面的個人開發者和開發團隊參與到 Flutter 專案中。
升級至預覽本2.0
如何將你的 Flutter 升級到預覽本2.0?如果你已經是 beta 版了,只需一行程式碼:
$ flutter upgrade
複製程式碼
你可以在命令列執行flutter --version
指令來檢查是否升級成功。如果你的版本號是 0.8.2 或更加新的版本。那說明已升級成功。
如果你還沒有試過 Flutter,此時正當時。flutter.io (國內中文社群 flutter-io.cn)有下載、安裝、開發第一個 Flutter 應用所需的所有資料。
Flutter 有一個完善的生態系統,其中包括大量應用案例和程式碼片段,來幫助你運用 Flutter。你可以在 Flutter 團隊的 Github 倉庫找到案例,這些案例涵蓋了使用 Material 和 Cupertino、反序列化 JSON 資料等。這個列表羅列了 Flutter 社群中的最佳實踐。
你還可以通過手把手的視訊、郵件、社群文章和開發者演示獲取 Flutter 動態以及學習 Flutter。我們有討論組、聊天室、社群支援以及每次一次的線上交流來幫助你搭建自己的應用。預覽本2.0 是我們最後一個預覽版。下一站:1.0!