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?

JavaScript
© Jacob Lund
Teilen

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, gilt aber im Gegensatz zu Java oder C# aufgrund fehlender Klassen sowie Funktionen der Vererbung und Polymorphie als nicht objektorientiert. 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 kann lediglich im Browser bzw. im RAM, also im Arbeitsspeicher des Rechners, bearbeiten. 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 nicht aktivieren von 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

Vorteile Nachteile
Modernes Erscheinungsbild Wirkt manchmal überladen (Pop-Ups etc.)
Dynamische Elemente und Micro-Animations Zusätzliche potenzielle Fehlerquellen im Webdesign
Intuitivere Benutzung Aus Sicherheitsgründen wird JavaScript oft von Usern deaktiviert
Priorisierung von Elementen, cleaneres und minimalistischeres Erscheinungsbild Mö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 clientseitig Abhä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-Traffic Zusätzliche Belastung für den Arbeitsspeicher des ausführenden Rechners
Kann automatisch Browser-Probleme beheben (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: Dass es eine Form der clientseitigen Programmierung ist und einen großen Einfluss auf die Bedienung der Website nimmt. Grundsätzlich sollte in der Webentwicklung so programmiert werden, dass Webseiten auch ohne Aktivieren von 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. Allerdings ist der Internet Explorer bisher der einzige Browser, der diese Sprache für Webseiten unterstützt, auch wenn die Kompatibilität immer weiter ausgebaut wird.

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 hinter CMS wie TYPO3 oder WordPress auch nichts anderes als ein PHP und JavaScript Code.

TenMedia ist eine Webagentur in Berlin und hat es sich zur Aufgabe gemacht, mit individueller Softwareentwicklung kundenspezifische Web-Projekte umzusetzen, welche die Möglichkeiten modernster Technologien ausschöpfen und fernab von schlüsselfertigen CMS leistungsstarke und sichere webbasierte Softwarelösungen, progressive Web-Apps und umfangreiche Webportale zu entwickeln. 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.

Bleibe auf dem Laufenden in Sachen Software, IT und Start-ups mit unserem Newsletter.
Jetzt abonnieren!
Bleibe auf dem Laufenden in Sachen Software, IT und Start-ups mit unserem Newsletter.
Jetzt abonnieren!
Gefällt dir was du siehst? Teile es!
Kontaktperson
Anica Piontek
+49 (0) 30 5 490 650-0
anica.piontek@tenmedia.de
Du hast auch ein spannendes Projekt?
Gerne bespreche ich ganz unverbindlich alle Projektdetails in einem persönlichen Gespräch.

Neueste Beiträge

Ein Octopus sitzt auf einem PC-Bildschirm. Seine acht Arme symbolisieren die vielen Aufgaben im Website Management. Glossar > Begriffe
Junge dynamische Mitarbeiter und Mitarbeiterinnen blicken auf einen Bildschirm. Sie wollen eine mobile App entwickeln. Glossar > Services

Zufällige Beiträge

Mitarbeiter einer Agentur entwickeln mithilfe von Frameworks eine Software am Laptop. Glossar > Begriffe
Software-Entwickler steht mit Klemmbrett an einer Maschine Glossar > Städte

Zufällige Glossareinträge

Mitarbeiter einer Agentur entwickeln mithilfe von Frameworks eine Software am Laptop. Glossar > Begriffe
Zwei Legomännchen in Bauarbeiter-Montur. Sie haben kleine Werkzeuge in den Händen und stehen einem riesigen Wust aus Kabel gegenüber. Sie bereiten sich auf eine IT-Dienstleistung vor. Glossar > Services
Mitarbeiter einer Webagentur entwickeln eine Android App. Glossar > Begriffe