首個穩定更新版 — Flutter 1.2 發布
由 Flutter 團隊發布
2019 世界行動通訊大會 (MWC 大會) 於 2 月 27 日在巴塞羅那順利拉開帷幕。值此移動盛會,Flutter 團隊宣佈正式推出 Flutter 1.2。其實,這個大會對 Flutter 有著特別的記念意義,因為 Flutter 的首個 beta 測試版正是在去年的 MWC 大會上與大家見面的,自此以後,Flutter 的發展速度遠超我們的想象。如今我們再次聚首 MWC 大會,發布 Flutter 穩定版本的首個更新,以此慶祝 Flutter 誕生一週年。
Flutter 1.2
作為 Flutter 1.0 之後的首次更新, Flutter 1.2 圍繞以下點進行了重點最佳化與改進:
- 提升核心框架的穩定性、效能和質量
- 改進現有 widget 視覺效果和功能
- 為 Flutter 開發者提供全新的基於 Web 的除錯工具
自 Flutter 1.0 發布已經過去幾個月了,我們在這段時間內集中精力改進了測試和程式碼基礎框架,解決了此前積壓的 pull requests,並全面提升了框架的質量與效能。有興趣的開發者們可以前往 Flutter wiki 頁面,檢視完整的 pull requests 清單。此外,我們還在這次更新中加強了對 Swahili 等新 UI 設計語言的支援。
我們將繼續改進 Material 和 Cupertino 系列的 widgets,為開發者提供更加靈活的 Material 設計體驗,並持續在 iOS 裝置上繼續交付完美的畫素保真度。為此,我們新增了對浮動游標文字編輯的支援,並且對許多細節進行了進一步最佳化 (例如,我們更新了文字編輯游標在 iOS 裝置上的繪製方式,以便真實呈現動畫和繪圖順序)。受 Robert Penner 作品的啟發,我們擴充套件了動畫緩動函式的支援範圍。此外,Flutter 1.2 還引入了全新的鍵盤事件和滑鼠懸停支援,以作好準備為桌面級作業系統提供深層支援。
與此同時,Flutter 外掛團隊也在積極展開針對 Flutter 1.2 發布的相關最佳化工作,主要負責實現 應用內購買 支援,以及修復影片播放器 (video player)、webview 和 地圖 (maps) 中的一些錯誤。另外,我們還合併了一個來自 Intuit 工程師送出的 pull request,在 Flutter 中新增了 Android App Bundles 支援。 Android App Bundles 是一種新的封裝格式,它能有效減小應用的體積並啟動應用動態交付等新屬性。
最後,Flutter 1.2 還包含了 Dart 2.2 SDK,此項更新為程式碼編譯帶來了顯著的效能提升,並且為初始化集合提供了新語言支援。更多訊息,請閱讀《Dart 2.2 發布說明》。
特別說明: 有些讀者或許會好奇為什麼這個版本的編號是 1.2,請允許我在這裡稍作解釋。我們的目標是大概每個月向 “測試版』渠道發布 1.x 版本的 Flutter,然後每季度向『穩定版』渠道發布可在生產環境下使用的更新版本。上個月發布的 1.1 是測試版本,因此 1.2 是我們的首個穩定更新版本。
新的除錯工具
每位開發者都有著不同的技術背景,偏愛的程式設計工具和編輯器也不盡相同。為此,Flutter 新增了多種工具支援,其中包括 Android Studio 和 Visual Studio Code 的一級支援,以及支援指令行建立工具,這也就意味著開發者需要更加靈活的除錯和執行時檢查工具。
所以我們在發布 Flutter 1.2 的同時,還帶來了全新的基於 Web 的除錯工具套件,目的是幫助你更好地分析與除錯應用效能。這些工具支援與 Visual Studio Code 和 Android Studio 的擴充套件程式及載入項一同安裝,並且提供多種功能:
- Widget 檢查器: 對 Flutter 用於渲染的樹狀分級結構實現視覺化和直觀的探索;
- 時間線檢視: 可幫助你逐幀診斷自己的應用,並識別可能造成應用動畫『卡頓』的渲染和計算問題;
- 原始碼級除錯器: 支援單步執行程式碼,設定斷點並檢查呼叫堆疊;
- 日誌記錄檢視: 顯示應用所記錄的活動以及網路、框架和垃圾回收等事件。
為了給 Flutter 和 Dart 開發者創造更好的開發體驗,我們將進一步加大對基於 web 的除錯工具的投入。此外,隨著 web 整合技術的不斷發展,我們還計劃將這些服務直接新增到 Visual Studio Code 等工具中。
下一步工作
發布 Flutter 1.0 之後,除了日常開發工作之外,我們還規劃了 Flutter 2019 產品路線圖,從中你會發現我們未來仍很多工作要做。
2019 年的一個工作重點是將 Flutter 的應用範圍擴充套件到行動平台之外。我們在 Flutter Live 上啟動了 Hummingbird 計劃,加快推進 Flutter 在 Web 端的發展。我們會接下來的幾個月裡公佈該專案的初步技術成果,請大家拭目以待!另外,我們還計劃將 Flutter 引入到桌面開發中。因此,除了上述框架層面的開發工作之外,我們還會透過 Flutter 跨平臺桌面應用計劃 (Flutter Desktop Embedding Project) 幫助各位開發者在 Windows 和 Mac 等作業系統上封裝和部署應用。
Flutter Create: 你能使用 5K 的 Dart 程式碼做些什麼?
Flutter Create 挑戰賽將從本週起開始接收報名,你敢來參加嗎?參賽者需要利用 Flutter 建立充滿創意和趣味的精美應用,並把這一切全部濃縮到 5K 的 Dart 程式碼裡。5K 並不多,按照普通 MP3 格式的標準來算,差不多相當於三分之一秒的音樂。但我們敢說,有了 Flutter 的幫助,即使是使用如此少量的程式碼,你也能製作出令人大開眼界的應用。
挑戰賽將於 4 月 7 日結束,因此你將有幾周的時間來建立出色應用。我們準備了一些很棒的獎品,其中包括一台搭載 14 核處理器和 128GB 記憶體的頂配版 iMac Pro 工作站,價值超過 10,000 美元!我們將在 Google I/O 大會上宣佈獲勝者名單,並且還會在此期間開展多個 Flutter 演講、Codelab 課程和活動,敬請期待!
結語
Flutter 現已進入 Github Top 20 軟體庫,與此同時,Flutter 全球社群也在以驚人的速度蓬勃發展,為世界各地的開發者正帶去獨特的程式設計樂趣——印度清奈的開發者聚會,奈及利亞哈科特港的報道,丹麥哥本哈根的應用,以及美國紐約的孵化工作室 —— 從中我們可以清楚地看到 Flutter 正在成為一種全球現象,而這一切都離不開你的貢獻!Flutter 作為行動開發領域一股不容小覷的新生力量,不僅為開發者贏得了億萬使用者,還幫助創業者把理念推向市場。我們非常高興看到你擁有如此多的創意,也希望能夠幫助你使用 Flutter 來呈現這些創意。
在印度 SRM 大學參加 Flutter 高階研討會的與會者
我們最近還在 YouTube 網站上專門為 Flutter 開設了一個新頻道。歡迎前來 flutter.dev/youtube 進行訂閱觀看!這個頻道包含了大家非常喜愛的一些影片合集如 Boring Flutter Development Show、Widget of the Week 和 Flutter in Focus,同時也歡迎前來學習 Dream11 是如何使用 Flutter 的 ,以及 其他的開發者故事等。