JavaScript

JavaScript gilt als eine der wichtigsten Säulen des World Wide Web. Ein Großteil der Websites setzt heutzutage neben PHP, HTML und CSS auf JavaScript im Frontend. Wie ist die Funktionsweise, was kann die Skriptsprache bieten und wo liegen ihre Schwächen?
Eine Frau sitzt am Laptop und freut sich über die vielen Möglichkeiten der Frontend-Entwicklung mit JavaScript.
© Jacob Lund

Was ist JavaScript?

JavaScript ist per Definition eine Programmiersprache im weiteren und eine Skriptsprache im engeren Sinne, wie der Name bereits impliziert. Sie gehört neben PHP zu den populärsten Programmiersprachen und wird hauptsächlich in der Webentwicklung eingesetzt. Der größte Einsatzbereich von JavaScript ist die Gestaltung des Frontends von Websites und progressive Webapps. Entwickelt wurde JavaScript im Jahre 1995 von Netscape mit dem Ziel einer dynamischen Erweiterung von HTML. HTML ist keine Programmiersprache, sondern eine Syntax zur Strukturierung des elektronischen Dokuments einer Website, welches vom Browser dargestellt wird.

Verwandtschaft zu Java?

Trotz der Namensverwandtschaft sind die Programmiersprachen Java und JavaScript grundverschieden. Der ursprüngliche Name LiveScript wurde aufgrund einer Kooperation mit Sun Microsystems zu JavaScript umbenannt, da die Integration von Java-Applets des Kooperationsprojekts mithilfe von LiveScript erfolgte und sich die Entwickler einen Marktvorteil von der Popularität von Java versprachen.

Objektbasierte Programmierung mit JavaScript

Wird JavaScript verwendet, ist die Strukturierung des Programms über Objekte organisiert, die es erlauben, Daten und Funktionalitäten zu kapseln. JavaScript wird daher auch als objektbasierte Programmiersprache definiert. Anders als Java oder C# arbeitet es dabei nicht klassenbasiert, sondern prototypenbasiert. Seit ECMAScript 2015 steht zwar eine Klassensyntax zur Verfügung, sie bildet die Prototypen-Mechanik jedoch nur ab und ersetzt sie nicht. Die Schnittstelle zwischen HTML und dem dynamischen JavaScript wird auch DOM (Document Object Model) genannt.

Funktionsweise von JavaScript

JavaScript gilt als clientseitige Skriptsprache. Clientseitig bedeutet, dass die Skripte, also die JavaScript Programme, vom verwendeten Browser interpretiert und in Form von Prozessoranweisungen auf dem Rechner der User ausgeführt werden. Dies unterscheidet sich beispielsweise von PHP- oder Perl-Skripten, die direkt auf dem Webserver laufen.

Diese Eigenschaft von JavaScript wird vor allem für dynamisches HTML genutzt. Im Hintergrund einer jeden Website steht ein HTML-Dokument. Wird eine nutzerseitige Aktion ausgeführt, beispielsweise ein Formular ausgefüllt oder ein Element angeklickt, nimmt JavaScript eine Änderung am im Browserfenster angezeigten HTML-Dokument vor. Das Dokument auf dem Webserver bleibt davon unberührt, es wird lediglich im Browser bzw. im RAM, also im Arbeitsspeicher des Rechners, bearbeitet. Die Änderung kann sowohl den Inhalt als auch grafische Elemente betreffen. Der Vorteil liegt vor allem in der Flexibilität und der Reaktionsfähigkeit von Nutzeraktionen und -eingaben, da für zusätzliche Informationen oder Elemente kein neues Dokument vom Server geladen werden muss und das Dokument interaktiv (und damit dynamisch) wird. Nicht umsonst spielt JavaScript aus diesem Grund auch eine große Rolle im Responsive Webdesign, welches sich zum Ziel gesetzt hat, Webinhalte auf jeder Bildschirmgröße angemessen darzustellen und flexibel auf Nutzeraktionen zu reagieren.

Einsatzgebiete von JavaScript

Das nach wie vor größte Einsatzgebiet von JavaScript ist das Frontend in der Webentwicklung. Heute setzt nahezu jede Website neben HTML und CSS an der einen oder anderen Stelle auf JavaScript. Im Gegensatz zu HTML und CSS ist JavaScript jedoch für den Betrieb einer Website nicht zwingend notwendig, im Gegenteil sollte es sogar das Ziel sein, dass eine Website so stabil ist, dass sie auch bei deaktiviertem JavaScript voll funktionsfähig ist. Sollten sich Fehler im Code einschleichen, können diese jedoch dazu führen, dass auch andere Funktionen und Bereiche der Website fehlerhaft oder unzugänglich sind und im schlimmsten Fall auf eine Notfall JavaScript Entwicklung zurückgegriffen werden muss.

Wird JavaScript jedoch bedacht und fehlerfrei eingesetzt, kann es dazu beitragen, dass die Website als modern, professionell, lebhaft und benutzerfreundlich wahrgenommen wird. Viele Programmierer versuchen in Zusammenarbeit mit Webdesignern und Techniken des User Experience und User Interface Designs, kurz UI/UX Design, durch den Einsatz von JavaScript eine intuitivere Bedienung zu erzielen.

Vorteile und Nachteile von JavaScript

VorteileNachteile
Modernes ErscheinungsbildWirkt manchmal überladen (Pop-ups etc.)
Dynamische Elemente und Micro-AnimationsZusätzliche potenzielle Fehlerquellen im Webdesign
Intuitivere BenutzungAus Sicherheitsgründen wird JavaScript von manchen Usern deaktiviert
Priorisierung von Elementen, cleaneres und minimalistischeres ErscheinungsbildMöglicherweise Einschränkungen der Funktion bei Deaktivierung von JavaScript
Direkter Datenbankabgleich (z. B. bei Nutzernamenregistrierung oder Festlegung eines Passworts durch asynchrone Datenübertragung mit Ajax)Sollte immer so implementiert werden, dass die Seite auch ohne JavaScript funktioniert
Keine zusätzliche Belastung des Webservers, da clientseitigAbhängig von Leistungsfähigkeit des ausführenden Rechners und der Bandbreite, wenig Kontrolle über das Endergebnis auf Seiten der Entwicklung
Günstiger wegen weniger Server-TrafficZusätzliche Belastung für den Arbeitsspeicher des ausführenden Rechners
Kann Browser-Unterschiede ausgleichen (z. B. im CSS-Layout)Der JavaScript-Code ist jederzeit vom Endnutzer einsehbar

Die Vor- und Nachteile drehen sich hauptsächlich um zwei Eigenschaften von JavaScript. Es ist eine Form der clientseitigen Programmierung und nimmt großen Einfluss auf die Bedienung der Website. Grundsätzlich sollte in der Webentwicklung so programmiert werden, dass Webseiten auch bei deaktiviertem JavaScript voll funktionsfähig sind. Der Einfluss von JavaScript auf die Usability ist nur dann positiv, wenn damit kein Risiko in der Datensicherheit entsteht, keine Überladung der Website stattfindet, keine Elemente wie Pop-Ups oder Werbung die User stören und im Gegenteil eine Verkürzung von Klickwegen oder ein anderer Beitrag zur intuitiven Bedienung geleistet wird.

Im Zuge der Digitalisierung sind Internetverbindungen und Computer heutzutage viel schneller und leistungsfähiger geworden, als sie es noch bis vor ein paar Jahren (und vor allem zur Anfangszeit von JavaScript) waren. Daher sind die Nachteile, die eine Überlastung der Rechenleistung oder Internetverbindung betreffen, glücklicherweise weitestgehend zu vernachlässigen.

Der größte Vorteil liegt in der geringen Serverbelastung. Ohne JavaScript müsste für das Aufrufen neuer Inhalte die gesamte Seite neu geladen werden. Erreicht wird dies beispielsweise mit dem oben genannten Ajax (asynchronous JavaScript and XML), einem Konzept zur asynchronen Datenübertragung mit JavaScript. Damit ist es unter anderem möglich, Inhalte erst dann in ein Dokument zu laden, wenn die Nutzer sie wählen bzw. brauchen, also beispielsweise beim Klicken oder Hovern mit der Maus über ein Element.

Erweiterungen von JavaScript

Als Hersteller von Hard- und Software hat Microsoft eine eigene Skriptsprache entwickelt: Bei JScript handelt es sich ebenfalls um eine Skriptsprache, welche auf dem ECMAScript aufbaut und mit der sich zusätzliche Features aktivieren lassen. Unterstützt wurde JScript im Web ausschließlich vom Internet Explorer, dessen Support Microsoft im Juni 2022 eingestellt hat. Für die heutige Webentwicklung spielt die Sprache damit keine Rolle mehr, im Browser gilt durchgängig der ECMAScript-Standard.

JavaScript im Einsatz bei TenMedia in Berlin

Moderne Websites, die nicht nur durch ein cleanes und geschicktes Webdesign, sondern auch durch Performance, Stabilität, Komplexität, Usability und Sicherheit den State of the Art abbilden, sind heutzutage selten geworden. Durch niedrigschwellige Content Management Systeme können zwar schnell und ohne Programmierkenntnisse modern aussehende Webseiten von Laien entwickelt werden, diese CMS bergen jedoch oft Risiken in der Sicherheit. Nicht selten steht auch hinter einem CMS wie TYPO3 oder WordPress nichts anderes als PHP- und JavaScript-Code.

TenMedia ist eine Webagentur in Berlin und setzt mit individueller Softwareentwicklung kundenspezifische Web-Projekte um. Fernab von schlüsselfertigen CMS entstehen so webbasierte Softwarelösungen, progressive Web-Apps und umfangreiche Webportale. Bei uns gibt es keinen Code von der Stange. Wir kombinieren JavaScript im Frontend mit der PHP Programmierung und Frameworks wie Laravel, um modulare Anwendungen von Grund auf erstellen zu können.

In unserer Niederlassung in Berlin zwischen Alexanderplatz und Rosa-Luxemburg-Platz freut sich unser Team über jede telefonische, elektronische oder persönliche Anfrage.

Aktuelle Themen