4、Dart: 2.3版本发布;

902 阅读2分钟

介绍

  在今年的5月9日,Dart Team宣布推出Dart 2.3 SDK的稳定版本,新的语言功能可以改善在开发用户界面时的编码体验,为开发Flutter UI提供新的工具支持,以及两个新网站: dart.devpub.dev

用于构建用户界面的新功能

  在Dart 2.3中,有三个用于表达基于列表,有条件或重复的UI的新功能。

扩展操作符...

  Dart 2.3引入了扩展运算符...和空值感知扩展运算符...?,它提供了一种将多个元素插入集合的简洁方法。

  例如,可以使用扩展运算符...将列表的所有元素插入另一个列表:

var list = [1, 2, 3];
var list2 = [0, ...list];
assert(list2.length == 4);

  如果扩展运算符右侧的表达式可能为null,则可以通过使用支持null的扩展运算符...?来避免异常:

var list;
var list2 = [0, ...?list];
assert(list2.length == 1);

collection if 和 collection for

  Dart 2.3还引入了collection ifcollection for,可以使用它来使用条件if和循环for来构建集合。

  下面的例子中当promoActivetrue时才添加该元素到集合中:

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');

IDE和编辑器新功能

UI指南

  为了与Dart 2.3UI主题保持一致,还为IDE支持添加了新的UI指南功能。 UI指南是在UI代码中绘制的水平和垂直线,使得更容易看到Flutter UI build()方法的树结构。

UI指南

  UI指南在IntelliJ IDEAAndroid StudioFlutter插件的35.2版中提供。 要启用此功能,请选择Preferences > Languages & Frameworks > Flutter > UI GuidesVS Code暂不支持该功能。

未导入库API的代码补全

  可以在任何前缀上调用代码补全,并且将看到当前包中所有API的完整路径:它直接依赖的包以及SDK。 如果从尚未导入的库中选择补全代码,则该工具会自动添加导入语句。

代码补全

  这个新的自动导入功能在VS Code中的v2.26插件中提供,IntelliJ 2019.1和即将推出的Android Studio 3.5版本也就提供该功能。

新的Dart&Pub网站

  dart.dev提供了一个全新的登陆页面,专注于解释Dart平台的核心优势。 并且还更新了文档页面,以获得更好的导航和更具视觉吸引力。Dart Team也对所有内容进行了大量重构,并为以前缺少的核心内容添加了新的页面。

  Dart Team还更新了Pub包网站:已将其移动到一个新的URL:pub.dev