molily: TypeScript? Wozu? Isses wirklich "besser"?

Beitrag lesen

Hallo,

TypeScript ähnelt konzeptionell eher CoffeeScript. Es erweitert die JavaScript-Syntax um Typdeklarationen, Klassen, Module, Interfaces… Einiges davon ist auch für ECMAScript 6 oder 7 geplant. TypeScript kompiliert recht nahe zu JavaScript, der Typenkram fällt bei der Kompilierung größtenteils weg. Es gibt also wenig »Magie« und wenig Abstraktion.

Dart ist viel umfangreicher. Es bringt eine komplette Programmierumgebung mit (einen Compiler, ein Interpreter/eine VM, eine Standardbibliothek, eine Entwicklungsumgebung…). Man programmiert üblicherweise abstrahiert mit der Standardbibliothek, weniger direkt mit JavaScript-APIs. Die Bibliotheken schmiegen sich auch ins Ökosystem ein. Der Compiler kann dann natürlich sehr krasse Optimierungen vornehmen und nur den tatsächlich aufgerufenen Code in den Build aufnehmen.

Bei TypeScript verwendet man meist bestehende Libraries, für die muss man dann Typ-Annotationen hinzufügen (z.B. für jQuery), damit man die Vorteile von TypeScript überhaupt nutzen kann.

Dart kann zu JavaScript cross-kompiliert werden. Mit einem gewissen Overhead, weil Code für die Abstraktionen nötig ist. Die Ausgabe des Compilers wird allerdings immer weiter optimiert. Der erzeugte JavaScript-Code hat, soweit ich weiß, wenig mit dem Dart-Code zu tun, gerade weil stark optimiert wird. Eine Zuordnung ist natürlich über Source-Maps möglich, oder durch die Nutzung von Dartium, einem Chromium mit nativer Dart-VM.

Mathias