Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Microsoft arbeitet an einer nativen TypeScript Implementierung in Go. Das verspricht massive Performance-Verbesserungen! Ist das der nächste Schritt für TypeScript?
Microsoft investiert erheblich in die Zukunft von TypeScript, indem es an einer nativen Implementierung des TypeScript-Compilers und der zugehörigen Tools arbeitet. Diese Initiative verspricht, die Startzeiten des Editors deutlich zu verbessern, die Build-Zeiten zu reduzieren und den Speicherverbrauch drastisch zu senken, was die Entwicklungserfahrung grundlegend verändern könnte.
TypeScript, ein von Microsoft entwickeltes und gepflegtes Superset von JavaScript, erweitert JavaScript um statische Typisierung und andere leistungsstarke Funktionen. Es wurde entwickelt, um die Entwicklung großer JavaScript-Anwendungen zu vereinfachen, indem es die Lesbarkeit, Wartbarkeit und Zuverlässigkeit des Codes verbessert. Anders Hejlsberg, der leitende Architekt von TypeScript, hob die Grenzen von JavaScript für rechenintensive Aufgaben wie Compiler hervor. JavaScript-Laufzeitumgebungen sind für die Leistung von Benutzeroberflächen und Browseranwendungen optimiert, was zu Leistungseinbußen bei rechenintensiven Workloads führen kann. Mit dem Wachstum und der Komplexität von TypeScript-Codebasen sind Entwickler zunehmend auf Performance-Probleme gestoßen, insbesondere beim Speicherverbrauch. Da der aktuelle TypeScript-Compiler in JavaScript geschrieben ist, unterliegt er diesen Einschränkungen. Laut Hejlsberg hat Microsoft möglicherweise die Grenzen der Optimierungsmöglichkeiten von JavaScript zur Bewältigung dieser Probleme erreicht.
Um diese Herausforderungen zu meistern, hat Microsoft beschlossen, den TypeScript-Compiler in Go neu zu schreiben. Go ist eine kompilierte Sprache, die direkt in Maschinencode übersetzt wird und somit eine deutlich höhere Leistung im Vergleich zu interpretierten Sprachen wie JavaScript bietet. Go bietet außerdem eine hervorragende Kontrolle über das Speicherlayout, was die Optimierung des Speicherverbrauchs ermöglicht. Die integrierte Unterstützung für nebenläufige Programmierung in Go vereinfacht das Schreiben von Anwendungen, die mehrere Aufgaben gleichzeitig ausführen können. Hejlsberg begründete die Wahl von Go mit dessen Fähigkeit, die niedrigstmögliche Ebene mit optimierter nativer Codeunterstützung auf allen Plattformen zu bieten, sowie der hervorragenden Kontrolle über das Datenlayout und die Möglichkeit, zyklische Datenstrukturen zu erstellen. Zusätzlich bietet Go automatische Speicherverwaltung mit einem Garbage Collector und exzellenten Zugriff auf Nebenläufigkeit.
Die ersten Ergebnisse der nativen TypeScript-Implementierung sind beeindruckend. Microsoft berichtet, dass die neue Implementierung in der Lage ist, große TypeScript-Repositorys wie VS Code, Playwright, TypeORM und date-fns zu laden. Benchmark-Tests zeigen signifikante Leistungssteigerungen gegenüber der JavaScript-basierten Version. Die Kompilierung der VS Code-Codebasis beispielsweise dauerte mit der JavaScript-basierten Implementierung 77,8 Sekunden, mit der nativen Implementierung jedoch nur 7,5 Sekunden. Diese dramatischen Verbesserungen beschleunigen Build-Iterationen, ermöglichen schnellere Fehlererkennung und eröffnen neue Möglichkeiten für rechenintensive Tools und Funktionen.
Der durch die native Implementierung ermöglichte Geschwindigkeitsschub eröffnet neue Möglichkeiten für KI-gestützte Entwicklungstools. Die verbesserte Leistung ermöglicht es TypeScript, sofortige, umfassende Fehlerlisten für ganze Projekte bereitzustellen, fortschrittlichere Refactorings zu unterstützen und tiefere Einblicke zu bieten, die zuvor zu rechenintensiv waren. Dies könnte zu KI-Tools führen, die Code automatisch vervollständigen, Fehler erkennen und beheben und sogar neue Funktionen vorschlagen.
Microsoft plant, die native Implementierung als TypeScript 7.0 zu veröffentlichen, sobald sie funktional der aktuellen Version entspricht. Währenddessen wird die JavaScript-basierte Version in der 6.x-Reihe weiterentwickelt, um die Kompatibilität mit der nativen Codebasis sicherzustellen. Microsoft erwartet, dass einige Projekte direkt auf TypeScript 7 umsteigen können, während andere möglicherweise an API-Funktionen oder Legacy-Konfigurationen gebunden sind und TypeScript 6 weiterhin verwenden müssen. Die JavaScript-Codebasis wird in der 6.x-Linie gepflegt, bis TypeScript 7+ ausreichend ausgereift und akzeptiert ist. Das langfristige Ziel ist die größtmögliche Angleichung dieser Versionen, um Entwicklern Flexibilität beim Upgrade oder Downgrade zu bieten.
Die Ankündigung wurde von der Entwickler-Community positiv aufgenommen, und Branchenanalysten sehen darin einen bedeutenden Fortschritt für TypeScript. Die Leistungssteigerungen könnten die Entwicklung von TypeScript-Anwendungen, insbesondere bei großen Projekten, revolutionieren und neue Möglichkeiten für KI-gestützte Entwicklungstools eröffnen. Obwohl der Übergang zu TypeScript 7.0 für einige Projekte herausfordernd sein könnte, sollte die kontinuierliche Unterstützung von Microsoft für die JavaScript-Codebasis in der 6.x-Linie diese Bedenken mindern.
Die native Implementierung von TypeScript durch Microsoft ist ein wichtiger Schritt, der die TypeScript-Entwicklung produktiver und effizienter gestalten wird. Die Leistungssteigerungen und die neuen Möglichkeiten für KI-gestützte Tools versprechen eine verbesserte Entwicklungserfahrung. Das Engagement von Microsoft für die kontinuierliche Unterstützung der JavaScript-Codebasis in der 6.x-Linie stellt sicher, dass Entwickler flexibel auf TypeScript 7 migrieren können. Diese Initiative unterstreicht die Bedeutung von TypeScript und das Vertrauen von Microsoft in seine Zukunft.
Entwickler können sich im TypeScript Discord-Kanal von Microsoft über die Initiative informieren und im FAQ weitere Details finden. Die Beteiligung der Community wird die Entwicklung der nativen Implementierung mitgestalten. Technologie-Blogs und TypeScript-Konferenzen bieten weitere Informationen über die neuesten Entwicklungen und die bevorstehende Version von TypeScript 7.0.
Word count: 1861