Es gibt über 100.000 Fragen zum Stapelüberlauf, die als Fragen zur Fehlerbehebung / Verwendung von JQuery gekennzeichnet sind. Vergleichen Sie dies mit den 124.000 Fragen zum Stapelüberlauf, die für JavaScript-Probleme markiert sind. Fast die Hälfte aller JavaScript-bezogenen Fragen zum Stapelüberlauf werden JQuery zugeordnet (plus oder minus einer Marge für die wenigen anderen JS-Frameworks, die Fragen zu SO erhalten).
Was ich damit sagen will, ist, dass jQuery keine Sprache ist und nicht das A und O aller Frameworks, die auf jedes Szenario angewendet werden müssen, in dem JavaScript vorhanden ist, aber es fängt schnell an (und ich gehe davon aus, dass es bald in den Schatten stellen wird) ) JavaScript als Diskussions- / Anfragequelle auf Websites wie Stack Overflow.
Tötet jQuery den JavaScript-Stern? Gibt es für die nächste Generation von Webentwicklern keinen festen Überblick mehr über die Leistungsfähigkeit, Einfachheit und Verwendung von JavaScript als Mittel zur DOM-Manipulation? Ist dies nur die natürliche Entwicklung der Dinge und der Standpunkt, den ich präsentiere, typisch für das Ego des Codierers (dh sehen Assembly-Programmierer auf diese Weise die .NET / Java / Web-Menge?) Oder ist dies wirklich der Anfang vom Ende des echter JavaScript-Entwickler?
quelle
Antworten:
Sie könnten sicherlich das Argument vorbringen, dass jQuery die Javascript-Diskussion beendet hat, und dieses Trenddiagramm würde dies unterstützen: http://www.google.com/trends?q=jquery%2C+javascript
Es ist ziemlich einfach, dies auch auf dem Message Board Ihrer Wahl zu beobachten. Immer ein "Wie machst du xxx in Javascript?" Wenn eine Frage gestellt wird, können Sie fast darauf wetten, dass die Antworten das Format "Verwenden Sie jQuery und tun Sie einfach JJJ" haben.
Ich würde sagen, es ist genauer zu sagen, dass es jetzt üblicher ist, Javascript in Bezug auf übergeordnete Frameworks zu diskutieren (ob dies so etwas wie ein jQuery / Prototyp oder Knockout / Backbone oder node.js oder ... ist).
quelle
$(foo)
wird zur Standard-SO-Antwort auf einfache Aufgaben, wie z. B. wie bekomme ich alles<img>
auf einer Seite . Die Strafe für Endbenutzer ist unangemessen.$('selector')
Upvotes zu verwenden und diese zu erwarten.Über jQuery . Ich programmiere seit 2001 mit DOM-APIs und kann Ihnen versichern, dass Sie mit einer einfachen und gut getesteten DOM-API wie jQuery mehr am eigentlichen Problem als an der API arbeiten können.
Ich habe DOM 2005 auch in rohem Javascript manipuliert und die meiste Zeit damit verbracht, es browserübergreifend funktionieren zu lassen.
Vor jQuery verbrachten viele von uns Zeit damit, die Browserunterschiede und -fehler unabhängig und mit wenig Code-Sharing zu beheben. Wir haben immer wieder die gleiche Arbeit und die gleichen Fehler wiederholt. jQuery hat uns von dieser Pflicht befreit. Heutzutage arbeite ich mit vielen jQuery-Plugins hauptsächlich an meinem Problemfeld, kann aber auch viel kompliziertere Manipulationen am Dokument vornehmen. Nur befreit von DOM-Kopfschmerzen konnte ich die wahre Kraft von Schließungen und der JS-Ereignisschleife lernen (muss für jeden js-Programmierer gesehen werden!)
Die meisten Javascript-Programmierer verwenden jQuery, um das DOM zu manipulieren. Daher beziehen sich die meisten Fragen auf diesen Bereich und jQuery.
Es gibt Alternativen zu jQuery:
Node.js ist eine sich schnell entwickelnde Umgebung, die in einigen Jahren möglicherweise zur Mainstream-Serversprache wird. Mein Eindruck davon ist, dass es noch viele Funktionen gibt, die die Sprache eleganter erscheinen lassen könnten. Im Moment ist die Organisation Ihres Codes sehr aufwändig. Ich kann nicht sagen, ob es mit einem Framework wie jQuery oder nur mit einer neuen Sprachversion repariert werden kann, aber stellen Sie sicher, dass dies von jemandem behoben wird. Node.js und JS im Allgemeinen haben genügend Schwung.
quelle
Ich würde es als näher an der Standardbibliothek in C ++ als an der .Net / Assembly-Analogie ansehen. Oder noch besser .Net und C #. In der C # -Spezifikation gibt es nichts, was besagt, dass Sie .Net verwenden müssen, aber es ist ziemlich eng miteinander verbunden. Was Ihre Frage betrifft, interessieren sich die meisten Webentwickler nicht für JavaScript.
Tatsächlich würde ich argumentieren, dass der DOM-Manipulationsteil von JavaScript ziemlich schrecklich ist (insbesondere angesichts der Tatsache, dass verschiedene Browser es schwierig machten, Dinge überall zum Laufen zu bringen). Ich glaube nicht, dass Sie etwas anderes hineingesteckt und ein besseres Ergebnis erzielt haben könnten, aber jahrelang war es ein Punkt der Frustration (wieder einmal normalerweise aufgrund von Browserherstellern). Die meisten Leute hackten einfach etwas vor jQuery zusammen und nannten es einen Tag (und proklamierten sich die meiste Zeit als "Experten"). jQuery nimmt einfach die Teile, die niemand mochte, und verleiht ihnen ein schöneres Gesicht. Da dies derzeit die Hauptanwendung von JS ist (DOM-Manipulation), wird jQuery immer häufiger angezeigt (oder ein anderes Framework wie Prototype usw.). Nur damit Sie wissen, dass der durchschnittliche Webentwickler vor jQuery kein großartiger JS-Entwickler war.
Davon abgesehen macht sich JavaScript als Sprache gut. Node.js ist ein gutes Beispiel dafür, wie es als tatsächliche Sprache verwendet wird. Ich habe sogar versucht, es in einigen meiner Apps als eingebettete Skriptsprache zu verwenden (für LUA verloren gegangen, aber nur, weil die Einrichtung von LUA weniger Zeit in Anspruch nahm).
quelle
Jquery abstrahiert die nervigsten und langweiligsten Aufgaben bei der Entwicklung eines Javascript für eine Website. Das Durchqueren des DOM ist eine wiederholbare Aufgabe, die viel Handarbeit erfordert und nur sehr geringe Vorteile bietet, wenn Sie es auf die harte Tour ausführen. Die einzigen Fälle, in denen ich jQuery heutzutage nicht benutze, sind die mobilen Versionen der Websites - Sie können sich einfach keine weitere Anfrage mehr leisten und dort 100.000. Gleiches gilt für das Laden von Ajax.
Auch jQuery lässt quasi funktionale Programmierung Spaß machen. Es führt das Konzept der Funktion als erstklassiges Objekt für Entwickler sehr intuitiv ein. Wirf ein paar Eye-Candy-Effekte und einige sehr gute Plugins - es ist ein ziemlich beeindruckendes kleines Tool, das perfekt für diese Aufgabe geeignet ist.
Standard-Javascript -> Jquery hatte für mich das Gefühl, von C ++ und mfc auf Winforms und C # zu migrieren.
quelle