Open Source im professionellen Einsatz
Linux-Magazin 10/2016
© hxdbzxy, 123RF

© hxdbzxy, 123RF

Neuerungen in Jquery 3

… und zum Dritten!

Fast jeder Webentwickler kennt die Javascript-Bibliothek Jquery, weil deren Funktionen und Objekte seine Arbeit sehr erleichtern. Zwar bleibt die nun angebotene Jquery 3 weitgehend kompatibel zur Version 2, dennoch könnten einige der implementierten Änderungen den Einsatz sogar verhindern.

540

Mit der Javascript-Bibliothek Jquery [1] greifen Entwickler besonders einfach auf die Elemente einer Webseite zu, manipulieren diese im Nachhinein, verarbeiten Ereignisse komfortabel und kommunizieren mit wenigen Handgriffen per Ajax mit dem Server. Auf diese Weise hilft Jquery dabei, komplexe dynamische Webanwendungen zu bauen. Seine Verbreitung fördern zudem große CMS wie Joomla oder Wordpress, die Jquery mitliefern oder selbst einsetzen. Eine Statistik von W3techs [2] legt gar nahe, dass Jquery heute auf zwei Dritteln aller Websites zum Einsatz kommt.

Rückbau

Am 9. Juni 2016 gaben die Entwickler Version 3.0 von Jquery frei [3], Anfang Juli folgte bereits ein Update auf Version 3.1 [4]. Anders als einst bei Jquery 2 verzichten sie diesmal auf grundlegende Umbauten an der Bibliothek. Vielmehr schneidet die neue Version ein paar alte Zöpfe ab und ändert das Verhalten einiger Schnittstellen. Die Entwickler wollten Jquery 3 vor allem schlanker und schneller machen – als Reaktion auf zwei häufig genannte Kritikpunkte.

Zunächst haben sie einige Workarounds für den Internet Explorer entfernt. Anders als viele Internetseiten und Meldungen suggerieren, unterstützt Jquery 3 weiterhin offiziell den Internet Explorer ab Version 9. Wer seine Webseiten auf ältere Microsoft-Browser zuschneiden möchte, sollte bei Jquery 2 beziehungsweise Jquery 1.12 bleiben – beide Versionszweige erhalten auch weiterhin Fehlerkorrekturen.

Über die Methoden ».load()« , ».unload()« und ».error()« ließen sich bislang Eventhandler registrieren. Die Methoden galten allerdings bereits in Jquery 1.8 als veraltet und fallen mit Jquery 3 endgültig weg. Wer Eventhandler registrieren möchte, sollte nun zu ».on()« greifen.

Die Position eines Elements auf der Webseite ermittelt die Funktion »offset()« . Das klappt jedoch recht sinnfrei auch für den Offset eines Fensters, die Antwort lautet dann etwa »{ top: 0, left: 0 }« . Es gibt weitere Situationen, in denen Jquery keinen sinnvollen Wert zurückliefert. Jquery 3 wirft in solchen Fällen eine Ausnahme und ignoriert damit nicht mehr stillschweigend derartige "verrückte Anfragen" der Programmierer.

Gaspedal

Animationen nutzen jetzt die vom Browser bereitgestellte »requestAnimationFrame« -Schnittstelle. Sie laufen damit künftig nicht nur weicher ab, sondern belasten auch den Prozessor weniger. Das »requestAnimationFrame« -API enthalten alle aktuellen Browser mit Ausnahme des Internet Explorer bis einschließlich Version 9 sowie Android vor Version 4.4. Die Jquery-Entwickler experimentieren bereits seit einigen Jahren mit der Schnittstelle, stießen dabei aber immer wieder auf zahlreiche Kompatibilitätsprobleme. Die sehen sie jetzt zwar als weitgehend behoben, aus dem Tritt kommt Programmcode womöglich dennoch, wenn er von in nahezu Echtzeit ablaufenden Animationen abhängt.

Jquery erleichtert mit ein paar eigenen (CSS-)Selektoren die Arbeit. Beispielsweise liefert »$(":visible")« alle Elemente, die derzeit auf einer Seite sichtbar sind. Diese speziellen Selektoren auswerten dauert allerdings länger als bei nativen CSS-Selektoren. Um etwa alle sichtbaren Elemente zu bestimmen, muss der Browser im schlimmsten Fall die Seite komplett neu rendern. Dank Google-Entwickler Paul Irish arbeitet Jquery jetzt zumindest dann deutlich flotter, wenn solche Selektoren häufig in einem Dokument vorkommen.

Im Fall von »:visible« bietet Jquery 3 laut Angaben der Entwickler eine Beschleunigung um den Faktor 17. Zugleich warnen sie, dass der Einsatz der speziellen Selektoren nach wie vor relativ viel Zeit schluckt. Programmierer sollten besser mit normalen CSS-Selektoren einige Elemente auswählen und dann nur auf diese »:visible« , »:hidden« & Co. anwenden.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 3 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Jquery 3.0 gibt es auch in schlank

    Seit gestern ist Jquery in Version 3.0.0 erhältlich. Für Entwickler gibt es mit dem Slim Build eine besonders schlanke Variante, zudem unterstützt Jquery 3.0 Promises/A+ und ES2015-Promises.

  • Gut sortiert

    Große Datenmengen auf Webseiten übersichtlich anzuordnen ist eine Kunst. Am schnellsten gelänge es mit Javascript direkt im Client - wäre da nicht das spröde Document Object Model. Die Bibliothek Jquery erleichtert Entwicklern das Leben, indem sie die Skriptsprache aufpeppt und von Browsern abstrahiert.

  • HTML 5 offline

    Ein Offlinespeicher im Browser und ein Schuss HTML-5-Akrobatik ergeben interaktive Webanwendungen, die auch dann noch funktionieren, wenn die Internetverbindung abreißt. Als Kür zaubert das folgende Beispiel ein GUI, das auf Desktops wie Smartphones eine gute Figur macht.

  • HTML 5

    Dank HTML 5 lassen sich Client-Server-Anwendungen mit grafischer Oberfläche programmieren, wie sie das Web bisher nicht kannte. Dieser Artikel zeigt, wie das mit Canvas, SVG und Websockets geht. Die Bibliotheken Jquery, Visualize und Autobahn helfen bei der Arbeit.

  • Bücher

    Diese Rezensions-Seite widmet sich ganz Jquery. Ein gedrucktes Buch und ein Videotraining auf DVD-ROM treten an, um Programmierern beizubringen, wie sie mit der Bibliothek dynamische Webseiten bauen.

comments powered by Disqus

Ausgabe 09/2017

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.