Flutter Beta 3 新特性概览
首先感謝 掘金 將本文納入 Google I/O 2018 大會專題頁中。
小集團隊會持續跟進 Flutter 的動態,和大家一起來學習并推動 Flutter 的發展。我們還和阿里閑魚團隊合作,后期在我們公眾號里,會轉發他們團隊關于 Flutter 的分享。
歡迎關注我們的公眾號,我們每周都會有原創文章分享。我們主要定位在移動開發領域,分享移動開發技術,包括 iOS、Android、小程序、移動前端、React Native、weex 等。
原文鏈接
至從 Google 在 2017 年的 Google I/O 上推出 Flutter 以來,Flutter 團隊投入了大量的精力來不斷完善 Flutter。包括重寫引擎的主要部分、發布支持 Android Studio 和 Visual Studio Code 的插件、集成 Dart 2 ,增加更多 Firebase API 的支持等等。
進入 2018 年后,Flutter 團隊在 github 上開源了 Flutter,并保持一定頻率的 beta 版本更新。我們可以看到目前在 github 上,Flutter 的 star 數達到了 23k+ 之多,受歡迎程度可見一斑。
這兩天 Google I/O 開發者大會,Flutter 也借此發布了 Beta 3 版本,向正式版又邁進了一步。本文就一起來看看,Beta 3 版本新增了哪些特性。
據官方介紹,Beta 3 版本將主要精力放在三個方面:基礎建設、生態系統、工具。讓我們來一起看看。
基礎建設
基礎建設方面主要體現在優化內置的 UI Widget,完成 Dart 2 的剩余功能和引入一些新的 API。
1 優化了內置的 UI Widget,對 Meterial Design widgets 做了許多改進,以實現更大的靈活性和定制化。如:
- 添加新的 BottomAppBar 組件;
- 改善和擴展對 Chips 的支持;
- InputDecorator 現在支持填充/下劃線和提綱(outlined)模式;
- FloatingActionButton 現在提供了更大的定位靈活性;
- Slider 現在可以定制 thumb 和 value 指示器的顏色和形狀;
- 增加對 GIF 和 WebP 等格式的動圖支持;
另外,更新了 Flutter Gallery https://github.com/flutter/flutter/tree/master/examples/flutter_gallery 應用程序,以更好的演示這些新特性。
2 完成 Dart 2 的優化工作,并且在新版本中默認啟用。
- 添加新的語法糖來幫助在 Flutter 中實例化小部件,new 關鍵字變成可選的,創建 widget 實例比以前更方便:
- 在已存在的 const 關鍵字的范圍內,const 關鍵字在任何子節點中變成可選項,所有子結點自動為 const 。之前的測試版本中,很難從上下文中推斷出對象的子對象是不可變的,所以需要給子對象也加上 const。
3 其它基礎建設:
- 改進對屏幕閱讀器的支持、大文本和對比度功能;
- 提供對從右到左閱讀的語言的支持;
- 控件可在適當位置進行鏡像;
- 重寫 Flutter 的線程模型,以便在單個應用程序中托管多個 FlutterView;
生態系統
4 Firebase 插件:幾款插件將實現 1.0 里程碑:實時數據庫(Realtime Database)、Firebase Analytics、Firebase Message、Firebase Core。此外,還為 Remote Config、Cloud Firestore 和 Performance Monitoring 添加了新的功能齊備的插件。
5 對 Google AdMob 的支持將推出 beta 版本,讓開發者可以通過 Flutter 應用獲利。
6 Flutter 團隊和 Flutter 社區都提供了許多其它包供開發者使用。
工具
Flutter 團隊持續定期更新 Android Studio 和 IntelliJ 的 Flutter 插件,以改善開發體驗。同時加強了對 Visual Studio Code 的支持,Visual Studio Code 最新版本的 Flutter 擴展包含了 Flutter Beta 3 的所有新功能:
7 重新設計了 UI Inspector,新增 "Just My Widgets" 功能,可以顯示自己代碼中創建的 widget,并且可以以樹形結構顯示 widget 中所有嵌套的 widget 的相關信息。
8 Extract Widget:對各開發工具提供了更廣泛的重構功能,這包括一個 Extract Widget 重構,這個功能將創建一個新的 Widget 類并在原始位置插入一個構造器。
9 熱加載(Hot reload)工作流:當重新加載和重新啟動時,將這些動作標記在 IntelliJ 的本地文件歷史記錄中。這使我們可以返回到之前的重新加載點并比較在 UI 上迭代時所做的更改。
10 可在 profile 模式下運行 Flutter 應用程序,該模式下會顯示每秒幀數和內存使用情況
其它一些改進可以查看參考文獻 2。
小結
目前國內 Flutter 社區也在慢慢發展起來,也有一些大公司的團隊在嘗試這項新技術,如阿里閑魚團隊,Google 官方博客也特別提到閑魚團隊的嘗試。阿里閑魚團隊在他們的公眾號上發布了他們的研究成果,大家可以關注(XYtech_Alibaba)。
另外 Flutter 團隊也非常重視中國開發者,特別提供了一些資源供中國開發者使用:
- Using Flutter in China
- Flutter Codelabs
大家可以參考。
參考
知識小集 · Flutter 自習室
另外我們拉了一個微信群,有興趣的童鞋可以加入,和我們一起學習哈。
總結
以上是生活随笔為你收集整理的Flutter Beta 3 新特性概览的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 宜人蜂巢技术点解读
- 下一篇: JavaScript 编程精解 中文第三