Wieso haben Javascript Fans ein Problem mit Jquery?

4 Antworten

Hi Psychotherapy,

das ist eine sehr berechtigte Frage. Als JQuery durchstartete und immer beliebter wurde, gab es viele Probleme mit den unterschiedlichen Browsern und der technischen Umsetzung von JavaScript/ECMAScript. Mit JQuery konntest du dieses Hindernis überwinden und hat viele Features mitgebracht die viel Code gespart hat und auch Animationen mitgebracht hatte. Es gibt immer noch Fälle wo man heute noch gut JQuery mit Einschränkung gut nutzen kann.

Warum nutzt man das Heute nicht mehr oder nur noch vereinzelt?

Warum ist JQuery nicht mehr bei Webentwickler beliebt?

Webbrowser haben sich in der Zeit wo es JQuery gab weiterentwickelt und das meines Erachtens ins Positive. Einige Sachen wurden in JavaScript übernommen oder weiterentwickelt. Da man heute relativ gut mit nativen JavaScript sehr viel erreichen kann und die Kompatibilität sich enorm verbessert angepasst hat, sowie die Performance für JQuery und auch der Traffic nicht verbessert hat, ist JQuery auf dem absteigenden Ast und bei Entwickler nicht mehr so beliebt wie in seiner glorreichen Zeit.

Woher ich das weiß:Berufserfahrung – Ich bin gelernter Mediengestalter Digital und Print(IHK)

JQuery ist alt und hatte damals eine Daseinsberechtigung, weil es nichts vergleichbares gab, oder nur mit erheblichem Mehraufwand. Mittlerweile bietet der JavaScript-Standard aber alles, was man braucht, JQuery ist für neue Projekte also obsolet geworden.

Außerdem hat JQuery die teils sehr anstrengenden Unterschiede zwischen den vielen Browsern viel beherrschbarer gemacht, doch seit der JavaScript-Standard die nötigen Funktionen mit bringt, Chromium in (fast) allen Browsern verwendet wird und WebAssembly immer wichtiger wird, ist dieser Vorteil auch passé. Außer ein Projekt soll auch im Uralt-Internet-Explorer laufen, aber meiner Erfahrung nach wollen Web-Entwickler lieber tot über'n Zaun hängen, als Sonderlocken für einen Uralt-IE zu bauen ^^

Dazu kommt noch, dass JQuery nicht gerade mit herausragender Performance glenzen konnte, was für so ein zentrales Framework aber wichtig ist.
Und dann ist es auch eine externe Abhängigkeit, die man bereitstellen und aktualisieren, es gibt aber mehrere Gründe, warum man das nicht will.
Außerdem muss JQuery gepflegt und modernisiert werden - während immer weniger Projekte es nutzen.

Und dann hat längst der Siegeszug der Template-Engines eingehalten, dadurch braucht man die Funktionen nur noch selten, weil die Template-Engine das meiste implizit löst. Ich arbeite z.B. mit Blazor und schreibe fast nie JavaScript, also brauchen wir auch kein JQuery und für das Bisschen, was wir schreiben müssen, reicht der JavaScript-Standard völlig aus.

Und dafür eine neue Abhängigkeit, die gegenüber dem aktuellen Standard kaum relevante Vorteile bietet? Nein danke.

Woher ich das weiß:Berufserfahrung – C#.NET Senior Softwareentwickler

Psychotherapy 
Beitragsersteller
 12.05.2025, 03:14

Es geht nicht um die Vorteile, sondern darum, dass die Sprache Jquery für viele Programmier-Noobies wie mich, einfacher ist von der Syntax... nicht jeder ist ein Experte. Wenn ich Assembly nur höre, kriege ich Kopfschmerzen vom Namen.

Palladin007  12.05.2025, 10:51
@Psychotherapy

JQuery ist keine Sprache, sondern ein Framework. JavaScript ist die Sprache.
Und ob es einfacher ist, ist Geschmackssache, je nachdem, wie/womit man angefangen hat, es gibt auch Leute, die mögen die JQuery-Syntax nicht.

Palladin007  12.05.2025, 10:57
@Palladin007

Außerdem war doch deine Frage, warum es so wenig genutzt wird und dabei geht es sehr wohl um die Vorteile bzw. deren Fehlen.

Dann fokussierst Du dich beim Lernen voll auf JQuery, dann kannst Du super gut mit JQuery umgehen, nur will sonst niemand damit arbeiten und JQuery wird mit der Zeit in der Bedeutungslosigkeit versinken.

So funktioniert das eben, die Leute nutzen es, wenn die Vorteile gegenüber den Nachteilen überwiegen und das ist bei JQuery einfach nicht mehr der Fall.

90% der Funktionalität, die jQuery bietet, kann JavaScript mittlwerweile schon selbst.

Jede Library und jedes Framework (zusammengefasst als Dependencies), das du hinzufügst, kann potenziell eine Quelle von Fehlern, Sicherheitslücken oder Performance-Problemen sein. Man sollte sich daher bei jeder Dependency genau überlegen, ob man sie wirklich braucht. Klar muss man bei jQuery nicht davon ausgehen, dass es Probleme macht, aber das Risiko ist nicht 0. Hatte schon Projekte, da gab es irgendwelche Probleme mit verschiedenen jQuery-Versionen und solchen Geschichten. Wenn man also die Option hat, das Risiko, dass jQuery Probleme macht, auf 0 zu reduzieren, indem man es nicht als Dependency hinzufügt und statt $(".selektor") halt document.querySelectorAll(".selektor") schreibt, ist das meist die sauberere Lösung. Mit einem entsprechenden Code-Editor muss man das ja nicht mal ausschreiben, dafür gibt es ja Autovervollständigung.

Man muss auch damit rechnen, dass Libraries wie jQuery irgendwann nicht mehr weiterentwickelt werden. Was aufgrund der sinkenden Beliebtheit bei jQuery nicht unwahrscheinlich ist. Dann sitzt du eventuell irgendwann da, hast eine uralte jQuery-Version in deiner Webapp, die hat irgendeinen Fehler, und du kannst wenig dagegen tun. Dann darfst du erstmal die halbe App neu schreiben, mit einem anderen Framework oder eben manuell. Sowas passiert eben nicht so schnell, wenn man direkt die von JavaScript zur Verfügung gestellten, standardisierten Funktionen benutzt.

Und um nochmal auf jQuery konkret zurückzukommen: Wie gesagt bietet es einfach kaum Mehrwert gegenüber modernem JavaScript selbst. Gleichzeitig bietet es nicht die Möglichkeiten, die moderne Frameworks wie Vue oder React bieten. Die ersetzen z.B. das manuelle Manipulieren einzelner Elemente komplett. Da braucht man dann weder $(".selektor"), noch document.querySelectorAll(".selektor"). Sie können außerdem dabei helfen, die Anwendung als ganzes übersichtlicher zu strukturieren, das ist, was ich persönlich an Vue und den Single File Components sehr mag. Damit kann man eine Web-App in einzelne Komponenten gliedern, die jeweils aus einer Datei mit HTML, JS und CSS bestehen, und diese dann dynamisch zusammen und ineinander verwenden.

Nur mal ein Beispiel, wie Vue die Frontendentwicklung vereinfacht:

<div v-if="showModal">
  {{modalMessage}}
</div>

Diese drei Zeilen würden folgendes bewirken:

Das ganze div wird nur dargestellt, wenn die Variable "showModal" true ist. Wenn diese sich ändert, wird das Element immer automatisch ein- oder ausgeblendet.

In diesem div wird die Variable modalMessage ausgegeben. Auch wenn diese sich ändert, wird der gezeigte Text automatisch aktualisiert.

Jetzt muss man nur mal überlegen, wie viel Zeilen man selbst mit jQuery bräuchte, um das so umzusetzen.

Man muss sich also deutlich weniger damit beschäftigen, Elemente zu finden oder zu manipulieren, sondern man kann Vue mehr oder weniger sagen, was zu tun ist, und es reagiert dann automatisch, wenn sich der Zustand ändert. Daher wird das bei Vue auch als "Reactivity"-System bezeichnet.

jQuery hat einfach seine Daseinsberechtigung verloren. Für einfache Webseiten und Webapps braucht man es einfach nicht, da installiert man sich 1000 Funktionen, von denen man dann 2 braucht, und für größere Web-Apps ist es nicht ausreichend.

Woher ich das weiß:Berufserfahrung – Tätigkeit als Webentwickler in einer Digitalagentur

Psychotherapy 
Beitragsersteller
 12.05.2025, 15:48

Danke, dein Text war super interessant und ist gut auf meine Frage eingegangen! <3 Mir persönlich ist die Syntax der vielen Programmiersprachen, Frameworks und Co einfach zu viel. Ich merke mir die nicht. ('div').show(); ist hingegen einfach und logisches Englisch für mich. Den Rest an komischen Wörter würde ich mir nie merken. Vue scheint interessant, aber was bitte ist eine "modalMessage"? und was ist ein "v-if" ich finde diese ganzen Abkürzungen und Wörter unintuitiv und schlecht, sich die zu merken. LG

Palladin007  12.05.2025, 17:04
@Psychotherapy
Mir persönlich ist die Syntax der vielen Programmiersprachen, Frameworks und Co einfach zu viel. Ich merke mir die nicht.

Niemand erwartet, dass Du das auswendig lernst, das funktioniert sowieso nicht.In der Regel arbeitet man mit Intellisense und weiß zumindest grob, wonach man suchen muss. Der Rest kommt mit der Zeit, vorausgesetzt, Du verweigerst dich dem nicht.

was bitte ist eine "modalMessage"?

Eine Variable.

was ist ein "v-if"

Das ist die Syntax von Vue für eine Bedingung für ein Element.

Und das ist auch nicht unintuitiv, sondern einfach ein "if" mit einem "v-" als Prefix für "Vue". Bei Angular heißt das "ngif".

Ich mag das aber auch nicht, mir ist der Weg lieber, den Blazor geht, da kann ich mit der Razor-Syntax HTML und C# mischen.

Weiß es leider auch nicht, kann es aber bestätigen. Javascript schreibe ich gerne, Jquery finde ich irgendwie verwirrend.


Psychotherapy 
Beitragsersteller
 12.05.2025, 00:21

Liegt es vielleicht daran, dass du Javascript einfach zuerst gelernt hast?

Randy870  12.05.2025, 00:23
@Psychotherapy

Keine Ahnung... "zuerst" kann ich gar nicht sagen, Jquery hab ich ja nie gelernt. Ich hab mich auch nicht detaillierter damit beschäftigt, fand es aber intuitiv immer abschreckend.

Psychotherapy 
Beitragsersteller
 12.05.2025, 00:27
@Randy870

Komisch ok, ich fühle mich von Javascript Syntax abgeschreckt und finde Jquery süß und knapp.