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

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

2019-09-11    來源:OSCHINA

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

昨日在上海舉辦的中國 Google 開發(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 在此次開發(fā)周期中提交了超過 1500 個(gè) PR。新增的功能和其他更新涵蓋了相當(dāng)廣泛的范圍,從支持 macOS Catalina 和 iOS 13 到改進(jìn)工具鏈,以及支持新的 Dart 語言特性和新的 Material 風(fēng)格小部件。

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

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

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

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

下面簡單介紹一下 Flutter 1.9 的新特性。

Flutter on the web

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

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

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

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

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

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

支持 macOS Catalina 和 iOS 13

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

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

  • 全工具鏈啟用 64 位支持

  • 簡化平臺(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 的拖曳式工具欄功能,允許長按與從右往左拖動(dòng)兩項(xiàng)操作,并且為觸感反饋提供了支持。不少開發(fā)者提交的希望 Flutter 支持 iOS 夜間模式的 pull request 已被合并,團(tuán)隊(duì)目前已開始著手解決這方面的需求,爭取盡早推出解決方案。

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

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

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

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

▲ ToggleButtons

▲ ColorFiltered

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

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

國際化支持

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

Dart 2.5

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

優(yōu)化工具鏈

從 Flutter 1.9 開始,iOS 新項(xiàng)目默認(rèn)使用 Swift 語言,而非 Objective-C;Android 新項(xiàng)目則默認(rèn)使用 Kotlin,而非 Java。由于許多 Flutter package 使用 Swift 編寫,因此,一旦將 Swift 設(shè)置為默認(rèn)語言后,開發(fā)者便無需再為啟用默認(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)鏈接庫,從而大幅縮小了 Swift 應(yīng)用的體積。

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

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

參考:谷歌開發(fā)者 《Flutter 1.9 正式發(fā)布!| 全平臺(tái)創(chuàng)新開發(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 邊緣飄搖

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