JavaScript – Wandlung von einer Spielerei zum wichtigen Bestandteil von Webanwendungen
Zugegeben, ich mochte JavaScript bisher nicht: Es erscheint auf den ersten Blick chaotisch und tausend Wege (leider auch Umwege) führen nach Rom bzw. zum Ziel. Aber als Entwicklerin im Bereich Webanwendungen stößt man irgendwann gezwungenermaßen auf diese Sprache. Rudimentär lernt man dann auch die Sprache zu benutzen, und kleinere Code Snippets sind schnell kopiert und genutzt. Faszinierend sind die Ergebnisse, die immer mehr das Web bevölkern und uns eine bunte dynamische Welt zeigen.
Gerade in den letzten Jahren hat sich JavaScript enorm verbreitet und ist mittlerweile nicht mehr wegzudenken. Viele Tutorials und Hilfen tummeln sich im Netz, große Frameworks, die das Programmieren erleichtern und ganze Spiele-Engines, um zügig seine eigenen Ideen zu verwirklichen. Eine besonders witzige Idee ist CodeCombat – damit lässt sich spielend JavaScript lernen. Die Möglichkeiten scheinen unbegrenzt. Zeit sich mit JavaScript ausführlich auseinanderzusetzen.
Aller Anfang ist schwer: Ursprung und Entwicklung von JavaScript
Bis JavaScript eine der am weitesten verbreiteten Programmiersprachen wurde, hat es einen langen und schweren Weg hinter sich. Ursprünglich ist JavaScript eine Marke der Firma Netscape, die die Sprache in den 90er-Jahren für ihren Browser Netscape Navigator entwickelt hatte. Innerhalb von nur 10 Tagen hatte damals der Mitarbeiter Brendan Eich die erste Version entwickelt, um vor dem Konkurrenten Microsoft diese Entwicklung auf den Markt zu bringen. Die Umsetzung von Mircrosoft verfolgte allerdings in einigen Punkten andere Ansätze. Das daraus resultierende Problem für uns Entwickler könnt ihr euch sicherlich vorstellen: Kompatibilitätsprobleme.
Leider gibt es auch heute keine zentrale, geschlossene technische Spezifikation (wie für HTML und CSS), die festlegt, was JavaScript ist und wie ein Browser hiermit umzugehen hat. Microsoft und Netscape haben sich damals bemüht eine Standardisierung zu finden, die dann von der Organisation ECMA festgelegt wurde. Lange Zeit war ECMAScript Edition 3 aus dem Jahre 1999 gültig. Neben diesem Sprachkern gab es allerdings auch eine Fülle von Weiterentwicklungen, Spezifikationen und De-facto-Standards. Erst 2009 wurde die ECMAScript Edition 5 veröffentlicht, die die Sprache robuster, also weniger fehleranfällig und leichter machte und mit einigen Unklarheiten aufräumte. Verwirrend für Einsteiger: Auch jetzt noch stößt man auf viele Tutorien, die vor dieser Zeit entstanden.
Probleme mit der Barrierefreiheit und Anwender-Ärgernisse
Trotz allem haftete JavaScript lange Zeit noch ein negativer Beigeschmack an, der auch heute noch nicht gänzlich ausgeräumt ist. Javascript wurde von Webmastern oftmals für ihre Website missbraucht, womit sie Benutzern der Seite das Leben erschwerten, statt es zu erleichtern. Hier einige Beispiele:
- Verschleierung der Zielseiten eines Links
- Erschweren von Kopieren von Webinhalten
- Öffnen von Fenstern, Pop-ups, etc.
- Sicherheitslücken
Aber leider sind oftmals auch fehlerhaft programmierte Seiten ein Ärgernis für Benutzer, die diese dann nur eingeschränkt oder sogar gar nicht nutzen können.
Barrierefrei = JavaScript-frei?
Besonders problematisch ist das Thema dynamische Webanwendung, wenn man eine barrierefreie Webseite gestalten soll. Die einfachste Möglichkeit und leider oft empfohlene Vorgehensweise ist, auf JavaScript soweit wie möglich zu verzichten. Oftmals wird sogar barrierefrei mit JavaScript-frei gleichgesetzt.
Dabei geht es bei einer barrierefreien Webseite gar nicht darum, JavaScript einfach abzuschalten, sondern darum, unabhängig von Einschränkungen oder technischen Möglichkeiten das Web-Angebot zu nutzen. Auch für die Suchmaschinenoptimierung sind diese Punkte nicht ganz zu verachten, da ein Crawler (wie z. B. der Googlebot) eine Seite nicht wie wir Menschen sieht. Eine schlechte Strukturierung, unnötiger Programmcode oder sogar versteckte Inhalte, die erst bei Klick auf einen Button erscheinen, erschweren dem Bot die Seite zu erfassen und so korrekt für sein Ranking zu bewerten.
Doch auch hier hat sich in den letzten Jahren einiges getan. So gibt es z. B. ARIA (Accessible Rich Internet Applications), das HTML-Elementen wie beispielsweise einem DIV, zusätzliche Informationen übergibt, die entsprechende Browser (z. B. für Sehgeschädigte) dann auch auswerten können.
Dank HTML5 gibt es neue Elemente, die diese Rolle genauso ausfüllen können. Doch da dieser Standard nur von neuen Browsern unterstützt wird, muss man sich entscheiden, ob man doch lieber auf alte Methoden zurückgreift und ARIA benutzt.
Letzlich kann ich sagen, dass JavaScript einiges möglich macht und ein gezielter und gut überlegter Einsatz oftmals Sinn macht. Man sollte sich jedoch genau überlegen, welche Ziele man mit seinem Webangebot verfolgt. Ansonsten wird das ganze doch nur wieder eine Spielerei.