«JavaScript ist keine richtige Programmiersprache» oder «Für kleine Projekte ganz ok, aber nichts für etwas Grosses», so der Sprache lange anhaftende Ruf. Die letzten Jahre hat sich die Sprache jedoch stark entwickelt. Sie ist erwachsener geworden und hat neue Einsatzgebiete erschlossen. Bekannt für den Einsatz in Webbrowsern, bietet sie sich inzwischen auch für die Programmierung von Applikationen auf Servern an. Grosse Namen wie Netflix und Uber verwenden JavaScript in diesem «Backend» Bereich. Warum entscheiden sich Weltkonzerne für JS?
JavaScript hat seine Wurzeln in Webbrowsern. Die Programmiersprache wurde 1995 von Netscape Communication ins Leben gerufen. Eingesetzt in ihrem damaligen Webbrowser Netscape Navigator, konnten dadurch neu Benutzerinteraktionen ausgewertet und Inhalte dynamisch verändert werden. In anderen Worten: die Erweiterung sollte lebendigere Websites ermöglichen. Mit diesem Hintergrund wurde die Sprache daher auf Einfachheit und kleine Projekte ausgelegt.
Java - JavaScript
Im Jahre 1996 entschied Netscape aus Marketing Gründen von der schnell an Popularität gewinnenden Sprache Java zu profitieren und benannte die Sprache von LiveScript in JavaScript um. Vom ähnlichen Namen abgesehen, unterscheiden sich die beiden Sprachen jedoch stark voneinander.
Eine echte Programmiersprache?
Klassischerweise werden Programme in kompilierter Form ausgeliefert. Die Kompilierung wandelt den für Menschen einfach lesbaren Code in einen vom Computer gut lesbaren Code um. Dadurch läuft das Programm äusserst effizient ab. Dagegen ist JavaScript eine sogenannte Scriptsprache und wird nicht kompiliert. Damit eine JavaScript Applikation ausgeführt werden kann, muss ein Interpreter dazwischengeschaltet werden – sozusagen ein Übersetzer von JavaScript auf Maschinencode. Diese Übersetzung braucht Zeit und Ressourcen, weshalb Scriptsprachen per se langsamer laufen. Nebst Netscape hat 1996 auch Microsoft einen JS Interpreter geschrieben und diesen im Internet Explorer eingesetzt. Leider interpretierten die beiden Browser JS nicht immer gleich. Als Folge liefen teils Homepages auf gewissen Browsern fehlerhaft oder gar nicht. Diese Problematik und die Tatsache, dass die Interpreter anfangs nicht so effizient «übersetzten», halfen dem Ruf von JS nicht. Zudem wurden die damals geschriebenen Interpreter jeweils im Browser ausgeführt, weshalb die Sprache auch bloss im Browser eingesetzt werden konnte.
Neue Einsatzgebiete
2009 veröffentlichte Ryan Dahl mit Node.js, eine Programmier-Umgebung, welche neue Einsatzbereiche für JavaScript ermöglicht und auf allen gängigen Betriebssystemen läuft. In die Umgebung Node.js wurde der Interpreter von Google Chrome sowie ein Webserver integriert. Diese Kombination macht JavaScript zu einer starken Möglichkeit, über die bisherigen Webanwendungen hinaus auch Anwendungen im Backend zu entwickeln. In Node.js kann der JavaScript Code in «Module» unterteilt werden, um die Übersichtlichkeit zu verbessern, was speziell die Entwicklung von grösseren Applikationen unterstützt. Node.js wird im Rahmen eines Open Source Projekts entwickelt. Der integrierte Paket-Manager ermöglicht es, Pakete zu veröffentlichen, und anderen Entwicklern zur Verfügung zu stellen. Nicht zuletzt deswegen ist über die Jahre eine weltweite Community mit tausenden von Programmierern und einer riesigen Zahl von verfügbaren Programmteilen entstanden.
TypeScript
Mit dem Hintergrund, dass JavaScript ursprünglich für einen relativ engen Einsatzbereich konzipiert worden ist, litt und leidet sie an gewissen strukturellen Mängeln. Diese wirken sich einerseits negativ auf die Schreib- und Lesbarkeit aus, andererseits kann es immer wieder dazu kommen, dass der Code ein unerwartetes Verhalten an den Tag legt. Microsoft veröffentlichte 2012 die Programmiersprache TypeScript. Code in dieser Sprache wird in einem ersten Schritt in JavaScript kompiliert (transpiliert), was dann wiederum zur Laufzeit von einem Browser oder Node.js interpretiert wird.
Somit können in TypeScript sowohl fehlende Strukturen zur Verfügung gestellt als auch unerwartetes Verhalten minimiert werden. Am Ende entsteht wieder reines JavaScript mit all seinen Vorteilen.
Fazit
Seit seinen Anfängen hat sich JavaScript enorm weiterentwickelt, Strukturen wurden verbessert, der Einsatz im Backend ermöglicht und die Community besser eingebunden. Das renommierte IT News Portal heise.de zeigt ein Ranking von RedMonk, worin JS gar auf Platz 1 der weltweit populärsten Programmiersprachen rangiert. Dies alles sind deutliche Zeichen einer erwachsenen Programmiersprache.
Wir bei IoTell haben uns ebenfalls von den vielen Vorteilen der Sprache überzeugen lassen. Unser zusätzliches Bedürfnis nach gut strukturiertem und lesbarem Code haben uns zu TypeScript geführt. Unsere Produkte im Bereich IoT verlangen nach einer Webanwendung für den User, einer Software welche Sensordaten aufbereitet, einem Backend und nicht zuletzt Schnittstellen ins ERP. All diese Komponenten in derselben Sprache entwickeln zu können, erhöht die Produktivität und spart Kosten. Dank dieser Durchgängigkeit können gesammelte Erfahrungen einfach untereinander ausgetauscht werden. Wir sind überzeugt, dass diese Strategie die Qualität der Software steigert.
Autor
Andi Bolleter ist Mitinitiant von IoTell und Softwareentwickler mit langjähriger Erfahrung im Bereich Business Software