在今年的5月9日,Dart Team
宣佈推出Dart 2.3 SDK
的穩定版本,新的語言功能能夠改善在開發用戶界面時的編碼體驗,爲開發Flutter UI
提供新的工具支持,以及兩個新網站: dart.dev和pub.dev 。編輯器
在Dart 2.3中,有三個用於表達基於列表,有條件或重複的UI的新功能。ide
...
Dart 2.3
引入了擴展運算符...
和空值感知擴展運算符...?
,它提供了一種將多個元素插入集合的簡潔方法。工具
例如,能夠使用擴展運算符...
將列表的全部元素插入另外一個列表:網站
var list = [1, 2, 3];
var list2 = [0, ...list];
assert(list2.length == 4);
複製代碼
若是擴展運算符右側的表達式可能爲null
,則能夠經過使用支持null
的擴展運算符...?
來避免異常:ui
var list;
var list2 = [0, ...?list];
assert(list2.length == 1);
複製代碼
Dart 2.3
還引入了collection if
和collection for
,能夠使用它來使用條件if
和循環for
來構建集合。編碼
下面的例子中當promoActive
爲true
時才添加該元素到集合中:spa
var nav = [
'Home',
'Furniture',
'Plants',
if (promoActive) 'Outlet'
];
複製代碼
下面使用collection for
來建立集合:插件
var listOfInts = [1, 2, 3];
var listOfStrings = [
'#0',
for (var i in listOfInts) '#$i'
];
assert(listOfStrings[1] == '#1');
複製代碼
爲了與Dart 2.3
的UI
主題保持一致,還爲IDE
支持添加了新的UI
指南功能。 UI
指南是在UI
代碼中繪製的水平和垂直線,使得更容易看到Flutter UI build()
方法的樹結構。code
UI
指南在IntelliJ IDEA
和Android Studio
的Flutter
插件的35.2
版中提供。 要啓用此功能,請選擇Preferences > Languages & Frameworks > Flutter > UI Guides
。VS Code
暫不支持該功能。cdn
能夠在任何前綴上調用代碼補全,而且將看到當前包中全部API
的完整路徑:它直接依賴的包以及SDK
。 若是從還沒有導入的庫中選擇補全代碼,則該工具會自動添加導入語句。
這個新的自動導入功能在VS Code
中的v2.26插件中提供,IntelliJ 2019.1
和即將推出的Android Studio 3.5
版本也就提供該功能。
dart.dev提供了一個全新的登錄頁面,專一於解釋Dart平臺的核心優點。 而且還更新了文檔頁面,以得到更好的導航和更具視覺吸引力。Dart Team
也對全部內容進行了大量重構,併爲之前缺乏的核心內容添加了新的頁面。
Dart Team
還更新了Pub
包網站:已將其移動到一個新的URL
:pub.dev 。