
Wenn es um jQuery geht, sagen viele Leute: „Verwenden Sie einfach normales JavaScript. Sie benötigen keine jQuery-Bibliothek. “ Was kann ich sagen Ich brauche nicht viele Dinge, aber trotzdem ist es gut, wenn sie sind. JQuery auch. Ich brauche diese Bibliothek nicht, aber es ist auf jeden Fall schön, sie zur Hand zu haben.
Websites wie
Sie benötigen möglicherweise nicht jQuery (YMNJQ) fördern die Idee, dass jQuery sehr einfach zu entfernen ist. Das allererste Beispiel auf dieser Site zeigt jedoch einen guten Grund für die Verwendung von jQuery. Dort wird eine einfache jQuery-Codezeile durch 10 Zeilen regulären JS ersetzt!
Die meisten JavaScript-APIs, insbesondere diejenigen, die sich auf die Arbeit mit dem DOM konzentrieren, verletzen meine ästhetischen Sinne. Dies ist, gelinde gesagt, meine Einstellung zu ihnen. Wenn ich direkt spreche, denke ich, dass diese APIs ein Albtraum sind. Zum Beispiel
el.insertAdjacentElement('afterend', other)
das
el.insertAdjacentElement('afterend', other)
sicherlich. Aber viel schöner sieht
$(el).after(other)
. Obwohl mir das Aussehen der
$()
Funktion nie wirklich gefallen hat, ist es unvergleichlich besser als das, was uns die Standard-APIs für die Arbeit mit dem DOM bieten. Ich weiß, dass Sie anstelle von
$()
etwas wie
jQuery(sel)
oder
window.jq = jQuery
. Aber ich programmiere nicht im luftleeren Raum. Daher bevorzuge ich Standardtechniken. Ich weiß nicht, ob dies gut oder schlecht ist, aber der Standard für die Verwendung von jQuery ist das Konstrukt
$()
.
Versuchen Sie sich schnell zu merken, wie Sie mit dem DOM ein Nachbarelement eines anderen Elements abrufen können. Was soll ich dafür verwenden -
nextSibling
oder
nextElementSibling
? Was ist der Unterschied? Und welche Browser unterstützen diese oder jene Methode? Während Sie versuchen, sich daran zu erinnern und sich das MDN anzusehen und sich selbst zu überprüfen, schreibe ich mit jQuery einfach
next()
oder
prev()
.
Das Ausführen vieler in der JavaScript-API implementierter allgemeiner Vorgänge ist unpraktisch. Ich könnte hier eine ganze Liste solcher Operationen geben, aber für mich war es perfekt auf der YMNJQ-Seite.
Um verschiedene einfache Probleme mit JS-Tools zu lösen, werden Zusatzfunktionen benötigt. Auch auf der YMNJQ-Website finden Sie viele Beispiele. Die Verwendung von jQuery ist eine Standardmethode, um solche Hilfsfunktionen in Ihren Projektcode aufzunehmen. Gleichzeitig muss der Programmierer nicht jedes Mal so etwas benötigen, um Codestücke aus den ersten Antworten auf den Stapelüberlauf zu erhalten, die auf seinem Arm auftauchten.
Obwohl Browserkompatibilitätsprobleme heutzutage an Schwere verloren haben, sind sie immer noch relevant. Besonders - für diejenigen, die nicht zum Lager der Entwickler gehören, die glauben, dass wenn etwas in 85% der Browser funktioniert, es zu ihnen passt.
Hier ist übrigens
das Material, warum Hello CSS keine CSS-Variablen verwendet.
Sollte ich immer jQuery verwenden? Nein, natürlich nicht. Jede zusätzliche Abhängigkeit führt zu einer Erhöhung der Komplexität des Projekts und einer Erhöhung des Codevolumens. Aber jQuery ist keine große Bibliothek. Die Standardbaugruppe, minimiert und komprimiert, benötigt 30 KB. Die benutzerdefinierte Montage ohne Ajax und selten verwendete Funktionen beträgt 23 KB. Und die Assembly, die
querySelector
anstelle von
querySelector
, benötigt nur 17 KB. Um viele Probleme zu lösen, bin ich mit der Standardmontage von 30 Kb und der optimierten Montage von 17 Kb sehr zufrieden.
Hier können Sie sehen, wie viel Aufwand in das Entfernen von jQuery aus Bootstrap und den Wechsel zu regulärem JS gesteckt wurde.
Die Entwickler haben ihre eigenen Hilfsfunktionen geschrieben. Sie mussten die IE-Unterstützung aufgeben, da diese Unterstützung sehr schwierig zu implementieren war. Sie machten die API inkompatibel ("wir haben alles kaputt gemacht") und verbrachten anderthalb Jahre damit. Ich kann nicht sagen, dass das, was passiert ist, viel besser ist als das, was passiert ist.
Ich verstehe die Gründe für die Übersetzung von Bootstrap in reguläres JS. Entwickler möchten beispielsweise Bootstrap mit Vue.js oder ähnlichem verwenden. Und Vue.js und jQuery in einem Projekt sind schon ein bisschen pleite. Ich bin ein großer Befürworter der Reduzierung der Menge an unnötigem Code im Web (und
hier sind einige Materialien dazu). Aber hier schlage ich vor, die Situation von einem pragmatischen und realistischen Standpunkt aus zu betrachten. Ist die Aufnahme von 17 KB jQuery-Code in Bootstrap - ist das so schlimm? Wenn ich sage, dass Sie zum Anzeigen von Websites wie der Medium oder der New York Times mehr als ein Megabyte JavaScript-Code herunterladen müssen, um diese Situation zu schützen, werden Sie gefragt, ob ich auf einer 56-Kilobit-Modemleitung sitze. Megabyte JS ist in Ordnung. Ist 17Kb jQuery wirklich schwer?
Es gibt gute Gründe, jQuery nicht zu verwenden. Beispielsweise wird jQuery nicht benötigt, wenn Sie Code schreiben, den Sie für andere freigeben möchten, oder wenn Sie eine kleine Funktion erstellen. Aber warum auf den Kopf stellen, um jQuery nicht zu verwenden? Warum all diese Mühe, wenn Sie nur
$()
schreiben können? Ich denke nicht, dass jQuery überall und immer verwendet werden sollte, aber ich denke nicht, dass die fanatische Ablehnung von jQuery richtig ist.
Ich möchte darauf hinweisen, dass ich nicht mit jQuery verheiratet bin. Gerne verwende ich so etwas wie "jQuery light" - eine Art Bibliothek, die die Mängel von Standard-APIs abdeckt und dem Programmierer etwas Angenehmeres bietet. Die Site YMNJQ empfiehlt unter anderem die
Bonzo- und
$ dom- Bibliotheken, die zur Lösung verschiedener Probleme entwickelt wurden. Aber viele von ihnen wurden anscheinend schon lange nicht mehr unterstützt. Darüber hinaus kennen viele jQuery bereits. Warum jQuery ohne guten Grund gegen etwas anderes austauschen?
Viele Leser mögen sich fragen, was ich im Kontext dieses Materials über Vue.js, React und andere moderne Frameworks sagen kann. Das Ziel dieses Artikels ist es jedoch, einfaches JavaScript und jQuery abzubilden, anstatt der Community eine „Grandiose General Frontend Development Theory“ anzubieten.
Angesichts des oben Gesagten glaube ich, dass ich nur sehr wenige Gründe finden kann, reguläres JS zu verwenden, wo Sie jQuery verwenden können. Dies liegt hauptsächlich an der Tatsache, dass ich schnelle Seiten erstellen und die einfachsten Arbeitskonstruktionen verwenden möchte. Gleichzeitig bemühe ich mich sicherzustellen, dass möglichst viele Benutzer des Webs meine Seiten anzeigen können. Die Erfahrung zeigt, dass der kürzeste Weg, um dieses Ziel zu erreichen, auf dem Server generierte Vorlagen sind, die mit JavaScript im Stil der "progressiven Verbesserung" leicht gewürzt sind. Wenn Sie solche Projekte mit etwas vergleichen, das etwas Komplexeres verwendet, stellt sich heraus, dass sie oft einfacher zu entwickeln sind. Solche Projekte sind normalerweise schneller, sie haben normalerweise weniger Fehler, und während der Arbeit macht der Laptop-Lüfter keine Geräusche, die das ganze Haus wecken können.
Bedeutet dies, dass moderne Webframeworks und leistungsstarke Bibliotheken immer schlecht sind? Nein, das tut es nicht. Sehr wenig ist es wert, immer als schlecht oder gut bezeichnet zu werden. Das Framework zu verwenden bedeutet jedoch, einige Kompromisse einzugehen (dies gilt natürlich für jQuery).
Im Allgemeinen sehe ich das Web als eine Umgebung zum Anzeigen von Dokumenten und nicht als ein Betriebssystem. Und der „Dokumentansatz“ eignet sich nicht nur für reguläre Websites, sondern auch für viele „Webanwendungen“ (wie auch immer Sie es nennen).
Liebe Leser! Verwenden Sie jQuery?

