国产精品国产a_久久久久久久久综合_免费午夜视频_黄色大片网站_欧美一级免费_av成人在线观看

Dart 2.3 發(fā)布 帶來構(gòu)建 UI 新特性

我是創(chuàng)始人李巖:很抱歉!給自己產(chǎn)品做個廣告,點(diǎn)擊進(jìn)來看看。  

Google I/O 2019 第二天,官方發(fā)布了 Dart 2.3 穩(wěn)定版本。此版本針對構(gòu)建用戶界面進(jìn)行了優(yōu)化,改善了開發(fā)者在開發(fā) UI 時(shí)的編碼體驗(yàn),為開發(fā) Flutter UI 提供了新的工具支持,同時(shí)還提供了兩個新的網(wǎng)站:dart.dev 與 pub.dev。

Dart 2.3 發(fā)布 帶來構(gòu)建 UI 新特性

用于構(gòu)建用戶界面的新語言特性

在客戶端開發(fā)方面, Dart Flutter 團(tuán)隊(duì)之間長期合作的項(xiàng)目之一就是使用 Dart 捕獲用戶界面代碼,而不需要標(biāo)記語言。開發(fā)團(tuán)隊(duì)認(rèn)為對行為和布局使用單一語言具有很大的好處,包括減少上下文切換、不必學(xué)習(xí)兩種語言,并在構(gòu)建 UI 時(shí)允許通用編程語言的所有抽象功能。

在 Dart 最近幾個版本中進(jìn)行了一些改進(jìn),例如簡化構(gòu)建 widget 的代碼,添加自動的 int-to-double 轉(zhuǎn)換以及添加 set literals。Dart 2.3 中,進(jìn)一步帶來了三個用于描述 UI 的新特性:基于列表、條件與重復(fù)。

可以將 UI 視為 widget 節(jié)點(diǎn)的樹,一些節(jié)點(diǎn)包含 widget 列表,例如可滾動元素的列表。通常這些列表是從其它列表構(gòu)建的。為此,添加了一個新的?spread operator?擴(kuò)展運(yùn)算符特性,用于將元素從一個列表解壓到另一個列表。在下面的示例中,buildMainElements() 返回一個 widget 列表,然后使用擴(kuò)展運(yùn)算符 … 將其解壓到周圍列表中:

Widget?build(BuildContext?context)?{??return?Column(children:?[????Header(),????...buildMainElements(),????Footer(),??]);}

另一個常見的 UI 任務(wù)是根據(jù)條件包含特定元素。例如,開發(fā)者可能希望在所有頁面上都帶有“下一步”按鈕,當(dāng)然條件是最后一頁不需要這個按鈕。在 Dart 2.3 中,可以使用以下?collection if?執(zhí)行此操作:

Widget?build(BuildContext?context)?{??return?Column(children:?[????Text(mainText),????if?(page?!=?pages.last)??????FlatButton(child:?Text('Next')),??]);}

最后,UI 經(jīng)常從其它重復(fù)元素構(gòu)建重復(fù)元素,可以使用新的?collection for?特性來描述這一點(diǎn):

Widget?build(BuildContext?context)?{??return?Column(children:?[????Text(mainText),????for?(var?section?in?sections)??????HeadingAction(section.heading),??]);}

這三個新特性是語言特性,而不是標(biāo)記命令,因此它們是完全可組合的,可以在處理集合的任何上下文中使用。這些特性包含在 Flutter 1.5 版本中,可在 Dart 2.3 版本中找到。

此外還添加了新的 lint,可以在靜態(tài)分析中配置這些 lint 以強(qiáng)制使用新的 spread、collection if 和 features for 特性。

IDE 和編輯器功能

配合 Dart 2.3 的 UI 特性改進(jìn),此版本還為 IDE 支持添加了新的 UI Guides 功能。UI Guides 是在 UI 代碼中繪制的水平和垂直線,使得更容易看到 Flutter UI build() 方法的樹結(jié)構(gòu)。以下是一個計(jì)算器應(yīng)用示例,其中 UI Guides 清楚地表示了?UI 是從包含多個 KeyRows 的擴(kuò)展列構(gòu)建的,每個 KeyRows 包含 NumberKeys。

Dart 2.3 發(fā)布 帶來構(gòu)建 UI 新特性

UI Guides 在 IntelliJ IDEA 35.2 和 Android Studio 插件中提供。今后 VS Code 中也有望提供類似支持。

另一方面,開發(fā)者在使用 API 時(shí)經(jīng)常會使用代碼自動補(bǔ)全功能,這一功能在補(bǔ)全已導(dǎo)入的庫中的 API 效果很好,但對于還未導(dǎo)入的庫則不起作用。新版本?IDE 現(xiàn)在彌補(bǔ)了這一不足,開發(fā)者現(xiàn)成可以在任何前綴上調(diào)用代碼補(bǔ)全,并且將看到當(dāng)前包中所有 API 的完整性,它直接依賴的包以及 SDK。如果補(bǔ)全的是尚未導(dǎo)入的庫中的代碼,則 IDE 會為自動添加導(dǎo)入語句。

Dart 2.3 發(fā)布 帶來構(gòu)建 UI 新特性

新的 Dart 與 Pub 網(wǎng)站

開發(fā)團(tuán)隊(duì)為 Dart 平臺構(gòu)建一個新網(wǎng)站:dart.dev,https://dart.dev。

該網(wǎng)站提供了一個全新的登陸頁面,專注于解釋 Dart 平臺的核心優(yōu)勢,同時(shí)更新了文檔頁面,以獲得更好的導(dǎo)航和更具視覺吸引力。最后,對所有內(nèi)容進(jìn)行了大量重組,以使其更容易被發(fā)現(xiàn),并為以前缺少的核心內(nèi)容添加了新頁面。此外,更新了 Pub 包網(wǎng)站,并使用了方便的新 URL:pub.dev。

隨意打賞

html5新特性
提交建議
微信掃一掃,分享給好友吧。
主站蜘蛛池模板: 日韩毛片在线看 | 欧美成人午夜 | 免费播放av | 欧美a视频在线观看 | 黄色网址在线免费播放 | 亚洲成人福利电影 | 久章草在线视频 | 国产一区网址 | 亚洲一区二区三区91 | 18被视频免费观看视频 | 亚洲网视频 | 亚洲成人第一区 | 久久噜噜噜精品国产亚洲综合 | 成人做爽爽爽爽免费国产软件 | 日韩伦理电影免费观看 | 中文字幕电影免费播放 | 国产精品999在线观看 | 密室逃脱第一季免费观看完整在线 | 久久欧美亚洲另类专区91大神 | 欧美成人鲁丝片在线观看 | 老师你怎么会在这第2季出现 | 日韩大片在线永久观看视频网站免费 | 91精品国产91久久久久久丝袜 | 日本一区二区三区四区高清视频 | 日本中文字幕网址 | 欧美性猛交一区二区三区精品 | 日韩电影av在线 | 国产资源在线观看视频 | 亚洲精品aⅴ中文字幕乱码 中文字幕欧美在线 | xxxxhd73国产 | 免费观看一级黄色片 | 一级黄片毛片免费看 | 久久人添人人爽人人爽人人片av | 国产免费专区 | 欧美18—19sex性hd | 免费a视频在线观看 | 精品成人国产在线观看男人呻吟 | 精品视频 久久久 | 黄视频网站免费在线观看 | 日本一区二区不卡在线观看 | 色中色在线播放 |