JavaScript, TypeScript, Dart: Wer die Wahl hat…

Hartmut Schlosser

„Dart und TypeScript können eine Menge voneinander lernen“, so lautet das kollegiale Fazit des Dart-Teams bei Google, das auf seinem Blog die Microsoft-Konkurrenz TypeScript willkommen heißt.

Wer in Visual Studio bereits mit einer großen JavaScript-Codebasis arbeitet, der wird TypeScript als eine großartige Bereicherung erfahren, schreibt Shannon Behrens vom Dart-Team. Webentwickler hätten lange Zeit eigentlich keine großen Wahlmöglichkeiten gehabt. Mit Alternativen wie TypeScript und Dart sei nun aber eine Wende eingeleutet, die die Zukunft der Webentwicklung insgesamt in einem hellen Licht erscheinen lasse.

Nun unterscheidet sich TypeScript allerdings gegenüber Dart um einen wichtigen Punkt: Während TypeScript aus einer Obermenge von JavaScript besteht und lediglich Zusatzfeatures wie statische Typisierung und objektorientierte Konstrukte bietet, die dann allesamt zurück nach JavaScript kompiliert werden, verfügt Dart auch um eine native VM. Dart kann zwar auch nach JavaScript kompilieren, der wahre Vorteil offenbart sich aber erst bei der nativen Dart-Entwicklung.

Auf diese native Entwicklung legt auch Behrens besonderen Wert. Die Dart Virtual Machine eröffne völlig neue Möglichkeiten, beispielsweise erlaube das neue Dart-Feature „snapshotting“ 10fach schnellere Startzeiten einer Anwendung. Dart sei insbesondere für die Mobile-Entwicklung geeignet – von einigen wurde es ja bereits als möglicher Java-Ersatz in der Android-Plattform gehandelt, falls die Urheberrechtsklage Oracles erfolgreich gewesen wäre (was sie ja nicht war – obwohl Oracle nun nochmals Einspruch eingelegt hat). Die Dart VM schlage alle Performance-Rekorde selbst der V8 JavaScript Engine – zumindest in einigen internen Benchmarks.

Nun, es ist klar, dass das Dart-Team die eigenen Erfolge hervorhebt. Was allerdings hier als Vorteil verkauft wird, ist gleichzeitig auch ein Nachteil: Das große Dart-Problem besteht nämlich darin, die Browser-Hersteller zu überzeugen, die Dart VM in ihre Software einzubauen. Und wer möchte schon dem Konkurrenten Google den Steigbügel zum Erfolg halten?

Interessanterweise hat das Dart-Team aber vor kurzem erst eine JavaScript-Dart Interop Library vorgelegt, mit der sich JavaScript-Objekte in Dart-Code einbetten lassen. Umgekehrt lassen sich Dart-Funktionen auch von JavaScript-Code aus ansprechen. Behrens erwähnt auch die Arbeiten an Web Components und Isolates, mit denen man dem Traum der Kapselung im Browser näherkomme – womit sich dann die Browser-Problematik von selbst erledigt hätte.

Wie dem auch sei – zwei Gemeinsamkeiten haben die beiden JavaScript-Verbesserungssprachen von Google und Microsoft auch noch: Beide wurden im dänischen Aarhus der Weltöffentlichkeit vorgestellt. Und beide stammen von wahren Programmiersprachen-Legenden: Für TypeScript stand Delphi- und C#-Erfinder Anders Hejlsberg Pate. Dart hat Newspeak-Mitbegründer Gilad Bracha in Kooperation mit Chrome-Entwickler Lars Bak zu verantworten.

TypeScript oder Dart? Halten wir es zum Schluss mit dem Kommentator Danijel Premus, der beiden Sprachen Positives abgewinnen kann:

TypeScript compiler runs on Node.JS which is based on V8 and Dart reminds me to good old Hejlsberg Delphi. I see only good things in both project and I whish good luck to both projects.

Geschrieben von
Hartmut Schlosser
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.