Cross-Plattform-Entwicklung: Flutter SDK enthält neues Dart-Developer-Tool
Dart 2.10 umfasst ein neues, einheitliches Werkzeug, das dem Flutter-Tool ähnelt: Das Dart-Developer-Tool ist ab sofort Bestandteil des Flutter SDK.
- Silke Hahn
Google hat die Programmiersprache Dart in Version 2.10 und parallel dazu das Cross-Plattform-Framework Flutter 1.22 veröffentlicht. Größte Neuerung ist das sogenannte Dart-Developer-Tool, das nicht nur wie gewohnt die Sprache und Runtime für Flutter-Apps bereitstellt, sondern darüber hinaus auch klassische Entwickleraufgaben wie das Formatieren, Analysieren und Testen von Code unterstützt. Die aktuelle Version von Flutter unterstützt iOS 14 und Android 11, Google Maps und bringt Plug-ins für WebView sowie ein Tool für die Steuerung der App-Größe.
ZusammenfĂĽhrung der Entwickler-Tools im Flutter-SDK
Das neue Dart umfasst ein vereinheitlichtes Entwicklerwerkzeug im Stile des bisherigen Flutter-Developer-Tools: Es soll alle herkömmlichen Aufgaben wie das Erstellen neuer Pakete und Projekte beherrschen sowie diese betreiben, kompilieren und testen können. Nutzen lässt es sich mit dem Befehl dart
. Im Flutter SDK ab der ebenfalls frisch veröffentlichten Version 1.22 ist das neue Dart-Tool standardmäßig enthalten, das Verzeichnis flutter-sdk/bin enthält offenbar die flutter
- und dart
-Befehle. Mit der Neuerung sollen Entwickler alle Programmieraufgaben im Bereich von Flutter und Dart innerhalb des Flutter SDK umsetzen können, heißt es im ankündigenden Blogbeitrag.
Neues Dart-Developer-Tool löst bestehende kleinere Tools ab
Entwicklern steht es auch frei, ein Dart SDK als separate Entwicklungsumgebung zu betreiben, wenn zum Beispiel eine andere Version des Tools fĂĽr ein bestimmtes Projekt sinnvoll erscheint. Die Google-Entwickler weisen im Blogeintrag darauf hin, dass bei Installation mehrerer SDK-Versionen parallel die gewĂĽnschte Default-Version an den Anfang der Variable PATH
zu setzen ist.
Das Dart-Team plant offenbar, die verstreuten kleineren Entwicklertools von Dart wie dartdoc
, dartfmt
und dartanalyzer
sukzessive auslaufen zu lassen und stattdessen das neue Tool auszubauen. Ab 2021 will Google dann planmäßig nur noch Dart-SDKs mit dem Einheitstool ausliefern. Vor diesem Hintergrund legen die Verfasser der Blogankündigung Dart-Entwicklern nahe, zeitnah zum neuen Einheitstool zu wechseln. Das kann entweder manuell in der Kommandozeile oder automatisiert über Continuous-Integration-Scripts geschehen.
Volle Fahrt in Richtung Null Safety – als Opt-in-Feature
Die größte Baustelle des Dart-Teams ist weiterhin Null Safety, auf die das Team schon seit mehreren Monaten hinarbeitet. Erstmals angekündigt hatten die Entwickler das Vorhaben mit der Dart-Version 2.8 im Mai 2020, im Juni 2020 haben die Dart-Entwickler die erste technische Preview veröffentlicht: Mittelfristig soll Dart eine erweiterte Null Safety erhalten. Das heißt, dass eine Erweiterung des Typsystems Variablen einführt, die stets Non-Nullable sind. Compiler und Laufzeitumgebung können sich unter dieser Prämisse darauf verlassen, dass Variablen niemals den Wert null
annehmen. Damit einhergehende Breaking Changes hatten die Dart-Entwickler in den Raum gestellt, da durch Null Safety zwangsläufig einige Kompatibilitätsprobleme auftreten.
Im aktuellen Blogbeitrag veröffentlicht Google einen Fahrplan: Bis zur stabilen Einführung gilt es drei Stufen zu nehmen – eine experimentelle Phase von Flutter mit der technischen Preview 2, die für November vorgesehen ist, eine Early-Package-Migration mit der Beta-Version gegen Jahresende 2020 und schließlich die Freigabe zur Produktion mit einer stabilen Version. Der genaue Zeitpunkt dieser letzten Stufe hängt vom Feedback zur Beta-Veröffentlichung ab. Die Null Safety wird das Typsystem in Dart auf komplett neue Füße stellen, und künftig sollen Variablen in Dart per Default Non-Nullable sein. Die Null Safety ist allerdings eine Opt-in-Möglichkeit, damit Entwickler in ihrem eigenen Tempo den Wechsel durchführen können.
Migration, Null Safety ausprobieren und praktische Hinweise
Die Migration sollten Entwickler inkrementell planen und durchführen, wozu auch automatisierende Tools zur Verfügung stehen. Die einzelnen Schritte erläutert der Blogbeitrag genauer. Das Dart-Tool ist im SDK von Dart 2.10 und im SDK von Flutter 1.22 jeweils enthalten. Aus Flutter heraus kann man das Dart SDK per dart
-Befehl flutter upgrade
starten: Durch dieses Kommando lässt sich die aktuelle Version von Flutter samt darin enthaltenem Dart 2.10 installieren.
Neuigkeiten zur Null Safety sind für November angekündigt, sobald das Flutter-Team das Framework für die experimentelle Integration bereitstellt. Per DartPad können Interessierte Null Safety bereits testen. Weitere Informationen lassen sich der Ankündigung zu Dart 2.10 sowie dem separaten Blogbeitrag zur Veröffentlichung von Flutter 1.22 entnehmen.
(sih)