Was ist eigentlich JavaScript? Eine Einführung in die Welt der Programmiersprachen

JavaScript ist eine von Brendan Eich entwickelte clientseitige Skriptsprache. Sie entstand für den damals populären Browser Netscape und kann heute auf allen Betriebssystemen und fast allen Webbrowsern ausgeführt werden. Zum Javascript programmieren brauchst Du lediglich einen Texteditor, um den JavaScript Code zu schreiben und einen Browser, um ihn auszuführen.

Was ist JavaScript?

JavaScript (abgekürzt JS) wurde ursprünglich entwickelt, um Webseiten lebendig zu machen. Die Programme in dieser Sprache werden als Skripte bezeichnet. Der JavaScript Code kann direkt in HTML integriert und beim Laden der Seite automatisch ausgeführt werden. Ein separater JavaScript Download ist somit nicht notwendig.

Skripte werden im Klartext bereitgestellt und ausgeführt. Sie benötigen keine spezielle Vorbereitung oder Kompilierung, um ausgeführt zu werden. Benutzer müssen lediglich darauf achten, in ihrem Webbrowser Javascript zu aktivieren.

Warum JavaScript?

Als JavaScript erstellt wurde, hatte es zunächst einen anderen Namen: „LiveScript“. Zu dieser Zeit war Java sehr populär, sodass sich die Entwickler entschieden,  JavaScript als „jüngeren Bruder“ von Java zu positionieren. Im Laufe der Entwicklung wurde JS zu einer völlig unabhängigen Sprache mit einer eigenen Spezifikation namens ECMAScript und hat überhaupt keinen Bezug zu Java.

Heute kann JS Code nicht nur im Browser, sondern auch auf dem Server oder sogar auf jedem Gerät ausgeführt werden, das ein spezielles Programm namens JavaScript-Engine hat.

Der Browser verfügt über eine eingebettete Engine, die manchmal als „JavaScript Virtual Machine“ bezeichnet wird. Manche Webbrowser haben JS aus Sicherheitsgründen standardmäßig deaktiviert. In den Einstellungen lässt sich JavaScript aktivieren.

Wie funktionieren JavaScript Engines?

JS Engines sind im Inneren sehr kompliziert. Aber JavaScript Lernen und JavaScript Programmieren ist einfach.

  • Die Engine (eingebettet, wenn es sich um einen Browser handelt) liest („parst“) das Skript.
  • Dann konvertiert („kompiliert“) sie das Skript in die Maschinensprache.
  • Und dann wird der Maschinencode ausgeführt, ziemlich schnell.

Die Engine wendet Optimierungen in jeder Phase des Prozesses an. Sie beobachtet sogar das kompilierte Skript, während es läuft, analysiert die Daten, die durch es fließen, und wendet Optimierungen auf den Maschinencode an, die auf diesem Wissen basieren. Im Ergebnis sind JS-Skripte ziemlich schnell.

Was kann JavaScript im Browser bewirken?

Das moderne JS ist eine „sichere“ Programmiersprache. Es bietet keinen Low-Level-Zugriff auf Speicher oder CPU, da es ursprünglich für Browser erstellt wurde, die diese Zugriffe nicht benötigen.

Die Funktionen hängen stark von der Umgebung ab, in der JavaScript ausgeführt wird. Node.JS unterstützt beispielsweise Funktionen, die es JavaScript ermöglichen, beliebige Dateien zu lesen/schreiben und Netzwerkanfragen durchzuführen.

Im Browser ausgeführter Code kann alles, was mit der Manipulation von Webseiten, der Interaktion mit dem Benutzer und dem Webserver zu tun hat.

So bist Du mit Javascript Programmieren beispielsweise in der Lage:

  • Einer Seite neues HTML hinzuzufügen, den vorhandenen Inhalt oder die Styles zu ändern.
  • Auf Benutzeraktionen zu reagieren, sowie Mausklicks, Zeigerbewegungen und Tastendrücke auszuführen.
  • Anfragen über das Netzwerk an entfernte Server zu senden und Dateien herunter und hochzuladen (mithilfe der AJAX- und COMET-Technologien).
  • Erhalten und Setzen von Cookies, Fragen an den Besucher zu stellen, Nachrichten anzuzeigen.

Was kann JavaScript im Browser nicht leisten?

Die Fähigkeiten von JavaScript im Browser sind aus Gründen der Sicherheit des Benutzers eingeschränkt. Ziel ist es, zu verhindern, dass eine bösartige Webseite auf private Informationen zugreift oder die Daten des Benutzers schädigt. Da kein separater JavaScript Download vom Benutzer auszuführen ist, dient dies der Sicherheit des Benutzers.

Die Beispiele für solche Einschränkungen sind:

Der Code auf einer Webseite darf keine beliebigen Dateien auf der Festplatte lesen/schreiben, kopieren oder Programme ausführen. Er hat keinen direkten Zugriff auf die Funktionen des Betriebssystems.

Moderne Browser erlauben es, mit Dateien zu arbeiten, aber der Zugriff ist eingeschränkt und nur möglich, wenn der Benutzer bestimmte Aktionen ausführt, wie zum Beispiel das Ablegen einer Datei in ein Browserfenster oder die Auswahl über ein Tag.

Es gibt Möglichkeiten, mit Kamera/Mikrofon und anderen Geräten zu interagieren, aber sie erfordern die ausdrückliche Erlaubnis eines Benutzers. Somit wird vermieden, dass eine JavaScript-fähige Seite heimlich die Web-Kamera aktiviert, die Umgebung beobachtet und die Informationen beispielsweise an die NSA sendet.

Verschiedene Registerkarten/Fenster wissen in der Regel nicht voneinander. Manchmal tun sie das, zum Beispiel, wenn ein Fenster JavaScript verwendet, um das andere zu öffnen. Aber auch in diesem Fall kann es vorkommen, dass der Code von einer Seite nicht auf die andere zugreifen kann, wenn sie von verschiedenen Seiten kommt (von einer anderen Domain, einem anderen Protokoll oder Port).

Dies wird als „Same Origin Policy“ bezeichnet. Um das zu umgehen, müssen beide Seiten einen speziellen JavaScript Code enthalten, der den Datenaustausch übernimmt.

Die Begrenzung dient wieder der Sicherheit des Benutzers. Eine Seite von http://anysite.com darf nicht in der Lage sein, auf eine andere Browser-Registerkarte mit der URL http://gmail.com zuzugreifen und dort Informationen von dort zu stehlen.

JS kann leicht über das Netz mit dem Server kommunizieren, von dem die aktuelle Seite stammt. Aber seine Fähigkeit, Daten von anderen Servern/Domains zu empfangen, ist lahmgelegt. Obwohl möglich, bedarf es einer ausdrücklichen Zustimmung (ausgedrückt in HTTP-Headern) von der entfernten Seite.

Solche Einschränkungen gibt es nicht, wenn JS außerhalb des Browsers verwendet wird, zum Beispiel auf einem Server. Moderne Browser erlauben auch die Installation von Plugins/Erweiterungen, die erweiterte Berechtigungen erhalten können.

Was macht JavaScript so einzigartig?

Es gibt mindestens drei große Vorteile von JavaScript:

  1. Volle Integration mit HTML/CSS.
  2. Einfache Dinge werden einfach gemacht.
  3. Wird von allen gängigen Browsern unterstützt und standardmäßig aktiviert.

Zusammengefasst existieren diese drei Dinge nur in JavaScript und keiner anderen Browser-Technologie. Aus diesem Grund ist JS das am weitesten verbreitete Werkzeug zur Erstellung von interaktiven Webseiten.

Wenn Du planst, JavaScript zu lernen, ist es von Vorteil, die Perspektiven zu überprüfen. Kommen wir also zu den modernen Trends, die neue Sprachen und Browserfähigkeiten beinhalten.

Höhere Sprachen

Die Syntax von JS entspricht nicht den Bedürfnissen aller. Unterschiedliche Menschen wollen unterschiedliche Eigenschaften. Das ist zu erwarten, denn Projekte und Anforderungen sind für jeden unterschiedlich. So ist in jüngster Zeit eine Vielzahl neuer Sprachen entstanden, die in JS umgesetzt (konvertiert) werden, bevor sie im Browser laufen.

Moderne Tools machen die Konvertierung sehr schnell und transparent, sodass Du in der Tat in einer anderen Sprache programmieren und den Code automatisch konvertieren kannst.

Beispiele für solche Sprachen:

  • CoffeeScript führt eine kürzere Syntax ein, die es erlaubt, präziseren und klareren Code zu schreiben. Insbesondere Ruby-Entwickler schätzen diese Möglichkeit.
  • TypeScript konzentriert sich auf das Hinzufügen von „strict data typing“, um die Entwicklung und Unterstützung komplexer Systeme zu vereinfachen. Es wurde von Microsoft entwickelt.
  • Dart ist eine eigenständige Sprache mit einer eigenen Engine, die in Nicht-Browser-Umgebungen (wie zum Beispiel mobilen Apps) läuft. Es wurde ursprünglich von Google als Ersatz für JS angeboten.

Fazit

JavaScript wurde ursprünglich als reine Browsersprache entwickelt, wird aber inzwischen auch in vielen anderen Umgebungen eingesetzt. Derzeit hat JS eine einzigartige Position als die am weitesten verbreitete Browsersprache mit vollständiger Integration in HTML/CSS.

Es gibt viele Sprachen, die in JavaScript konvertiert werden und bestimmte Funktionen bieten. Es wird empfohlen, sie sich nach dem Beherrschen von JS zumindest kurz anzusehen.

4 Kommentare zu „Was ist eigentlich JavaScript? Eine Einführung in die Welt der Programmiersprachen“

  1. Pingback: Fremdsprachenkenntnisse - Wirklich so "fließend in Wort & Schrift"?

  2. Pingback: Fachkräftemangel - Hausgemachtes Problem oder Schicksal?

  3. Pingback: Ist die dritte Seite in der Bewerbung wirklich so wichtig?

  4. Pingback: Business Analyst – Berufsbild, Ausbildung & Zukunftschancen

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.