jQuery vs. Javascript? [geschlossen]

76

Ich bin kürzlich auf einige Javascript-Foren gestoßen (leider geht die Verbindung irgendwo im Universum verloren), in denen Sie echten Hass gegen jQuery empfinden könnten, weil Sie nicht ... gut sind?

Die meisten Argumente scheinen tatsächlich Sinn zu machen.

Jetzt mag ich jQuery sehr, vor allem, weil ich mich auf Dinge konzentrieren kann, die ich lieber auf Browser-Inkonsistenzen konzentrieren möchte, und AJAXing mit coolen (oder überstrapazierten ?) Effekten macht Spaß.

Aber wenn im Kern von jQuery wirklich etwas faul ist, möchte ich mich nicht so darauf verlassen, wie ich es tatsächlich tue.

Ich möchte nicht noch einmal darüber streiten, welches Framework das beste ist ... aber ... welches Framework ist das beste (Witz) ? Denken Sie als Fall an das kleine bis mittlere Web und dessen Verwaltung.

Ich versuche nur herauszufinden, ob Dinge in einem Framework oder reinem Javascript mit wenigen Minenfunktionen wirklich einen Unterschied machen.

Bearbeiten:

Ich habe tatsächlich versucht, eine normale objektive Diskussion über Vor- und Nachteile von:

  1. Verwendung eines Frameworks über reines Javascript und
  2. jQuery gegen andere,

Da jQuery mit der schnellsten Lernkurve am einfachsten zu bearbeiten scheint. Einige Leute verstehen es jedoch einfach nicht und denken, dass ich noch eine Flamme entzünde (was ich nicht bin). Ich stimme tatsächlich dafür, diese Frage erneut zu eröffnen.

Auch ich interessiere mich wirklich für:

  • Verlässt sich jQuery stark auf Browser-Sniffing? Könnte das in Zukunft ein potenzielles Problem sein? Warum?
  • Ich habe viele JS-Selector-Engines gefunden. Gibt es AJAX- und FX-Bibliotheken?
  • Gibt es einen Grund (außer Browser-Schnüffeln und persönlichem "Hass" gegen John Resig), warum jQuery falsch ist?

jQuery steht, wie am häufigsten verwendet, auch für andere Frameworks.

Adam Kiss
quelle
1
"Ich möchte nicht noch einen Streit darüber beginnen, welches Framework das beste ist", ". Welches Framework ist das beste?" Was? ..
Filip Ekberg
1
@ Jimmy - ja, aber meistens sieht man immer einen Punkt - auf jQuery-freundlichen Seiten jQuery ftw, in einigen js-Foren jQuery sucks, sieht man den Vergleich nie nebeneinander
Adam Kiss
3
Es ist subjektiv, argumentativ und sollte, wenn nicht geschlossen, ein Community-Wiki sein.
Filip Ekberg
1
@Filip etwas zu sagen und es zu verurteilen ... es war ein bisschen als Witz gedacht ... vergiss es>.<
Adam Kiss
2
@ Adam ich habe es gelesen. Ich verstehe, dass Sie nicht versuchen, einen Flammenkrieg zu beginnen. Lesen Sie, was ich geschrieben habe. Ich habe nicht gesagt, dass du es bist. Ich sage, das ist überflüssig und unnötig .
Jimmy Cuadra

Antworten:

43

Es geht um Leistung und Entwicklungsgeschwindigkeit. Wenn Sie ein guter Programmierer sind und etwas entwerfen, das wirklich auf Ihre Bedürfnisse zugeschnitten ist, erzielen Sie möglicherweise eine bessere Leistung als wenn Sie ein Javascript-Framework verwendet hätten. Aber hast du die Zeit, alles alleine zu machen?

Meine persönliche Meinung ist, dass Javascript unglaublich nützlich und überstrapaziert ist, aber wenn Sie es wirklich brauchen, ist ein Framework der richtige Weg.

Jetzt kommt die Wahl des Frameworks. Welche Benchmarks es wert sind, finden Sie unter http://ejohn.org/files/142/ . Es hängt auch davon ab, welche Plugins verfügbar sind und was Sie damit machen möchten. Ich habe angefangen, jQuery zu verwenden, weil es gepflegt und gut ausgestattet zu sein schien, obwohl es in diesem Moment nicht das schnellste war. Ich bereue es nicht, aber ich habe seitdem nichts mehr getestet.

Xr.
quelle
Nun, genau meine Gedanken (für den Moment), aber Behauptungen darüber, wie jQuery im "Kern" -Kern alles falsch macht und Browser und andere Dinge bewertet ... haben mich verwirrt
Adam Kiss
1
jQuery ist kein Framework, sondern eine Dienstprogrammbibliothek.
Vladimir Kornea
Nun vielleicht. Vor fast 10 Jahren waren die Dinge etwas anders :)
Xr.
32

Persönlich denke ich, dass Sie zuerst auf die harte Tour lernen sollten. Es wird Sie zu einem besseren Programmierer machen und Sie werden in der Lage sein, dieses einzigartige Problem zu lösen, wenn es auftaucht. Nachdem Sie dies mit reinem JavaScript tun können, ist die Verwendung von jQuery zur Beschleunigung der Entwicklung nur ein zusätzlicher Bonus.

Wenn Sie es auf die harte Tour schaffen, können Sie es auf die einfache Art und Weise machen, es funktioniert nicht umgekehrt. Das gilt für jedes Programmierparadigma.

CMJ
quelle
11

Jquery bietet Ihnen wie jedes andere gute JavaScript-Framework Funktionen, die unabhängig von der Browserplattform sind und alle Feinheiten enthalten, die Sie möglicherweise nicht interessieren oder die Sie nicht interessieren möchten.

Ich denke, die Verwendung eines Frameworks ist besser, als reines JavaScript zu verwenden und alles von Grund auf neu zu erledigen, es sei denn, Ihre Verwendung ist sehr eingeschränkt.

Ich kann JQuery auf jeden Fall empfehlen!

Vielen Dank

Mahesh Velaga
quelle
Ich arbeite bereits mit jQuery, ich war mehr an Argumenten interessiert, warum es besser ist (abgesehen von "Benutzerfreundlichkeit")
Adam Kiss
1
Aufgrund seiner Eleganz und der ständig neuen Funktionen habe ich zumindest kein JavaScript-Framework gesehen, das diese schnell wachsende Community von Benutzern und Support bietet. Vielen Dank
Mahesh Velaga
3
@ Greg: Ich habe deinen Kommentar nicht verstanden. Habe ich Eleganceim falschen Kontext verwendet?
Mahesh Velaga
11

"Ich habe tatsächlich versucht, eine normale objektive Diskussion über Vor- und Nachteile von 1. zu führen, wobei das Framework über reines Javascript und 2. jquery im Vergleich zu anderen verwendet wurde, da jQuery mit der schnellsten Lernkurve am einfachsten zu bearbeiten scheint."

Die Verwendung eines Frameworks, weil Sie die zugrunde liegende Sprache nicht wirklich lernen möchten, ist nicht nur für JavaScript, sondern auch für jede andere Programmiersprache absolut falsch.

"Gibt es einen Grund (außer Browser-Schnüffeln und persönlichem" Hass "gegen John Resig), warum jQuery falsch ist ?"

Der größte Teil des Hasses kommt von dem übertriebenen Fanboyismus, der Foren mit "use jQuery" als Antwort auf jede einzelne JavaScript-Frage verschmutzt, und der Überbeanspruchung, die Code erzeugt, in dem einfache Anweisungen wie das Deklarieren einer Variablen durch Bibliotheksaufrufe erfolgen.

Dennoch gibt es auch einige legitime technische Probleme wie die gemeinsame Schuld an der Erstellung von unleserlichem Code und Overhead. Natürlich werden diese beiden eher durch die mangelnde Entwicklerkompetenz als durch die Bibliothek selbst verschärft.

D. S. Schneider
quelle
8
  • Verlässt sich jQuery stark auf Browser-Sniffing? Könnte dieses potenzielle Problem in Zukunft sein? Warum?

Nein - es gibt die $ .browser-Methode, die jedoch veraltet ist und im Kern nicht verwendet wird.

  • Ich habe viele JS-Selector-Engines gefunden. Gibt es AJAX- und FX-Bibliotheken?

Ladungen. jQuery wird oft gewählt, weil es AJAX und Animationen gut macht und leicht erweiterbar ist. jQuery verwendet keine eigene Selector-Engine, sondern Sizzle , eine unglaublich schnelle Selector-Engine.

  • Gibt es einen Grund (außer Browser-Schnüffeln und persönlichem "Hass" gegen John Resig), warum jQuery falsch ist?

Nein - es ist schnell, relativ klein und einfach zu erweitern.

Für mich persönlich ist es schön zu wissen, dass jQuery mehr Inhalte (z. B. Klassenlisten-API) aktualisiert, um sie einzuschließen, was bedeutet, dass mein Code immer so schnell wie möglich ausgeführt wird.

Lesen Sie bei Interesse die Quelle http://code.jquery.com/jquery-1.4.3.js durch - Sie werden sehen, dass Funktionen basierend auf dem besten Fall zuerst hinzugefügt und schrittweise in ältere Browser zurückportiert werden - für Beispiel: Ein Abschnitt der parseJSON-Methode aus 1.4.3:

return window.JSON && window.JSON.parse ?
    window.JSON.parse( data ) :
    (new Function("return " + data))();

Wie Sie sehen können, verwendet der Browser, wenn window.JSON vorhanden ist, den nativen JSON-Parser. Wenn nicht, vermeidet er die Verwendung von eval (da sonst Minfiers dieses Bit nicht minimieren) und richtet eine Funktion ein, die die Daten zurückgibt. Diese Idee, zuerst moderne Techniken anzunehmen und dann auf ältere Methoden herabzusetzen, wird durchgehend verwendet, was bedeutet, dass neue Browser alle Whiz-Bang-Funktionen nutzen können, ohne die Legacy-Kompatibilität zu beeinträchtigen.

Rich Bradshaw
quelle
Animationen mit jquery sind aus Leistungsgründen möglicherweise nicht die beste Wahl. css-tricks.com/myth-busting-css-animations-vs-javascript Sehen Sie sich GSAP auch als gutes Paket an.
GDBJ
5

Jquery VS Javascript, ich bin in dieser Frage völlig gegen das OP. Der Vergleich erfolgt mit zwei ähnlichen Dingen, nicht in einem solchen Fall.

Jquery ist Javascript. Eine Javascript-Bibliothek zur Reduzierung der vagen Codierung, die häufig verwendete Javascript-Funktionen sammelt und sich als hilfreich für eine effiziente und schnelle Codierung erwiesen hat.

Javascript ist die Quelle, die eigentlichen Skripte, auf die der Browser reagiert.

Starx
quelle
2
Wer die Frage verstehen will, versteht sie meiner Meinung nach. Der hier genannte Punkt war, ob es sich lohnt, jQuery zu implementieren, oder ob ein Programmierer mit sauberem JavaScript arbeiten sollte.
Bunkai.Satori
@ Bunkai.Satori, der im Grunde von jQuery vs Javascript Typ Antwort fragt.
Starx
@ Tiberiu-IonuțStan, oder viele Codezeilen für eine einfache Aktion.
Starx
1
Meiner Meinung nach besteht das zentrale Problem bei JQuery darin, dass es zwar eine einfachere Entwicklung gibt, aber eine beunruhigend große Anzahl von Menschen der Meinung ist, dass JQuery eine separate Sprache ist, eine Alternative zu Javascript. Daher der Titel der zuckenden Frage ... und daher viel schlecht geschriebener Code, der die Funktionsweise von DOM / JQuery / Javascript nicht ganz versteht.
Katana314
1
@ Katana314, ich stimme zu. Eine beliebte Bibliothek wie jQuery ist ein Missverständnis einer Sprache. Leider sehen Sie auch in der Bewerbung JavaScript- und jQuery-Experten. Ein anderes Beispiel ist Ruby on Rails, das einer Ausnahme sehr nahe kommt, aber immer noch keine andere Sprache. Um es gelinde auszudrücken, es sind häufige Fehler von Neulingen. Sobald ihr Code auf Unternehmensebene geht, lernen sie, in sauberem Javascript zu codieren.
Starx