Programmiersprache Dart: Neues im SDK 1.12

Michael Thomas

© Shutterstock.com/POO-SUKANYA

Beginnend mit Version 1.12 wird das Dart SDK ohne symlinks auskommen. An deren Stelle tritt die .packages-Datei.

Bislang war Dart auf symlinks angewiesen, um die packages/-Verzeichnisse zu erstellen, die für Dart-Skripte und -Bibliotheken erforderlich sind. Insbesondere bei Windows-Entwicklern führten symlinks in der Vergangenheit zu Problemen: So sorgen symlinks in jedem Unterverzeichnis für ein überladenes Projekt und ein Verzeichnis voller symlinks funktioniert nur auf einer lokalen Maschine.

Die Suche nach einer besseren Lösung führte schließlich zu dem Proposal DEP5, das die neue .packages-Datei spezifiziert und somit in Dart SDK 1.12 symlinks überflüssig macht. Die .packages-Datei ist eine einfache Map zwischen einem Package-Namen und einem URI zum lib-Verzeichnis des Packages. Die .packages-Datei wird dabei automatisch von pub, Darts Package-Manager, generiert. Die .packages-Datei befindet sich in der Regel unter package/app. Da Dart-Laufzeiten wie VM oder dartjs die Verzeichnisse vom Entry Point-Skript an durchlaufen, um eine .packages zu finden, muss diese nicht jedem Skript, das man ausführen oder kompilieren möchte, beigeben werden.

Symlinks verhindern

Anhand des Befehls --no-package-symlinks kann der Package-Manager angewiesen, die Generierung von symlinks komplett zu verhindern; statt dessen wird eine .packages-Datei im Root-Verzeichnis des Projekts generiert. In zukünftigen Versionen von Dart soll die Möglichkeit der Generierung von symlinks den Entwicklern zufolge vollständig entfernt werden.

Allerdings ergeben sich bei der Nutzung von .packages zur Zeit noch einige Einschränkungen: So erzeugt der Befehl pub global activate bislang keine .packages-Datei, was den Entwicklern zufolge bei Apps jedoch vermutlich nur dann zum Tragen kommt, wenn man die Resource-Klasse verwendet. Bei der Nutzung von WebStorm oder IntelliJ muss zudem ein Upgrade auf die neuesten EAP-Versionen durchgeführt werden. Das Dart-Plug-in für JetBrains fügt zwar einen Support von .packages hinzu, funktioniert mit WebStorm 10 allerdings eventuell nicht.

Die Entwickler bitten u. a. deshalb jeden Nutzer eindringlich um jedwedes Feedback.

Aufmacherbild: Dart in dartboard, retro-vintage style von Shutterstock / Urheberrecht: POO-SUKANYA

Geschrieben von
Michael Thomas
Michael Thomas
Michael Thomas studierte Erziehungswissenschaft an der Johannes Gutenberg-Universität Mainz und arbeitet seit 2013 als Freelance-Autor bei JAXenter.de. Kontakt: mthomas[at]sandsmedia.com
Kommentare

Hinterlasse einen Kommentar

avatar
4000
  Subscribe  
Benachrichtige mich zu: