Welche Features bringt das Update?

Dart 2.3 mit Spread-Operator und neuen Collection-Funktionen veröffentlicht

Florian Roos

© Shutterstock / Jackie Niam

Mit Dart 2.3 werden mehrere neue Features für die Programmiersprache ausgeliefert. Der neue Spread-Operator soll das Handling von Listen-Einträgen erleichtern, zwei neue Collection-Funktionen sind für die Arbeit mit Bedingungen und Schleifen gedacht. Daneben sind weitere Komfort-Features enthalten.

Dart 2.3 wurde mit mehreren neuen Funktionen veröffentlicht. Neben den insgesamt drei neuen Sprach-Features hat das Entwickler-Team auch an der Nutzbarkeit der Sprache in verschiedenen IDEs gearbeitet. Die neueste Version 1.5 des Frameworks Flutter setzt bereits auf Dart 2.3.

Der Spread-Operator in Dart 2.3

Um die einzelnen Elemente aus einer geschachtelten Liste in die höhere Ebene zu überführen, wurde der Spread-Operator eingeführt. Über ihn soll der Zugriff auf die jeweils in den Listen gespeicherten UI-Elemente erleichtert werden. Listing 1 zeigt die beispielhafte Verwendung des Operators, der durch dargestellt wird.

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

Ein mit Dart definiertes UI sollte man sich, so Michael Thomsen (Product Manager Dart & Flutter) im Blogpost zur Vorstellung von Dart 2.3, als eine Baumstruktur aus Widget-Nodes vorstellen. Wie für derartige Datenstrukturen üblich, enthält jeder Node einige Daten und eventuell auch weitere Nodes. Die Daten liegen dann in Form der bereits erwähnten Listen, häufig sogar als geschachtelte Listen vor.

Collection-If und Collection-For

Das in Dart 2.3 eingeführte Collection-If soll dafür sorgen, dass ein Element nur dann zu einem UI hinzugefügt wird, wenn eine definierte Bedingung erfüllt ist. Listing 2 demonstriert die Verwendung dieses Features.

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

Mit dem in Listing 3 demonstrierten Collection-For sollen Entwickler leichter Situationen abbilden können, wenn ein wiederkehrendes Element von einem anderen wiederkehrenden Element abgeleitet wird.

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

 

Abgerundet werden die neuen Features in Dart 2.3 durch eine erweiterte Nutzbarkeit in IDEs und Code-Editoren. Für IntelliJ 2019.1, Visual Studio Code (via Plug-in) und Android Studio 3.5 (noch nicht erschienen) stellt das Dart-Team eine verbesserte Autovervollständigung bereit. Anstelle der eingebundenen Bibliotheken können nun, mit Hilfe der automatischen Codevervollständigung, alle APIs des aktuellen Pakets nach passenden Funktionen durchsucht werden. Hat sich ein Entwickler auf eine Funktion festgelegt, übernimmt das neue Feature automatisch den Import der entsprechenden Bibliothek.

Um die bereits angesprochene Baumstruktur eines in Dart entwickelten UIs leichter nachvollziehen zu können, stehen mit der neuen Sprachversion sogenannte UI Guides zur Verfügung. Bei diesen handelt es sich im Grunde um hochkant oder quer verlaufende Linien innerhalb des UI-Codes. Die UI Guides stehen in Version 35.2 des Plug-ins für IntelliJ IDEA und Android Studio zur Verfügung.

Weitere Details zum Release von Dart 2.3 hält der passende Blogpost bereit.

Geschrieben von
Florian Roos
Florian Roos
Florian Roos ist Redakteur für Software & Support Media. Er hat Politikwissenschaft an der Technischen Universität Darmstadt studiert und erste redaktionelle Erfahrungen in den Bereichen Games und Consumer-Hardware gesammelt.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: