Flutter 是 Google 面向移動(dòng)端應(yīng)用推出的一套跨平臺(tái)開發(fā)工具,助力開發(fā)者在 iOS 和 Android 兩個(gè)平臺(tái)上開發(fā)高質(zhì)量的原生應(yīng)用界面。在 20 日的中國(guó) 2018 Google 開發(fā)者大會(huì)上,谷歌推出了 Flutter 「發(fā)布預(yù)覽版 2」。這是 Flutter 1.0 之前的最后一個(gè)主要版本。

在今年二月和六月,發(fā)布了 Flutter 的 beta 版和首個(gè)預(yù)覽版,與之前兩個(gè)版本相比,F(xiàn)lutter「發(fā)布預(yù)覽版 2」的核心場(chǎng)景更為完善,整體質(zhì)量也得到了顯著提升。Flutter 1.0 穩(wěn)定版目前正處于最后開發(fā)階段,敬請(qǐng)期待!
Flutter「發(fā)布預(yù)覽版 2」新特性
本次新版本發(fā)布的主題是 “讓 iOS 應(yīng)用至臻完美”。在新版本中特別擴(kuò)展了對(duì) “Cupertino” 風(fēng)格控件的支持。預(yù)覽版 2 所提供的庫(kù)中包含大量 widget 和類,能夠幫助開發(fā)者輕松創(chuàng)建 iOS 風(fēng)格界面。
以下為 Flutter「發(fā)布預(yù)覽版 2」中新添加的 iOS 主題組建 (widget):
CupertinoApp: 用于創(chuàng)建 iOS 風(fēng)格應(yīng)用的頂層組件
CupertinoTimerPicker: 用于創(chuàng)建倒數(shù)定時(shí)器
CupertinoSegmentedControl: 用于創(chuàng)建水平分段控件
CupertinoActionSheet: 用于創(chuàng)建 iOS 風(fēng)格的底部動(dòng)作條 (bottom pop-up sheets)
改進(jìn)項(xiàng)包括:
CupertinoNavigationBar 和 CupertinoSliverNavigationBar
在切換頁(yè)面時(shí),實(shí)現(xiàn)視差滾動(dòng)效果
基于 CupertinoPageRoute.title 自動(dòng)填充頁(yè)面標(biāo)題和返回按鈕的標(biāo)簽
CupertinoPageScaffold
對(duì)內(nèi)容進(jìn)行重新布局,防止鍵盤遮蓋界面中的內(nèi)容
CupertinoScrollbar
加強(qiáng)了越界滾動(dòng)的視覺(jué)保真度
CupertinoPicker
添加了對(duì)無(wú)限滾動(dòng)和循環(huán)滾動(dòng)的支持
添加了對(duì)離軸圓柱投影的多欄支持
同時(shí)也對(duì)其它場(chǎng)景進(jìn)行了完善,例如,預(yù)覽版 2 新增加了對(duì)后臺(tái)執(zhí)行 Dart 代碼的支持,即使應(yīng)用被掛起也不會(huì)影響代碼執(zhí)行。插件開發(fā)者可以利用這項(xiàng)新特性,讓新開發(fā)的插件能夠在事件被觸發(fā)時(shí)執(zhí)行代碼,例如觸發(fā)了定時(shí)器或者接收到了地理位置更新。
此外,F(xiàn)lutter 在應(yīng)用瘦身方面也進(jìn)行了不少優(yōu)化:最多可以減少 30% 的 Android 和 iOS 應(yīng)用體積。在發(fā)布模式下針對(duì) Android 構(gòu)建出的最小 Flutter 應(yīng)用體積僅為 4.7 MB,比優(yōu)化之前減少了 2 MB。
詳情見谷歌開發(fā)者公告。