In diesem Beitrag stellt Ralph Steyer das freie JavaScript-Framework jQuery vor, das immer mehr Anwendung in JavaScript-Programmierung findet.

Ich war im Internet schon aktiv, da hat man Webseiten noch vollständig „von Hand“ erstellt. Mitte der 90iger-Jahre wurde jede HTML-Anweisung und dann auch jede CSS- und JavaScript-Anweisung meist in einem primitiven Editor ohne irgendwelche Unterstützung eingegeben. Das war mühselig, aber die grauenvoll schlechten WYSIWYG-Editoren der damaligen Zeit waren niemals eine ernstzunehmende Alternative. Und IDEs zur Unterstützung bei der Programmierung mit JavaScript oder dem Umgang mit CSS waren überhaupt nicht da. Von Frameworks im heutigen Sinn ganz zu schweigen. Aber diese Zeiten sind definitiv vorbei, denn moderne RIAs (Rich Internet Applications) bieten dem Besucher im Web eine Vielzahl an Features. Diese erweiterten Möglichkeiten aktueller Webseiten „von Hand“ zu programmieren, ist meist kaum noch möglich, geschweige denn sinnvoll. Erst durch den Einsatz mächtiger und erprobter Frameworks – mittlerweile oft in Verbindung mit guten Entwicklungsumgebungen – ist die Erstellung zeitgemäßer RIAs mit adäquatem Aufwand möglich.

Was ist jQuery und für Wen ist es geeignet?

jQuery ist nun ein solches freies, umfangreiches und etabliertes Framework, mit dem ich als langjähriger JavaScript-Programmierer schon vor einigen Jahren in Kontakt kam. Denn es handelt sich im Kern um ein JavaScript-Framework, das „oberhalb“ von JavaScript sowohl diverse Bibliotheken als auch eine eigene Syntax bereitstellt. Zwar wird jQuery manchmal sogar so angepriesen, dass man bei dessen Verwendung kein JavaScript mehr können muss. Meines Erachtens ist aber das Gegenteil der Fall. Das Framework bietet gerade dem erfahrenen JavaScript-Programmierer die meisten Vorteile, wobei es aber auch in der Tat durch zahlreiche Vereinfachungen den JavaScript-Laien mitnimmt und auch diesem viele Dinge ebenso erleichtert.

Das machen natürlich auch andere JavaScript-Frameworks. Aber wenn Sie sich heute interaktive Webseiten und RIAs ansehen, ist der Prozentsatz, welche davon jQuery und darauf aufbauende Frameworks nutzen, schon beeindruckend. Und das sicher nicht ohne Grund, obgleich viele Konkurrenzframeworks sicher nicht schlechter sind. Aber man hat sich im Web im Laufe der letzten Jahre auf ein Framework eingeschossen und das war halt jQuery. Damit wird die Sache irgendwie zu einer selbsterfüllenden Prophezeiung. Je mehr Webseiten und Webanwendungen jQuery verwenden, desto mehr wird jQuery populär und desto besser wird jQuery, weil sich auch immer mehr Leute in der jQuery-Community mit der Weiterentwicklung befassen.

Was kann jQuery?

Das Framework stellt z.B. komfortable Funktionen zur DOM-Manipulation und -Navigation und grundlegenden Ajax-Support zur Verfügung. Darüber hinaus bietet das Framework Unterstützung von CSS, ein erweitertes Event-System, eindrucksvolle Effekte und Animationen sowie diverse Hilfsfunktionen. Aber jQuery ist – wie schon angedeutet – auch Basis diverser ergänzender Frameworks, die mit Widgets und visuellen Komponenten das Kernframework erweitern. Beispielsweise jQuery UI, jQuery Mobile oder Bootstrap. Außerdem existieren zahlreiche frei verfügbare Plugins, die eine fast beliebige Erweiterbarkeit des Frameworks gestatten. Ebenso zeichnet jQuery die nahtlose Integration in viele Web-Plattformen großer Industrieanbieter aus.

Es ist auch sehr spannend, die Entwicklung von jQuery zu beobachten. Die Evolution zwischen meinem jQuery-Buch aus dem Jahr 2014 und der überarbeiteten Version von 2018 ist beeindruckend und schuldet sicher auch den Entwicklungen im HTML-, JavaScript- sowie CSS-Umfeld selbst. Denn obwohl die Umsetzung der Neuerungen von ECMAScript, HTML5 und CSS3 in den Browsern bzw. der Praxis wie immer um Jahre hinterherhinkt, wenden die early Adopters diese Techniken bereits an und insbesondere die Entscheider sehen, was im Prinzip im Web möglich ist. Dabei werden diese flüchtigen Beobachter aber oft verdrängen, wie viele Anwender im Web noch mit älteren Browsern unterwegs sind und auch die neuen Browser weder alle Features implementieren noch einheitlich umsetzen (als Stichwort seien nur die Formular-Widgets von HTML5 genannt, die ja selbst in neusten Browsern vollkommen uneinheitlich oder gar nicht unterstützt werden).

Diese Diskrepanzen zwischen dem, was im Prinzip geht und auch von Anwendern erwartet wird, und dem was „nativ“ in Browsern möglich ist, bereitet das Feld für Frameworks wie jQuery, die auch noch nicht flächendeckend unterstützte Features wie CSS3-Selektoren, Eingabe-Widgets etc. durch Workarounds kapseln, aber auch diverse Highend-Möglichkeiten von (kommenden) JavaScript-Versionen bereits jetzt bereitstellen und/oder vereinfachen. Beispielsweise Web Worker, deferred Objects und Promises.

Mehr zu meiner überarbeiteten Version von jQuery. Das universelle JavaScript-Framework für das interaktive Web und mobile Apps finden sie auch auf meiner Website.