Welche Vorteile bietet die native JavaScript-Entwicklung? [geschlossen]

33

Wenn man bedenkt, wie viel einfacher die Entwicklung von jQuery im Vergleich zu nativem JavaScript ist, warum verzichtet man dann überhaupt auf Bibliotheken wie jQuery?

Liegt es daran, dass jQuery Einschränkungen aufweist oder langsam ist? Ich meine, wenn jQuery im Vergleich zu nativem Javascript so einfach ist, aus welchen Gründen müssen die Leute dann noch reines Javascript verwenden?

Mike
quelle
1
jQuery ist nur eine Bibliothek - beim Schreiben von nativem JS, das jQuery verwendet, wird immer noch natives JS geschrieben. Das ist wie die Frage: "Welche Vorteile bietet die native C ++ - Entwicklung?" wenn es um "C ++ - Entwicklung ohne Boost" geht.
Zach
2
vanilla-js.com
Daniel Little
1
Das Hauptziel von jQuery und anderen alten Libs war eine Fassade oben auf verschiedenen Browsern mit unterschiedlichen js - Schnittstellen (zB zu machen XMLHttpRequestvs ActiveXObjectoder addEventListenergegen attachEventoder css selectorsvs xpath selectorsvs no selector support, etc ...) In neueren Browsern , die meisten dieser Probleme nicht existieren, weil sie den gleichen Standards folgen.
Inf3rno

Antworten:

89

Reden wir über Autos.

Oh, warte, wir haben es schon getan - erinnerst du dich an die Zeit, als wir uns vor einiger Zeit getroffen haben? Wir haben über Autos gesprochen. Tatsächlich schienen Sie der Experte für Autos zu sein. Sie konnten im Detail erklären, was richtig, falsch und aufregend am neuesten Formel-1-Rennen ist. Sie kannten auswendig alle Lamborghini-Modelle, einschließlich deren Preis und Verfügbarkeit. Sie haben sogar daran gedacht, einen eigenen Ferrari 599 GTB Fiorano zu kaufen, und haben dafür gespart (ich wette, das Steak-Dinner hat nicht viel geholfen).

Während Sie mit aufgeregter Stimme die Fehler von Toyota erklärten, sprangen Sie plötzlich von Ihrem Stuhl, schrien in die Luft und schwenkten die Fäuste. Ich werde Automechaniker! "

Und so bist du gegangen. Sie hatten ein Interview, der Boss war genauso beeindruckt wie ich von Ihrem Wissen und Sie wurden engagiert. Der erste Klient kam herein. Seine Kupplung war gebrochen. Sie haben es überprüft und wussten nicht, was Sie tun sollten. Tatsächlich hatten Sie überhaupt keine Ahnung, wie Sie dem Rat folgen sollten, den Ihnen der Boss gegeben hatte. Du wurdest gefeuert.

Aber wie könnte das sein !? Sie wissen alles über Autos! Abgesehen von ... allem, was mit Autos zu tun hat. Sie können sehr gut wissen, dass Ihr Traumauto einen V12-Motor hat, aber Sie wissen nicht, was das eigentlich bedeutet.

Sie sind also eigentlich kein Automechaniker - Sie sind ein Autoenthusiast. Und bis Sie lernen, wie Autos funktionieren , bleiben Sie ein Enthusiast.

Jetzt lass mich dich fragen. Wie funktioniert $.fn.textArbeit? Und was ist mit $.fn? Was meinen sie wirklich? Wie kommt $(something)ein gigantisches Ding zurück, das Dinge enthält, und was ist das genau? Können Sie theoretisch sogar deren Funktionalität zumindest ein wenig replizieren? Schaffst du es ohne jQuery?

Zu sagen, dass "natives JavaScript schwer ist" ist einfach ... falsch. In erster Linie, weil JavaScript als Sprache nichts mit dem DOM zu tun hat , was hauptsächlich jQuery-Abstracts sind. Zweitens: Sobald Sie etwas über das DOM erfahren haben, können Sie bereits die häufigsten browserübergreifenden Fehler beheben. Aber nur ein kleines Geheimnis - zunächst ist alles schwer. Lange Teilung war eine Hündin in der 5. Klasse.

Als zweite Analogie zu dieser Antwort: jQuery ist JavaScript-DOM (nicht JavaScript die Sprache, nur das DOM) wie es Array.prototype.forEachist for. Es funktioniert in 99% der Fälle. Und es funktioniert gut. Aber für das 1% , die nicht abgedeckt ist, Sie müssen wissen , wie die verwenden forSchleife, wenn auch nur praktisch zu sein. Diese gesamte Antwort basiert auf der "reineren" Seite der Frage und nicht einmal auf der technischen Seite (z. B. der Größe der Bibliothek und einigen anderen Dingen, die in der Antwort von Michael Dorrant erläutert wurden). Weil ich JavaScript liebe und wenn die Leute es nur beiläufig beiseite werfen und sagen "pah, diese dummen Javascriptianer" und schicke weiße Handschuhe winken, kommt es auf die Moral an.

Wenn Sie die Tatsache akzeptieren können, dass Sie immer ein JavaScript-Enthusiast sind, wer soll ich Sie dann aufhalten? Wenn Sie jedoch ein JavaScript-Programmierer sein möchten, müssen Sie über die erforderlichen Kenntnisse verfügen, um zumindest zwischen der Verwendung von jQuery (oder einer anderen Bibliothek) und der Nichtverwendung einer Bibliothek zu wählen . Lerne das DOM. Erfahren Sie, wie man es benutzt. Schreiben Sie Ihre eigene kleine Bibliothek oder nur eine Sammlung von Hilfsfunktionen. Und wenn Sie sich mit DOM auskennen und sich für jQuery - godspeed entscheiden. Faulheit wird für diejenigen vergeben, die hart gearbeitet haben.

Zirak
quelle
15
Lange Teilung ist immer noch schwer!
Raynos
13
@ anonymDownvoter Bete, erkläre. Liegt es daran, dass du Vegetarier bist? Ich kann das Steak in Tofu-Burger verwandeln, kann aber nicht ehrlich sagen, dass es so etwas wie einen "tollen Tofu-Burger" gibt
Zirak
10
+1 "Wie gibt $ (etwas) ein gigantisches Ding zurück, das Dinge enthält, und was genau ist dieses Ding?" Hah!
ThinkingStiff
3
@Mike, es ist kriminell, dass dieser Status nie beantwortet wurde, weil er rein ist! @ # $ Ing genial.
Erik Reppen
5
"Great Steak" in der Post ist ein freiwilliger Tippfehler, versuchen Sie nicht, es zu bearbeiten. Bei Bedarf findet diese Meta - Diskussion darüber
gnat
12

Gründe, die ich kenne:

  1. Wenn der Bedarf äußerst gering ist, sagen Sie 1 Klick.

  2. Wenn die Download-Geschwindigkeit kritisch ist und die jQuery-Bibliothek zu groß und Sie nicht viel (benutzerdefinierten) Code schreiben müssen, um sie zu ersetzen.

  3. Bei der Integration mit anderen Technologien ist manchmal raw js besser.

  4. Bei der Arbeit an einem Legacy-System (auch bekannt als "Produktion") bereits in js mit etablierten Mustern geschrieben.

Michael Durrant
quelle
13
Ich frage mich, wie oft sich # 2 tatsächlich als wahr herausstellt. Sie sparen 92.000, möglicherweise zwischengespeicherte Downloads, schreiben aber am Ende viel mehr JS-Code für Boilerplate.
Adam Rackis
4
Das weiß ich nicht. Sie können den JS auf das beschränken , was Sie benötigen , anstatt die gesamte Bibliothek für einen Teil der Funktionalität einzuschließen.
Ryan Kinal
4
@ Ryan Kinal - Adam Rackis hat einen guten Punkt, und wenn Sie die Google-API zum Laden von Jquery verwenden, können Sie es von derselben Stelle laden, von der der Benutzer es wahrscheinlich bereits abgerufen hat.
Ben DeMott
Ich bin nicht einverstanden mit # 4. Wenn der Legacy-Code schrecklich ist und alle im Team zustimmen und es eine gute Idee ist, jQuery hinzuzufügen und in künftigem Code zu verwenden.
ThiefMaster
7

jQuery ist einfach ein Framework - eine Reihe von in JavaScript geschriebenen Tools. Wenn Sie diese Tools verwenden, verwenden Sie immer noch JavaScript. Einige Leute bevorzugen es, JavaScript mit den von jQuery bereitgestellten Werkzeugen zu schreiben, andere entscheiden sich dagegen, andere entscheiden sich für andere Werkzeugsätze.

Einige Gründe, warum Sie "reines" JavaScript ohne jQuery schreiben möchten:

  • Seiten werden schneller geladen, ohne zusätzliche jQuery-Dateien einzuschließen
  • Einige Frameworks sind möglicherweise nicht mit jQuery kompatibel
  • Der geschriebene Code macht nichts, womit jQuery hilft
  • Der Code wird für die Verwendung durch andere geschrieben, und das Erfordernis von jQuery als Abhängigkeit würde das Teilen schwieriger machen
  • Der Autor des Codes möchte mehr Kontrolle als jQuery bietet
user41718
quelle
5

jQuery fügt wie jede Bibliothek oder jedes Framework eine weitere Ebene von Fehlern hinzu . Ich liebe es, aber ich habe auch einen Tag damit verbracht, nach einem Fehler zu suchen, der sich im jQuery-Kern befand und nicht in meinem Code (ein seltener Anlass, aber nicht so selten).

Ansonsten finde ich keinen anderen Grund, es nicht zu benutzen:

  • Der Aufwand ist minimal, vor allem, wenn Sie mit der gehosteten Google-Version gehen ,
  • Es hilft weniger erfahrenen Javascript-Entwicklern, saubereren und effizienteren Code zu schreiben.
  • Es ist meist plattformübergreifend, was lebensrettend sein kann, wenn Sie mit älteren Browsern arbeiten müssen.
  • Die riesige Plugin-Galerie hilft mir, in kürzester Zeit Prototypen zu schreiben.
  • Das DOM macht Sinn,
  • bla bla bla ...

ABER es sollte niemals als Ersatz für Javascript-Kenntnisse verwendet werden. Wenn Sie nicht wissen, wie man es mit reinem Javascript macht, können Sie zunächst mit einer Bibliothek davonkommen, aber auf lange Sicht werden Sie dafür bezahlen.

Und natürlich gibt es alle von uns, die schon seit einigen Jahren mit IE6 in tödliche Kämpfe verwickelt sind und unsere alten Schultricks nicht so leicht zugunsten eines glänzenden neuen Spielzeugs aufgeben werden.

yannis
quelle
2
Sie verwenden jQuery-Plugins? Sind die meisten von ihnen nicht schrecklich fehlerhaft und voller langsamer, schlechter Codes?
Raynos
@Raynos The huge gallery of plugins help me write prototypes in very short times... Nur Prototypen, ich vermeide sie wenn möglich im Seriencode . Es gibt natürlich einige Plugins mit exzellentem Code, aber man muss sehr genau nach ihnen suchen ...
yannis
Prototypen bedeutet im Allgemeinen "hätte wegwerfen sollen, ist aber jetzt Seriencode". Wenn Sie sie für Wegwerfprototypen verwenden, ist das in Ordnung.
Raynos
Bei @Raynos Prototyping geht es nicht nur um Einweg-Prototypen. Evolutionäres Prototyping ist ein zentraler Prozess der Webentwicklung ... - wie ist das für eine späte Antwort: P
yannis 22.01.12
"Evolutionäres Prototyping" heißt "jetzt viel sparen und hoffen, dass wir mehr davon haben als die Kosten für all die Code-Schulden, die wir bekommen werden". Was natürlich nur dann gilt, wenn Sie mit dem Schneiden von Ecken in das magische Zeitfenster geraten, das Sie benötigen, damit Ihr Unternehmen zum Erfolg wird. Es ist ein Darlehen.
Raynos
5

In der Browserumgebung benötigen Sie ein browserübergreifendes Normalisierungstool. Ein solches Werkzeug gibt es in zwei Varianten

  • Bricht Hostobjekte mit neuen Objekten zusammen, die sich in allen Browsern gleich verhalten
  • Erweitern Sie die Hostobjekte, um die DOM-API zu implementieren.

Im Allgemeinen können Sie diese Dienstprogramme auf drei Arten verwenden

  • Verwenden Sie kleine Funktionen wie addClassoder im setTextgesamten Code, wann und wo Sie sie benötigen
  • Schreiben Sie Ihre eigene browserübergreifende Normalisierungsbibliothek
  • Verwenden Sie eine vorhandene.

Sie benötigen einen Normalisierungsmechanismus, ansonsten erhalten Sie keine browserübergreifende Unterstützung.

Was die Verwendung eines vorhandenen angeht, ist das in Ordnung. Ich würde einfach nicht jQuery verwenden. Persönlich schreibe ich gerade meine eigene Bibliothek ( DOM-shim behebt Browser, ohne dass eine fremde Propietory-API verfügbar gemacht wird. Es verwandelt Ihre Browser in einen einzigen, gut verhaltenen, standardisierten Browser).

Raynos
quelle
3

Wenn Sie keine Unterstützung für DOM-Abstraktion, Cross-Browser und Legacy-Browser benötigen, können Sie ganz einfach auf jQuery verzichten.

Dies ist der Fall, wenn Sie Browsererweiterungen, (gelegentlich) Greasemonkey-Skripte, Dinge, die sich auf Zahlen beziehen, für Node.js oder andere Nicht-Browser-Umgebungen entwickeln.

c69
quelle
2

Zusammen mit den anderen Antworten hier, insbesondere der von Michael Durrant , sah ich, dass Geschwindigkeit ein Hauptgrund für mich ist, mich gelegentlich für die Verwendung von unformatiertem JavaScript zu entscheiden.

In letzter Zeit habe ich an vielen Animationen oder anderen CPU-intensiven Aufgaben gearbeitet, und manchmal ist rohes JavaScript viel, viel schneller als wenn ich mit jQuery arbeite.

Ein Beispiel ist, wo ich die Deckkraft eines position: fixedElements in Bezug darauf ändern wollte, wie weit ein Benutzer auf einer Seite gescrollt hat. Der Effekt war viel zu langsam, als ich dafür jQuery verwendet habe, wodurch das Scrollen ruckelte und der Fade-Effekt zerstört wurde. Ich habe auf reines JavaScript umgestellt und bis auf IE <= 8 war alles seidig glatt.

Krapfen
quelle
2

Ich muss meine Antwort mit etwas offener Ehrlichkeit vorbereiten. Ich liebe jQuery. Dies erleichtert mir das Leben enorm und macht JavaScript-Code aussagekräftiger, so wie es meiner Meinung nach funktionieren sollte.

jQuery macht viele Dinge ...

Ja, Sie können Plugins hinzufügen.
Ja, Sie können Selektoren erweitern.
Ja, es vereinfacht die Animation

Aber jQuery macht nicht alles

Haben Sie jemals versucht, mit jQuery in mehreren Fensterkontexten zu arbeiten? jQuery kann es nicht leiden , mit verschiedenen Fensterkontexten umzugehen, weil es das Original windowund den documentKontext des Fensters beibehält, in dem es aufgerufen wurde.

Ich habe hier und da etwas Code geschrieben, um Popouts * zu erstellen, und jQuery kann mich einfach in die Quere kommen, was ich erreichen möchte. Das Hinzufügen eines neuen Verweises auf jQuery im untergeordneten Fenster kann die Situation oft verschlimmern, indem es schwieriger wird, festzustellen, welcher jQuery-Kontext verwendet wird.

* Denken Sie an das Popout von Google Mail zum Erstellen einer E-Mail in einem neuen Fenster, nicht an Spam-Werbung

Verwenden Sie es, wenn es den Code vereinfacht

Die Zeit für die Verwendung von jQuery ist, wenn Sie Ihren Code einfacher, kürzer, lesbarer und schneller machen können.

Die Zeit, um jQuery nicht zu verwenden, ist, wenn es Ihren Code nicht einfacher, kürzer, lesbarer oder schneller macht. Wenn Sie die Ladezeiten optimieren müssen, möchten Sie möglicherweise jQuery aufgrund des Ereignis-Overheads nicht verwenden.

zzzzBov
quelle
2

Wie Sie wissen, handelt es sich bei jQuery um ein allgemeines Framework, das viele Methoden bereitstellt, die viele von uns in ihren Projekten nicht verwenden. (Einige davon habe ich überhaupt nicht benutzt.)

Es gibt zwei Hauptgründe, warum jQuery oder andere gut etablierte Frameworks nicht verwendet werden.

1. Das Projekt ist nicht groß oder komplex genug, um ein solches Framework zu verwenden. In diesem Fall trifft der Codierer eine fundierte Entscheidung auf der Grundlage seiner Erfahrungen und Kenntnisse in JavaScript. Dies hilft ihm, das Seitengewicht zu reduzieren und den Code besser zu kontrollieren.

2. Der Codierer entwickelt sein eigenes Framework Ich habe ein Projekt in meiner Firma gesehen, das ein eigenes JavaScript-Framework hat. Der Grund, warum sie zitieren, ist, dass sie auf die nächste Version warten müssen, wenn sie jQuery verwenden und es einen Fehler gibt, der behoben werden kann. Außerdem, wenn es eine Funktion hinzugefügt werden soll, brauchen sie das jQuery - Team darum zu bitten oder ein Plugin hinzufügen , obwohl so dass es ein Plugin wird nicht eine gute Idee sein (sie gaben das Beispiel eines benutzt zu haben .liveähnliche Sache in ihrem Framework, noch bevor es offiziell zu JQuery hinzugefügt wurde). Ein eigenes Framework gibt Ihnen mehr Kontrolle über den Code. Der Nachteil ist, dass Sie das Rad in Bezug auf Browserkompatibilitätsprobleme usw. neu erfinden müssen. Wenn der Entwicklungsprozess nicht gut ist, wird Ihr Framework aufblähen und nur die Zeit für die Wartung verlängern.

Shree
quelle
0

Mike

Ich denke, die Leute, die sich gegen die Verwendung einiger Bibliotheken absichern, sind auf die Abhängigkeit von dieser Infrastruktur- / Bibliothekslösung zurückzuführen, um eine Aufgabe auszuführen.

Aber denken wir daran, dass Sprachen auf lange Sicht wie Bibliotheken kommen und gehen.

Vielleicht ist es der zeitliche Rahmen. Vielleicht zögern die Leute, in eine Bibliothek zu investieren, die vielleicht gar nicht da ist - oder auf lange Sicht genauso viel Schwung dahinter hat.

Mich selber? Ich habe keine Einwände gegen die Verwendung von JQuery im Besonderen. Ich schaue mir auch "Box2d.js" oder "Three.js" an und würde sie viel lieber annehmen, auch wenn sie nur eine kurze Haltbarkeit haben, als zu verpassen, welche Früchte sie zu bieten haben.

Mike Fazit: Es besteht das Risiko, dass die Haltbarkeit einer von Ihnen ausgewählten Bibliothek beeinträchtigt wird, und ich denke, einige Mitglieder der JavaScript-Community haben möglicherweise Verluste erlebt, weil eine Bibliothek oder ein Projekt zu Ende gegangen ist.

Tim Miltz
quelle
0

Ich würde sagen, das Hauptproblem ist, dass immer mehr Menschen (die große Mehrheit?) Nicht mehr wissen, wie man in JavaScript codiert. Wenn jQuery etwas nicht kann, können sie es nicht.

Es kommt auf den Punkt, dass es schwierig wird, einfache Javascript-Beispiele zu finden. Nichts gegen jQuery; Es ist ein großartiger Rahmen. Ich habe viele gute Ideen daraus, aber die Leute sollten zuerst JavaScript lernen und dann ein Framework lernen. Ich persönlich finde mein eigenes Framework flexibler und besser auf meine Bedürfnisse zugeschnitten, und ja, ich erfinde das Rad manchmal neu, aber die vollständige Kontrolle und Kontrolle über Fehlerkorrekturen ist ein großer Vorteil, vorausgesetzt, Sie sind bereit, die Arbeit in das Erlernen von JavaScript zu investieren.

Nicht nur das. Wenn Sie Vanilla JavaScript kennen, macht es viel mehr Spaß, herumzuspielen und mit den neueren Funktionen zu experimentieren, anstatt auf eine Framework-basierte Implementierung zu warten. Außerdem gebe ich jQuery nicht die Schuld, da es sich hauptsächlich um eine DOM- Bibliothek handelt, aber bei großen Projekten kann es schwierig sein, diese zu skalieren. Andere Frameworks machen dies besser; Der Prototyp kommt in den Sinn.

Kurz gesagt, es ist ein großartiger Rahmen, aber nicht das A und O, für das sich die Menschen eignen.

Geofftop Ozzymondias
quelle
2
Ihre Antwort wäre klarer, wenn Sie weniger schimpfen und sich mehr auf Einzelheiten konzentrieren würde.
Dieser Beitrag ist ziemlich schwer zu lesen (Textwand). Hätten Sie etwas dagegen bearbeiten sie in eine bessere Form ing?
gnat
0

Ich kann zwei weitere Gründe hinzufügen, die nicht erwähnt wurden:

  1. Wenn ich oft brandneue Technologien aufgreife, beginne ich mit Konstrukten auf niedrigerer Ebene, bevor ich zu Konstrukten auf höherer Ebene gehe. Ich bin in erster Linie ein C ++ / C # -Entwickler, aber vor einiger Zeit, als ich anfing, mit HTML / CSS / JavaScript herumzuspielen, entschied ich mich, kein Framework zu verwenden, weil ich zuerst die Technologie (dh JavaScript) verstehen wollte Sprache selbst), auf denen diese Frameworks aufbauen.

    • Allerdings habe ich seitdem jQuery entdeckt und möchte nie wieder von Hand codieren, was jQuery in 1-2 Codezeilen für Sie tun kann.
  2. Ich weiß nicht, wie häufig dies vorkommt, aber es scheint, dass viele Leute, die das nächste Framework / die nächste Technologie / Sprache sehen, als erstes antworten: "Keine weitere API, die ich lernen kann!" Es ist ihnen egal, wie einfach jQuery ist, aber sie sehen es einfach als Hindernis zwischen sich und der Bereitstellung von Arbeit mit ihren "echten und erprobten" Methoden. Dies ist die gleiche Kategorie von Personen, die sich weigern, die Boost-Bibliothek oder eine der STL- Bibliotheken zu verwenden und malloc weiterhin für nahezu alles verwenden. Sie haben gefragt, warum sie sich für reines JavaScript über jQuery entscheiden, und in Wirklichkeit haben sie sich nie entschieden, weil sie sich die meiste Zeit geweigert haben, jQuery überhaupt zu evaluieren, und mit ihrem aktuellen Entwicklungstempo, egal wie langsam es ist, vollkommen zufrieden sind.

DXM
quelle
1
Die Leute wählen reines JavaScript über jQuery, weil jQuery eine schreckliche Abstraktionsebene ist, die nicht notwendig ist.
Raynos
Natürlich ist es das, es verbirgt Unterschiede zwischen den Browsern und das ist eine große Sache für sich
Kos
@Raynos: Ich bin nicht wirklich ein Web-Technologie-Experte und kaum ein Amateur, also kann ich jQuery nicht wirklich verteidigen. Aber von dem Moment an, an dem ich es noch nicht gesehen habe, war es sehr gut für mich. jQuery fügt Ihrer Toolbox ein weiteres Tool hinzu. Sie können so viel oder so wenig verwenden, wie Sie möchten. Es hat Sie nie davon abgehalten, bei Bedarf reines Javascript zu schreiben. Gleichzeitig gibt es Dinge, die mit wenigen Codezeilen erledigt werden können. Wenn dies funktioniert, sollten Sie diese beiden Zeilen verwenden. Wenn nicht, würfeln Sie Ihre eigenen. Zu sagen, das Ganze ist schrecklich, als würde man einen Schraubenzieher kaufen und sich dann beschweren, dass es ein ...
DXM
... schreckliches Werkzeug, mit dem man Nägel hämmern kann, weil der Griff nicht genug Gewicht hat
DXM
1
Sie brauchen kein jQuery . Browser haben diese API namens DOM, mit der Sie alles tun können, was Sie wollen. Browserübergreifende Probleme können mit Polyfills gelöst werden. jQuery ist eine mittelmäßige Bibliothek und eine mittelmäßige Lösung für die Unterstützung älterer Browser.
Raynos
-1

jQuery ist eine Bibliothek, die in und für JavaScript geschrieben wurde. Die Idee ist, dass all die schwierigen / langwierigen JavaScript-Dinge einfach sind, wodurch die Entwicklungszeit verkürzt wird und Ihre Skripte mit größerer Wahrscheinlichkeit browserübergreifend funktionieren.

Was macht jQuery vorzuziehen:

  • Schnell
  • Leichte JavaScript-Bibliothek
  • CSS 3 konform
  • Unterstützt viele Browser.
  • Das jQuery-Framework ist erweiterbar und verarbeitet DOM-Manipulationen, CSS, Ajax , Ereignisse und Animationen.

JavaScript ist eine Sprache, während jQuery eine mit JavaScript geschriebene Bibliothek ist.

Die folgenden Gründe sprechen dafür, dass JavaScript der Verwendung von jQuery vorzuziehen ist:

  1. Es lädt jedes Mal die gesamte jQuery-Skriptbibliothek mit der Seite. Es ist ein Nachteil für die schnelle Bearbeitung von Anfragen.
  2. Manchmal kollabiert das jQuery-Framework mit anderen Frameworks.
  3. Wenn Sie einfachen Code schreiben, um nur ein Element auszuwählen und "alter" anzuzeigen, ist natives JavaScript viel besser.
  4. Wenn Operationen klein sind und innerhalb weniger Codezeilen von JavaScript ausgeführt werden, ist es nicht gut, jQuery zu verwenden.

Aus diesen Gründen verwende ich gerne JavaScript, um das jQuery-Framework zu umgehen. Es ist viel besser, JavaScript zu lernen, als von einer solchen Bibliothek abhängig zu sein ...

Auch wenn Sie sie erweitern möchten, müssen Sie Code in JavaScript schreiben. Welches ist auch ein großes Gespräch. Entwickler sind von diesen Bibliotheken abhängig. Um also die Kontrolle über Projekte zu haben, ist JavaScript besser als die Verwendung von Frameworks.

Niranjan Singh
quelle
1
"behandelt DOM-Manipulationen sehr gut" Lol WAS?
Inkognito
danke @Incognito, dass du mich darüber informiert hast. Ist aber viel besser als andere Bibliotheken. keyframesandcode.com/resources/javascript/deconstructed
Niranjan Singh
1
Der Link ist völlig falsch. jQuery, das psudo-css-Selektoren durch sizzle unterstützt, hat nichts mit dem DOM zu tun.
Inkognito
Nun, es ist in Ordnung. Auch ich habe von dir über dieses Zeug erfahren. Kannst du mir irgendeinen Link oder Informationen über dieses Zeug geben. Ich habe die Antwort aktualisiert.
Niranjan Singh
yuiblog.com/blog/2006/10/20/video-crockford-domtheory ist ein guter Anfang, dann lesen Sie die w3c-Spezifikation auf dem DOM.
Inkognito
-4

Ich denke, die Leute verwenden jQuery, weil es einfacher, einfacher und leistungsfähiger ist und weil es ihnen hilft, den Internet Explorer zu vergessen. Außerdem wird für benutzerdefinierte Funktionen Javascript verwendet. Weitere Informationen finden Sie im DOC


quelle