Ein Transpiler übersetzt Quelltext von einer Sprache in eine andere auf derselben Ebene, etwa neues JavaScript in älteres.
- Transpiler
Ein Übersetzer, der Quelltext von einer Sprache in eine andere auf derselben Abstraktionsebene überführt.
Beispiel: „Der Transpiler macht aus dem neuen JavaScript eine Fassung, die auch ältere Browser verstehen.“Auch: Source-to-Source-Compiler, auf Deutsch etwa Quelltext-zu-Quelltext-Übersetzer.
Abgrenzung zum Compiler: Beide übersetzen. Der Compiler erzeugt etwas Maschinennäheres, der Transpiler wieder lesbaren Quelltext.
Wofür er im Web gebraucht wird
Für zwei Dinge. Erstens, um neuere Sprachmittel in älteren Browsern verfügbar zu machen: Was ECMAScript dieses Jahr hinzugefügt hat, wird in eine Schreibweise übersetzt, die seit Jahren überall läuft.
Zweitens, um Sprachen auszuführen, die der Browser gar nicht kennt. TypeScript ist der bekannteste Fall: Die Typangaben werden entfernt, übrig bleibt gewöhnliches JavaScript.
Dass er an Bedeutung verliert
Die Browser haben aufgeholt. Was vor zehn Jahren übersetzt werden musste, läuft heute überall von sich aus, und die Zahl der Nutzer mit wirklich alten Browsern ist klein geworden.
Geblieben ist der Einsatz für TypeScript und für einzelne sehr neue Sprachmittel. Bei Projekten prüfen wir deshalb regelmäßig, ob die eingestellte Zielversion noch zur tatsächlichen Besucherschaft passt; eine zu alte Einstellung macht den ausgelieferten Code größer und langsamer, ohne jemandem zu nützen.
Abgrenzung zum Polyfill
Der Transpiler übersetzt Schreibweisen. Fehlt dem Browser dagegen eine ganze Funktion, hilft das nichts; dann wird sie über ein Polyfill nachgereicht, also über Code, der sie nachbildet. In der Praxis werden beide zusammen eingesetzt.