jQuery ist
die beliebteste JavaScript-Bibliothek der Welt. Die Webentwickler-Community hat es Ende der 2000er Jahre erstellt, was zur Entstehung eines reichen Ökosystems von Websites, Plug-Ins und Frameworks führte, die jQuery unter der Haube verwenden.
In den letzten Jahren wurde sein Status als Hauptwerkzeug für die Webentwicklung jedoch erschüttert. Mal sehen, warum jQuery populär geworden ist und warum es aus der Mode gekommen ist und in welchen Fällen es immer noch ratsam ist, es zum Erstellen moderner Websites zu verwenden.
Eine kurze Geschichte von jQuery
John Resig erstellte 2005 die erste Version der Bibliothek und
veröffentlichte sie 2006 auf einer Veranstaltung namens BarCampNYC. Auf der
offiziellen jQuery-Website schrieb der Autor:
jQuery ist eine Javascript-Bibliothek, die auf dem Motto basiert: Programmieren in Javascript sollte nett sein. jQuery übernimmt häufige, sich wiederholende Aufgaben, extrahiert alle unnötigen Markups und macht sie kurz, elegant und verständlich.
JQuery hat zwei Hauptvorteile. Die erste ist eine praktische API zum Bearbeiten von Webseiten. Insbesondere bietet es leistungsstarke Methoden zur Auswahl von Elementen. Sie können nicht nur nach ID oder Klassen auswählen. Mit jQuery können Sie komplexe Ausdrücke schreiben, um beispielsweise Elemente basierend auf ihren Beziehungen zu anderen Elementen auszuwählen:
Im Laufe der Zeit hat sich die Auswahl-Engine zu einer separaten
Sizzle- Bibliothek entwickelt.
Der zweite Vorteil der Bibliothek bestand darin, dass die Unterschiede zwischen den Browsern abstrahiert wurden. In diesen Jahren war es schwierig, Code zu schreiben, der in allen Browsern zuverlässig funktioniert.
Aufgrund der fehlenden Standardisierung mussten Entwickler die vielen Unterschiede zwischen Browsern und Grenzfällen berücksichtigen. Schauen Sie sich
diesen frühen jQuery-Quellcode an und suchen Sie nach jQuery.browser. Hier ist ein Beispiel:
Und dank jQuery konnten Entwickler die Pflege all dieser Fallstricke auf die Schultern des Bibliotheksentwicklungsteams verlagern.
JQuery ermöglichte später die Implementierung komplexerer Technologien wie Animationen und Ajax. Die Bibliothek hat sich tatsächlich zu einer Standard-Website-Abhängigkeit entwickelt. Und heute bietet es die Arbeit eines großen Teils des Internets. W3Techs schätzt, dass
74% der Websites heute jQuery verwenden .
Die Kontrolle über die Entwicklung von jQuery wurde ebenfalls formalisiert. Im Jahr 2011 gründete das Team
das jQuery Board . 2012
verwandelte sich das jQuery Board
in die jQuery Foundation .
2015 gründete die jQuery Foundation zusammen mit der Dojo Foundation
die JS Foundation , die sich
2019 mit der Node.js Foundation zusammenschloss, um die
OpenJS Foundation zu gründen, in der jQuery eines der „
schlagkräftigen Projekte “ war.
Wechselnde Umstände
In den letzten Jahren hat jQuery jedoch
an Popularität gewonnen . GitHub hat
die Bibliothek aus dem Frontend seiner Site entfernt . Bootstrap v5 wird
jQuery entfernen, da es die "
größte Client-Abhängigkeit für reguläres JavaScript " ist (derzeit 30 KB, minimiert und gepackt). Mehrere Trends in der Webentwicklung haben die Position von jQuery als notwendiges Werkzeug geschwächt.
Browser
Aus einer Reihe von Gründen sind Browserunterschiede und -einschränkungen weniger wichtig geworden. Erstens hat sich die Standardisierung verbessert. Große Browserentwickler (Apple, Google, Microsoft und Mozilla) entwickeln gemeinsam
Webstandards im Rahmen der
Arbeitsgruppe Web Hypertext Application Technology .
Obwohl sich Browser in einer Reihe wichtiger Aspekte immer noch voneinander unterscheiden, haben Anbieter zumindest die Möglichkeit, eine gemeinsame Basis zu suchen und zu schaffen, anstatt einen
permanenten Krieg miteinander zu führen. Dementsprechend haben Browser-APIs neue Funktionen erhalten. Beispielsweise kann die
Fetch-API Ajax-Funktionen aus jQuery ersetzen:
Die
Methoden querySelector und
querySelectorAll duplizieren Selektoren aus jQuery:
Sie können jetzt Elementklassen mit
classList bearbeiten :
Auf der Website
jQuery, die
Sie möglicherweise nicht benötigen, sind einige weitere Situationen aufgeführt, in denen Sie jQuery-Code durch systemeigenen Code ersetzen können. Einige Entwickler halten sich immer an jQuery, weil sie einfach nichts über die neuen APIs wissen, aber wenn sie es herausfinden, beginnen sie, diese Bibliothek weniger häufig zu verwenden.
Die Verwendung nativer Funktionen kann die Seitenleistung verbessern. Viele
jQuery-Animationseffekte können jetzt mit CSS
viel effizienter implementiert werden.
Der zweite Grund ist, dass Browser viel schneller als zuvor aktualisiert werden. Mit Ausnahme von Apple Safari verfolgen die meisten von ihnen eine
„immergrüne“ Update-Strategie . Sie können ohne Beteiligung des Benutzers im Hintergrund aktualisiert werden und sind nicht an Betriebssystemaktualisierungen gebunden.
Dies bedeutet, dass sich neue Browserfunktionen und Fehlerkorrekturen viel schneller verbreiten und Entwickler nicht warten müssen, bis die Freigabe "
Kann ich verwenden" ein akzeptables Niveau erreicht. Sie können neue Funktionen und APIs sicher verwenden, ohne jQuery oder Polyfiles zu laden.
Der dritte Grund ist, dass sich der Internet Explorer einem Zustand nähert, der völlig irrelevant ist. IE ist seit langem die Geißel der Webentwicklung auf der ganzen Welt. Die typischen Fehler waren weit verbreitet, und da der IE in den 2000er Jahren dominierte und keine „immergrüne“ Update-Strategie verwendete, sind die alten Versionen immer noch verbreitet.
Im Jahr 2016 beschleunigte Microsoft die Außerbetriebnahme des IE, indem
die Unterstützung für die zehnte und frühere Version eingestellt wurde, und beschränkte sich auf die Unterstützung für IE 11. Zunehmend können sich Webentwickler den Luxus leisten, die IE-Kompatibilität zu ignorieren.
Sogar jQuery unterstützt seit
Version 2.0 , die 2013 veröffentlicht wurde, nicht mehr IE 8 und niedriger. Und obwohl in einigen Fällen noch Unterstützung für IE erforderlich ist, beispielsweise auf älteren Websites, treten diese Situationen immer seltener auf.
Neue Frameworks
Seit dem Aufkommen von jQuery wurden viele Frameworks erstellt, einschließlich der modernen Führungskräfte von
React ,
Angular und
Vue . Sie haben zwei wichtige Vorteile gegenüber jQuery.
Erstens erleichtern sie die Aufteilung der Benutzeroberfläche in Komponenten. Die Frameworks sind für das Rendern und Aktualisieren von Seiten ausgelegt. Und jQuery wird normalerweise nur zum Aktualisieren verwendet, um dem Server die Aufgabe zu übertragen, die Startseite bereitzustellen.
Auf der anderen Seite können Sie mit den Komponenten React, Angular und Vue HTML, Code und sogar CSS eng miteinander verknüpfen. Da wir die Codebasis in viele eigenständige Funktionen und Klassen unterteilen, vereinfacht die Möglichkeit, die Schnittstelle in wiederverwendbare Komponenten aufzuteilen, die Zusammenstellung und Wartung komplexer Sites.
Der zweite Vorteil besteht darin, dass neuere Frameworks einem deklarativen Paradigma folgen, in dem der Entwickler beschreibt, wie die Schnittstelle aussehen soll, und das Framework mit der Implementierung aller erforderlichen Änderungen beauftragt, um das gewünschte zu erreichen. Dieser Ansatz widerspricht dem für jQuery-Code charakteristischen imperativen Ansatz.
In jQuery schreiben Sie die Schritte zum Vornehmen von Änderungen explizit vor. Und im deklarativen Rahmen sagen Sie: "Nach diesen Daten sollte die Schnittstelle so aussehen." Dies kann das Schreiben von Code ohne Fehler erheblich erleichtern.
Die Entwickler haben neue Ansätze für die Website-Entwicklung gewählt, weshalb die Popularität von jQuery gesunken ist.
Wann soll jQuery verwendet werden?
Wann
sollte jQuery verwendet werden?
Wenn die Komplexität des Projekts zunimmt, ist es besser, mit einer anderen Bibliothek oder einem anderen Framework zu beginnen, mit dem Sie die Komplexität sinnvoll verwalten können. Zum Beispiel, um die Schnittstelle in Komponenten zu unterteilen. Die Verwendung von jQuery auf solchen Websites mag zunächst akzeptabel aussehen, führt jedoch schnell zu Spaghetti-Code, wenn Sie nicht sicher sind, welches Fragment welchen Teil der Seite betrifft.
Ich war in einer solchen Situation, wenn ich versuche, etwas zu ändern, habe ich das Gefühl einer schwierigen Aufgabe. Sie können nicht sicher sein, dass Sie nichts kaputt machen, da jQuery-Selektoren von der vom Server erstellten HTML-Struktur abhängen.
Am anderen Ende der Skala befinden sich einfache Websites, die nur einen Hauch von Interaktivität oder dynamischem Inhalt erfordern. In solchen Fällen würde ich jQuery standardmäßig nicht verwenden, da mit nativen APIs noch viel mehr getan werden kann.
Selbst wenn ich etwas
Stärkeres brauche ,
suche ich nach einer speziellen Bibliothek, zum Beispiel
Axios für Ajax oder
Animate.css für Animationen. Es wird einfacher sein, als alle jQuery für ein wenig Funktionalität zu laden.
Ich denke, der beste Grund für die Verwendung von jQuery ist, dass es umfassende Funktionen für die Front-End-Site bietet. Anstatt verschiedene native APIs oder spezialisierte Bibliotheken zu erlernen, können Sie nur die jQuery-Dokumentation lesen und werden sofort produktiv.
Der imperative Ansatz lässt sich nicht gut skalieren, ist jedoch leichter zu erlernen als der deklarative Ansatz anderer Bibliotheken. Für eine Site mit deutlich eingeschränkten Funktionen ist es besser, jQuery zu verwenden und leise zu arbeiten: Die Bibliothek erfordert keine komplexe Zusammenstellung oder Kompilierung.
Darüber hinaus eignet sich jQuery für Fälle, in denen Sie sicher sind, dass die Site im Laufe der Zeit nicht kompliziert wird, und wenn Sie sich nicht für native Funktionen interessieren, für die natürlich mehr Code als für jQuery geschrieben werden muss.
Sie können diese Bibliothek auch verwenden, wenn Sie ältere Versionen von IE unterstützen müssen. Dann wird jQuery Sie wie in den Tagen bedienen, als IE der beliebteste Browser war.
Schau in die Zukunft
jQuery wird nicht bald verschwinden. Es entwickelt sich
aktiv und viele Entwickler bevorzugen die Verwendung der API, auch wenn native Methoden verfügbar sind. Die Bibliothek half einer ganzen Generation von Entwicklern, Websites zu erstellen, die mit jedem Browser funktionieren. Und obwohl es in vielen Aspekten durch neue Bibliotheken, Frameworks und Paradigmen ersetzt wurde, hat jQuery eine große positive Rolle bei der Erstellung eines modernen Web gespielt.
Wenn sich die Funktionalität von jQuery nicht wesentlich ändert, wird die Nutzung der Bibliothek in den nächsten Jahren wahrscheinlich weiterhin langsam, aber stetig abnehmen. Neue Websites werden in der Regel von Anfang an mit moderneren Frameworks erstellt, und geeignete jQuery-Nutzungsszenarien werden immer seltener.
Jemand mag die Intensität der Veralterung von Webentwicklungstools nicht, aber für mich ist dies ein Beweis für schnelle Fortschritte. jQuery hat es uns ermöglicht, viel besser zu werden. Gleiches gilt für ihre Nachfolger.