中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Flutter 1.9 穩(wěn)定版發(fā)布:Flutter for web 合并至 Flutter 主倉(cāng)庫(kù)、支持 macOS Catalina 和 iOS 13

2019-09-11    來(lái)源:OSCHINA

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

昨日在上海舉辦的中國(guó) Google 開(kāi)發(fā)者大會(huì)(Google Developer Days China)上,F(xiàn)lutter 團(tuán)隊(duì)在主題演講環(huán)節(jié)中發(fā)布了 Flutter 的最新穩(wěn)定版本:Flutter 1.9。據(jù)稱,此版本是 Flutter 迄今為止最大的一次版本更新,有 100 多名 contributor 在此次開(kāi)發(fā)周期中提交了超過(guò) 1500 個(gè) PR。新增的功能和其他更新涵蓋了相當(dāng)廣泛的范圍,從支持 macOS Catalina 和 iOS 13 到改進(jìn)工具鏈,以及支持新的 Dart 語(yǔ)言特性和新的 Material 風(fēng)格小部件。

在演講環(huán)節(jié),F(xiàn)lutter 團(tuán)隊(duì)還宣布了一則關(guān)于 Flutter 對(duì) web 支持的重要里程碑消息:開(kāi)發(fā)團(tuán)隊(duì)已成功將此前獨(dú)立的 Flutter for web 集成到 Flutter 的主倉(cāng)庫(kù)中。

Flutter for web 是 Flutter 的代碼兼容(code-compatible)實(shí)現(xiàn)版本,在 2019 年的谷歌 I/O 大會(huì)上,開(kāi)發(fā)團(tuán)隊(duì)發(fā)布了 Flutter for web 的首個(gè)技術(shù)預(yù)覽版,宣布 Flutter 正在為包括 Google Home Hub 在內(nèi)的 Google 智能顯示平臺(tái)提供支持,并通過(guò)結(jié)合 Chrome OS 為桌面級(jí)應(yīng)用程序提供支持邁出第一步。

Flutter for web 使用基于標(biāo)準(zhǔn)的 Web 技術(shù)(HTML, CSS 和 JavaScript)進(jìn)行渲染。通過(guò) Flutter for web,可以將 Dart 編寫(xiě)的 Flutter 代碼編譯成嵌入到瀏覽器并部署到任何 Web 服務(wù)器的客戶端版本(client experience)。開(kāi)發(fā)者可以使用 Flutter 的所有特性而無(wú)需瀏覽器插件。

現(xiàn)在 Flutter for web 集成至 Flutter 主倉(cāng)庫(kù)則意味著開(kāi)發(fā)者可使用同一套代碼庫(kù)編寫(xiě)移動(dòng)、桌面和 Web 應(yīng)用。

下面簡(jiǎn)單介紹一下 Flutter 1.9 的新特性。

Flutter on the web

正如前面所提到的,flutter_web 的 GitHub 倉(cāng)庫(kù)現(xiàn)已被棄用,這個(gè)實(shí)現(xiàn) Flutter 對(duì) web 支持的倉(cāng)庫(kù)已合并至 Flutter 的主倉(cāng)庫(kù)中。亦即意味著,如果我們從 master 或 dev 分支獲取到最新版本的 Flutter,只需運(yùn)行 flutter run -d chrome 命令即可使用最新的 Flutter 試驗(yàn)版本來(lái)開(kāi)發(fā)面向 Web 平臺(tái)的應(yīng)用。

當(dāng)我們創(chuàng)建一個(gè)項(xiàng)目時(shí),F(xiàn)lutter 現(xiàn)在會(huì)通過(guò)一個(gè)最小化的 web/index.html 文件來(lái)生成一個(gè) web 運(yùn)行引擎(web runner),其中 web/index.html 文件主要用于自舉 (bootstrap) 基于 web 編譯的 Flutter 代碼,有了此文件后,我們可使用 Flutter CLI 工具或 IDE 中的 Flutter 插件來(lái)編輯或運(yùn)行面向 Web 平臺(tái)開(kāi)發(fā)的 Flutter 應(yīng)用。

上圖是啟用了 Flutter web 支持的 VS Code 界面截圖。請(qǐng)注意 web/index.html 文件和頂部的下拉列表,可以看到這里允許開(kāi)發(fā)者選擇 Chrome 作為目標(biāo)設(shè)備。盡管 Flutter 的 web 支持仍處于早期階段,但 Flutter 1.9 代表了使用 Flutter 為 Web 開(kāi)發(fā)提供生產(chǎn)支持走出了重要的一步。

下面是兩個(gè)使用 Flutter 開(kāi)發(fā) Web 應(yīng)用的案例:

Flutter Widget Livebook 使用 Flutter for web 構(gòu)建,可展示在網(wǎng)頁(yè)上實(shí)時(shí)運(yùn)行的小部件。

Panache 則是一個(gè)用于為 Flutter 創(chuàng)建主題的工具,開(kāi)發(fā)者可以下載已創(chuàng)建的主題,然后直接添加到代碼中。

支持 macOS Catalina 和 iOS 13

蘋果將在近期推出了新版本的 macOS 操作系統(tǒng) Catalina。為此,團(tuán)隊(duì)付出了巨大努力,以確保 Flutter 做好升級(jí)準(zhǔn)備,順利適配新平臺(tái)。比如說(shuō),新版本進(jìn)一步優(yōu)化了端到端的工具體驗(yàn),保證 Flutter 工具能夠與 Xcode 妥善協(xié)作,助力開(kāi)發(fā)者面向 Catalina 開(kāi)發(fā)出優(yōu)質(zhì)應(yīng)用,具體優(yōu)化項(xiàng)包括:

  • 為新的 Xcode 構(gòu)建系統(tǒng)提供支持

  • 全工具鏈啟用 64 位支持

  • 簡(jiǎn)化平臺(tái)依賴項(xiàng)

此外,隨著 iOS 13 即將面世,團(tuán)隊(duì)也在積極推進(jìn)相關(guān)的支持工作,以確保 Flutter 應(yīng)用在新款 iPhone 設(shè)備上保持美觀的界面。Flutter 1.9 實(shí)現(xiàn)了 iOS 13 的拖曳式工具欄功能,允許長(zhǎng)按與從右往左拖動(dòng)兩項(xiàng)操作,并且為觸感反饋提供了支持。不少開(kāi)發(fā)者提交的希望 Flutter 支持 iOS 夜間模式的 pull request 已被合并,團(tuán)隊(duì)目前已開(kāi)始著手解決這方面的需求,爭(zhēng)取盡早推出解決方案。

最后,新版本的開(kāi)發(fā)構(gòu)建允許我們啟用 Bitcode 實(shí)驗(yàn)性支持。Bitcode 是蘋果新添加的一個(gè)編譯特性,開(kāi)啟 Bitcode 功能后,開(kāi)發(fā)者只需在編譯環(huán)節(jié)上傳與平臺(tái)無(wú)關(guān)的 Intermediate Representation (中間文件) 即可。以 Bitcode 的形式上傳應(yīng)用后,蘋果可以在后期直接對(duì)二進(jìn)制文件進(jìn)行優(yōu)化,免除了開(kāi)發(fā)者二次上傳的麻煩。與此同時(shí),這也為 Flutter 開(kāi)啟了更多的使用場(chǎng)景,比方說(shuō)為 watchOS 和 tvOS 等要求上傳 Bitcode 文件的平臺(tái)提供支持。

引入全新的 Material 風(fēng)格小部件

Flutter 1.9 也對(duì) Material 組件和特性進(jìn)行了升級(jí)。作為一款全球頂尖的開(kāi)源設(shè)計(jì)系統(tǒng),Material 提供了豐富多彩、靈活易操作的視覺(jué)元素,助力開(kāi)發(fā)者在多個(gè)平臺(tái)實(shí)現(xiàn)高交互性的用戶體驗(yàn)。

在 Flutter 1.9 中,開(kāi)發(fā)團(tuán)隊(duì)新添加了若干小部件,其中包括 ToggleButtons 和 ColorFiltered。

▲ ToggleButtons

▲ ColorFiltered

ToggleButtons widget 可將同一行的多個(gè) ToggleButton widget 組合到一起,其中每個(gè) widget 各自又由一組圖標(biāo)和文本 widget 構(gòu)成。通過(guò)這種組合,開(kāi)發(fā)者將得到一組外觀與行為完全可自定義的按鈕。它能為您的應(yīng)用按鈕實(shí)現(xiàn)更加多元化的設(shè)計(jì) —— 不論是單選還是多選,選擇至少一個(gè)或是零個(gè)、尖角還是圓角、粗邊或細(xì)邊,圖標(biāo)或文本 ——ToggleButtons widget 全都可以滿足。請(qǐng)查看 ToggleButtons 示例,了解以上需求的具體實(shí)現(xiàn)。

ColorFiltered widget 允許我們更改子 widget 樹(shù)的顏色,這與利用算法 (部分算法見(jiàn)上圖樣例) 給圖片重新上色差不多。該 widget 能夠幫助我們處理許多用例,例如: 向用戶提供更好的色彩無(wú)障礙服務(wù)等等。請(qǐng)查看 ColorFiltered 示例,了解該 widget 的工作細(xì)節(jié)。

國(guó)際化支持

新增了對(duì)南非語(yǔ) (Afrikaans)、祖魯語(yǔ) (Zulu) 等 24 種多國(guó)語(yǔ)言的支持。

Dart 2.5

在 Flutter 1.9 發(fā)布之際,Google 也推出了最新版本的 Dart 語(yǔ)言 —— Dart 2.5,內(nèi)含預(yù)發(fā)布版本的 Dart: FFI (外部函數(shù)接口),它可用于實(shí)現(xiàn) Dart 語(yǔ)言與 C 語(yǔ)言之間的互操作 (interop),以及由機(jī)器學(xué)習(xí)驅(qū)動(dòng)的 IDE/編輯器代碼補(bǔ)全功能。更多技術(shù)細(xì)節(jié),請(qǐng)閱讀后續(xù)發(fā)布的《Dart 2.5 發(fā)布說(shuō)明》。

優(yōu)化工具鏈

從 Flutter 1.9 開(kāi)始,iOS 新項(xiàng)目默認(rèn)使用 Swift 語(yǔ)言,而非 Objective-C;Android 新項(xiàng)目則默認(rèn)使用 Kotlin,而非 Java。由于許多 Flutter package 使用 Swift 編寫(xiě),因此,一旦將 Swift 設(shè)置為默認(rèn)語(yǔ)言后,開(kāi)發(fā)者便無(wú)需再為啟用默認(rèn)設(shè)置的應(yīng)用手動(dòng)添加包。Swift 5 實(shí)現(xiàn)了 ABI 穩(wěn)定,而且蘋果在近期幾個(gè)系統(tǒng)版本中也為應(yīng)用瘦身做了許多工作,因此 12.2 或更高版本的 iOS 系統(tǒng)將不再包含用于 Swift 的動(dòng)態(tài)鏈接庫(kù),從而大幅縮小了 Swift 應(yīng)用的體積。

考慮到 Android Studio 新項(xiàng)目現(xiàn)在已經(jīng)默認(rèn)采用 Kotlin 作為開(kāi)發(fā)語(yǔ)言了,因此,很自然地,F(xiàn)lutter 開(kāi)發(fā)團(tuán)隊(duì)把所有 Android 項(xiàng)目的默認(rèn)語(yǔ)言統(tǒng)一為 Kotlin。flutter CLI 工具、IntelliJ/Android Studio 和 VS Code 插件均默認(rèn)啟用這些選項(xiàng),不過(guò),如有需要,我們可隨時(shí)切換回之前的 Objective-C 或 Java 語(yǔ)言。

此外,開(kāi)發(fā)團(tuán)隊(duì)也在一直改善 Flutter 應(yīng)用中的錯(cuò)誤信息質(zhì)量。優(yōu)化之后,信息的可讀性、簡(jiǎn)潔性和可操作性均有明顯提升。

參考:谷歌開(kāi)發(fā)者 《Flutter 1.9 正式發(fā)布!| 全平臺(tái)創(chuàng)新開(kāi)發(fā)體驗(yàn)》

標(biāo)簽: [db:TAGG]

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:TIOBE 9月排行:PHP 排名在 TOP 10 邊緣飄搖

下一篇:開(kāi)源中國(guó) APP 4.8.2 發(fā)布:全面適配 Android 10 沙盒文件系統(tǒng)