2019 世界移動通信大會 (MWC 大會) 於 2 月 27 日在巴塞隆納順利拉開帷幕。值此移動盛會,Flutter 團隊宣布正式推出 Flutter 1.2。其實,這個大會對 Flutter 有著特別的紀念意義,因為 Flutter 的首個 beta 測試版正是在去年的 MWC 大會上與大家見面的,自此以後,Flutter 的發展速度遠超我們的想像。如今我們再次聚首 MWC 大會,發布 Flutter 穩定版本的首個更新,以此慶祝 Flutter 誕生一周年。
作為 Flutter 1.0 之後的首次更新, Flutter 1.2 圍繞以下點進行了重點優化與改進:
自 Flutter 1.0 發布已經過去幾個月了,我們在這段時間內集中精力改進了測試和代碼基礎框架,解決了此前積壓的 pull requests,並全面提升了框架的質量與性能。有興趣的開發者們可以前往 Flutter wiki 頁面,查看完整的請求列表。另外,我們還在這次更新中加強了對 Swahili 等新 UI 設計語言的支持。
我們將繼續改進 Material 和 Cupertino 系列的 widgets,為開發者提供更加靈活的 Material 設計體驗,並在 iOS 設備上實現完美的像素保真度。為此,我們添加了對浮動光標文本編輯的支持,並且對許多細節進行了進一步優化 (例如,我們更新了文本編輯光標在 iOS 設備上的繪製方式,以便真實呈現動畫和繪圖順序)。受 Robert Penner 作品的啟發,我們擴展了動畫緩動函數的支持範圍。此外,Flutter 1.2 還引入了全新的鍵盤事件和滑鼠懸停支持,以作好準備為桌面級作業系統提供深層支持。
與此同時,Flutter 插件團隊也在積極展開 Flutter 1.2 的相關優化工作,主要負責實現應用內購買支持,以及修復視頻播放器、webview 和地圖中的一些錯誤。另外,我們還合併了一個來自 Intuit 工程師提交的 pull request,在 Flutter 中添加了 Android App Bundles 支持。Android App Bundles 是一種新的封裝格式,它能有效減小應用的體積並啟動應用動態交付等新特性。
應用內購買
https://github.com/flutter/plugins/tree/master/packages/in_app_purchase
視頻播放器
https://pub.dartlang.org/packages/video_player
webview
https://pub.dartlang.org/packages/webview_flutter
地圖
https://pub.dartlang.org/packages/google_maps_flutter
Intuit 工程師提交的 pull request
https://github.com/flutter/flutter/pull/24440
Android App Bundles
https://developer.android.google.cn/guide/app-bundle/
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 Create 挑戰賽
http://flutter.dev/create
頂配版 iMac Pro 工作站
https://www.apple.com/imac-pro/specs/
Google I/O 大會
https://events.google.com/io/
Flutter 現已進入 Github Top 20 軟體庫,與此同時,Flutter 全球社區也在以驚人的速度蓬勃發展,為世界各地的開發者正帶去獨特的編程樂趣——印度清奈的開發者聚會,奈及利亞哈科特港的報導,丹麥哥本哈根的應用,以及美國紐約的孵化工作室 —— 從中我們可以清楚地看到 Flutter 正在成為一種全球現象,而這一切都離不開您的貢獻!Flutter 作為移動開發領域一股不容小覷的新生力量,不僅為開發者贏得了億萬用戶,還幫助創業者把理念推向市場。我們非常高興看到您擁有如此多的創意,也希望能夠幫助您使用 Flutter 來呈現這些創意。
印度清奈
https://twitter.com/Zfinix1/status/1079892033060392962
奈及利亞哈科特港
https://twitter.com/Zfinix1/status/1079892033060392962
丹麥哥本哈根
https://twitter.com/koorankka/status/1098579826355642368
美國紐約
https://www.hotreload.io/
贏得了億萬用戶
https://play.google.com/store/apps/details?id=com.alibaba.intl.android.apps.poseidon
幫助創業者把理念推向市場
https://play.google.com/store/apps/details?id=com.kissaan.gomitra
在印度 SRM 大學 Technozzare 參加 Flutter 高級研討會的與會者
我們最近還在 YouTube 網站上專門為 Flutter 開設了一個新頻道。歡迎前來 flutter.dev/youtube 進行訂閱觀看!
點擊屏末 | 閱讀原文 | 前往 Flutter 官網查看更多信息
推薦閱讀