Flutter 1.7 正式版發佈

今天,咱們很是高興地向你們宣佈又一個正式版本的發佈 —— Flutter 1.7,這是繼上次 I/O 時衆多重要功能發佈以來的一次小更新。Flutter 1.7 包含了對 AndroidX 的支持,知足了 Play 商店近期對應用提出的要求,包含了一些新的和加強過的組件,修復了開發者們提出的 bug 等。html

若是你已經安裝,並使用默認穩定構建渠道 (stable channel) 的 Flutter,要升級到 1.7 版本,只須要運行 flutter upgrade 便可。同時,你能夠在 這個文檔裏 查看如何新安裝 Flutter。react

支持 AndroidX

AndroidX 是 Android 團隊用於在 Jetpack 中開發、測試、打包和發佈庫以及對其進行版本控制的開源項目,幫助 Android 應用經過最新的組件保持更新而無需犧牲向後兼容性。目前 AndroidX 已經穩定,不少 Flutter packages 已經更新和支持它,Flutter 如今能夠支持 建立一個 AndroidX 項目 (new Flutter project with AndroidX) 了,這也減小了與 Android 生態系統集成所你須要作的工做。android

當建立 Flutter 項目的時候,你能夠經過添加 --androidx 來確保生成的項目文件支持 AndroidX,更多關於將項目遷移到 AndroidX 的相關信息,請訪問 官方文檔 上的說明。咱們也在積極努力爲使用了 AndroidX 和 Android 混合庫的應用帶去 AndroidX 或 Jetifier 的支持,也會將其做爲 add-to-app 的中的一項來支持,接下來的文章中會爲你們帶來更多相關的內容。git

支持 Android App Bundles 和 64 位的 Android 應用

從 2019 年 8 月 1 日開始,爲了 target 到 Android Pie 版本,開發者們在 Google Play 上發佈的應用 必須支持 64 位架構。Flutter 一直都支持生成 64 位的 Android 應用,在 1.7 版本里,咱們加入了對 Android App Bundles 的支持,開發者們能夠在一次提交裏同時 target 到 64 位和 32 位。可經過閱讀 這篇文檔 瞭解到如何分別生成 32 位和 64 位到應用等更多內容。github

新一批的 widget 和框架的功能加強

咱們但願你的應用在任何平臺上均可以看起來平滑天然,咱們會持續在平臺相關的 widgets 上投入。編程

以下所示了一個名爲 [RangeSlider](https://github.com/flutter/flutter/pull/31681) 的 widget,幫助你在單個滑塊兒上選擇一組值:api

RangeSlider widget 支持連續或者分散的效果安全

更新以後SnackBar 支持了最新的 Material 規範,文檔裏增長了許多 樣例代碼架構

Cupertino 是用來構建精美的 iOS 體驗的 widgets 庫,咱們對其進行了大量的更新。特別提出的是,咱們提升了 CupertinoPickerCupertinoDateTimePicker widget 的保真度,並增長了對非英語語言本地化的支持。app

咱們提高了 iOS 上的 文本選擇和編輯體驗。此外,咱們新增了一個 示例,關於如何使用同一份代碼庫,調整不一樣平臺的操做體驗和適配。

文本渲染有了很大的提高,支持了豐富的 排版樣式:包括數字表格式對齊、舊式風格數字 (tabular and old-style numbers)、斜線零 (slashed zeros)、樣式集 (stylistic sets),如這個示例應用截圖所示:

有了 OpenType 的字體支持,你能夠用 Flutter 進行復雜的文字排版了

最後,咱們加入了對 遊戲控制器 的支持,會有更好玩的應用出現嗎?

初心不忘

整個團隊付出不少努力推出了 Flutter 1.7 正式版,咱們解決了開發者們在 GitHub 上提出的 1250 多個問題

隨着 Flutter 的快速增加,咱們看到你們向咱們報告了不少新的問題。爲了保證項目過程的透明,咱們一直在經過 GitHub 運行着這一套錯誤報告系統,但一些相對較小的項目,目前這個流程工做的並非很是順利。雖然咱們在不想關 issue 關閉上有一些新的進展,可是過去幾個月咱們的 issue 仍是增加的很是明顯。咱們也在努力增長這方面的資源配置,能夠幫助咱們更快的區分 bug,關閉及合併相同的 issue,以及將一些提問引導到 StackOverflow

在近期的開發者調查裏,不少開發者但願咱們在文檔和錯誤信息方面有更持續的投入。一個關鍵部分是可以在 VSCode 和 Android Studio 裏更結構化的輸出錯誤信息,咱們已經在着手 這方面的工做

咱們也修復了崩潰率最高的 bug,Flutter 工具的寫權限問題。Flutter 如今能夠更優雅的處理寫權限致使的崩潰問題,會又一個明晰的指示關於如何解決。

文檔方面,咱們會持續增長示例代碼。與此同時,你也能夠經過 Flutter create 命令直接建立示例文檔,以下是命令:

flutter create --sample=widgets.Form.1 mysample

若是經過這種方式建立示例,你將在文檔中的 Sample in the App 這一欄看到:

咱們也會持續把每週 Flutter widgets 視頻嵌入到文檔中,在開發者們瀏覽各類 widget 的時候能夠獲得更全面的理解。

還有一些幕後的設施建設工做正在進行,以便 Flutter app 更好的在 macOS 和 Windows 平臺運行。好比支持一些較爲重要的平臺操做,好比右鍵和一些特別的平臺基建工做(好比 MSBuild 等)。不過,這些非移動平臺的支持目前尚未在穩定構建渠道 (stable channel) 發佈。

最後,當你在蘋果電腦上開發 Flutter 應用的時候,咱們支持了 新的 Xcode 構建系統,這個對新的應用是默認開啓的,也同時方便 支持現有的應用

不斷壯大的 Flutter 社區

一如既往,咱們很是高興看到 Flutter 在受衆羣體和應用場景上繼續持續增加,同時咱們也欣賞各類不一樣的 Flutter 使用方式。自 I/O 以來,Flutter 團隊致力於全球範圍內的各項活動:從中國的 GMTC 到紐約和墨西哥的交流會和演講等,面對面對你們交流 Flutter 應用開發是一件特別棒的事情。

以前咱們提到過Reflectly,它是一個丹麥的公司,他們在 iOS 和 Android 平臺開發了很是有吸引力的應用程序。他們的應用程序被美國 iPhone 應用商店評爲當日最佳應用。這也證實了 Flutter 的真正潛力遠遠超過實現體驗流暢的應用(同時能夠幫助開發者得到成功)。

查看 Reflectly 的開發者成功故事:https://www.bilibili.com/vide...

在柏林的 WeAreDevelopers 大會中,BMW 發佈了他們基於 Flutter 的應用,目前已經在開發中。下面這段描述來自 Guy Duncan,他是 BMW 集團互聯公司的 CTO:

經過結合 Dart 和 Flutter,咱們實現了第一個真正跨平臺的移動工具包;咱們認爲它打破了原有的遊戲規則,能夠平衡數字交互和物聯網的功能特性。

經過使用主流的工具鏈、自動化工具和現代化的編程模式,咱們能夠優化循環時延、安全性、商業應用特性的推送成本。

除了應用程序,整個開源社區所涉及的衆多 資源插件Flutter 社區活動Meetup 也使得 Flutter 變得格外生機勃勃。咱們會持續關注你們基於 Flutter 所實現的各類有趣的應用,同時也很是榮幸和你們一塊兒分享其中的樂趣。

圖片來源: @damian2048

相關文章
相關標籤/搜索