Flutter Beta 3 新特性概覽

首先感謝 掘金 將本文歸入 Google I/O 2018 大會專題頁中。html

小集團隊會持續跟進 Flutter 的動態,和你們一塊兒來學習並推進 Flutter 的發展。咱們還和阿里閒魚團隊合做,後期在咱們公衆號裏,會轉發他們團隊關於 Flutter 的分享。前端

歡迎關注咱們的公衆號,咱們每週都會有原創文章分享。咱們主要定位在移動開發領域,分享移動開發技術,包括 iOS、Android、小程序、移動前端、React Native、weex 等。java

原文連接git

至從 Google 在 2017 年的 Google I/O 上推出 Flutter 以來,Flutter 團隊投入了大量的精力來不斷完善 Flutter。包括重寫引擎的主要部分、發佈支持 Android Studio 和 Visual Studio Code 的插件、集成 Dart 2 ,增長更多 Firebase API 的支持等等。github

進入 2018 年後,Flutter 團隊在 github 上開源了 Flutter,並保持必定頻率的 beta 版本更新。咱們能夠看到目前在 github 上,Flutter 的 star 數達到了 23k+ 之多,受歡迎程度可見一斑。數據庫

這兩天 Google I/O 開發者大會,Flutter 也藉此發佈了 Beta 3 版本,向正式版又邁進了一步。本文就一塊兒來看看,Beta 3 版本新增了哪些特性。小程序

據官方介紹,Beta 3 版本將主要精力放在三個方面:基礎建設、生態系統、工具。讓咱們來一塊兒看看。微信

基礎建設

基礎建設方面主要體如今優化內置的 UI Widget,完成 Dart 2 的剩餘功能和引入一些新的 API。weex

1 優化了內置的 UI Widget,對 Meterial Design widgets 作了許多改進,以實現更大的靈活性和定製化。如:app

  • 添加新的 BottomAppBar 組件;
  • 改善和擴展對 Chips 的支持;
  • InputDecorator 如今支持填充/下劃線和提綱(outlined)模式;
  • FloatingActionButton 如今提供了更大的定位靈活性;
  • Slider 如今能夠定製 thumb 和 value 指示器的顏色和形狀;
  • 增長對 GIFWebP 等格式的動圖支持;

另外,更新了 Flutter Gallery https://github.com/flutter/flutter/tree/master/examples/flutter_gallery 應用程序,以更好的演示這些新特性。

2 完成 Dart 2 的優化工做,而且在新版本中默認啓用。

  • 添加新的語法糖來幫助在 Flutter 中實例化小部件,new 關鍵字變成可選的,建立 widget 實例比之前更方便:
Widget build(BuildContext context) => Scaffold(
  appBar: AppBar(
    title: Text(widget.title),
    actions: <Widget>[
      IconButton(
        icon: Icon(Icons.info),
        onPressed: _aboutAction,
      ),
      IconButton(
        icon: Icon(Icons.share),
        onPressed: _shareAction,
      )
    ],
  ),
  body: Center(
    child: _body(),
  ),
  floatingActionButton: FloatingActionButton(
    onPressed: _refresh,
    tooltip: 'Refresh',
    child: Icon(Icons.refresh),
  ),
);
複製代碼
  • 在已存在的 const 關鍵字的範圍內,const 關鍵字在任何子節點中變成可選項,全部子結點自動爲 const 。以前的測試版本中,很難從上下文中推斷出對象的子對象是不可變的,因此須要給子對象也加上 const。
const comments = <Comment>[
  Comment(
    "Creating apps is just faster and more fun with Flutter.",
    "Posse Inc."),
  Comment(
    "Yesterday I was trying #Flutter for the first time, today I published an application.",
    "@CristianDudca"),
  Comment(
    "This weekend: Met and fell in love with Flutter.",
    "@FIREYOSE"),
];
複製代碼

3 其它基礎建設:

  • 改進對屏幕閱讀器的支持、大文本和對比度功能;
  • 提供對從右到左閱讀的語言的支持;
  • 控件可在適當位置進行鏡像;
  • 重寫 Flutter 的線程模型,以便在單個應用程序中託管多個 FlutterView

生態系統

4 Firebase 插件:幾款插件將實現 1.0 里程碑:實時數據庫(Realtime Database)、Firebase Analytics、Firebase Message、Firebase Core。此外,還爲 Remote Config、Cloud Firestore 和 Performance Monitoring 添加了新的功能齊備的插件。

5Google AdMob 的支持將推出 beta 版本,讓開發者能夠經過 Flutter 應用獲利。

6 Flutter 團隊和 Flutter 社區都提供了許多其它包供開發者使用。

工具

Flutter 團隊持續按期更新 Android StudioIntelliJ 的 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 團隊也很是重視中國開發者,特別提供了一些資源供中國開發者使用:

你們能夠參考。

參考

  1. What’s New in Flutter Beta 3
  2. New Flutter tooling releases -- Inspector: 「Just my Widgets」
  3. Ready for Production Apps: Flutter Beta 3

知識小集 · Flutter 自習室

另外咱們拉了一個微信羣,有興趣的童鞋能夠加入,和咱們一塊兒學習哈。

相關文章
相關標籤/搜索