Ich habe kürzlich viel darüber nachgedacht, wo ich die Grenze ziehen sollte, und ich wollte einige Antworten von erfahrenen Entwicklern da draußen bekommen. Wann kann man jQuery in einer Web-App referenzieren?
Einige unterstützende Argumente für Immer jQuery verwenden :
Einige unterstützende Argumente für Nie jQuery verwenden :
Ich habe Argumente als Teil der Frage aufgelistet, weil ich keine Antworten haben möchte, die die Argumente beider Seiten abwägen. Ich hoffe auf immer / nie Antworten, vorzugsweise mit Testfall Szenarien (vage oder detailliert).
Zum Beispiel: "Wenn ich jemals AJAX-Anfragen in meiner Web-App machen muss, verwende ich immer jQuery".
Wenn ich jemals etwas nach document.getElementById () in meiner Web-App machen muss, benutze ich immer jQuery.
Ich finde die meisten Ihrer Argumente gegen jQuery ziemlich schwach, besonders die letzte:
Selbst die einfachsten Aufgaben können aufgrund der inhärenten Komplexität des Frameworks schlecht funktionieren.
Dem stimme ich überhaupt nicht zu. jQuery ist unglaublich einfach und gleichzeitig mächtig und das ist es, was ich daran liebe.
Verunsichernde Abhängigkeit eines Drittanbieters Bibliothek, die teuer sein könnte Fehler, und könnte zu ungerechtfertigten führen schlechte Leistung
Kumulativ haben die jQuery-Entwickler viel mehr in die Beseitigung von Fehlern und Leistungsproblemen in einer größeren Anzahl von Browsern investiert, als Sie oder ein anderes kleines Team sich leisten könnte.
Not-Invented-Here-Syndrom ist eine Verschwendung Ihrer Zeit.
Es ist akzeptabel, wenn Sie zusätzliche Flexibilität wünschen, die nicht im DOM enthalten ist. In der Standardeinstellung ist JQUERY nicht enthalten. Sobald ich jedoch eine Client-Seite heben muss, gehe ich zu JQUERY.
Ich werde sogar JQUERY und MSAjax gleichzeitig verwenden (meistens auf Legacy-Seiten, die ich von MSAjax entferne).
Ich würde sagen, dass es akzeptabel ist, jQuery zu verwenden, wann immer Sie keine Zeit mit verschiedenen Javascript-Implementierungen verschwenden möchten. Was wahrscheinlich immer ganz nah ist ..
Wenn das, was Sie tun, eine ziemlich kleine und triviale Sache ist, die jQuery (19KB minimiert) einführt, könnte eine Abhängigkeit etwas übertrieben sein.
Erfinde das Rad nicht neu, wenn du es nicht musst!
Es gibt nicht sehr viele Dinge, die ich Javascript nützlich finde, das jQuery nicht vereinfacht.
Für die Datenvalidierung bevorzuge ich nur eine Implementierung davon, und da ich den Server sowieso dazu bringen muss, alles zu validieren, könnte ich auch AJAX für die Formularvalidierung verwenden. jQuery ist sehr gut darin.
Für die DOM-Manipulation bietet jQuery eine knappe Art, das auszudrücken, was ich wahrscheinlich brauche. Sicherlich kürzer und wahrscheinlich klarer als die 3 bis 10 Funktionsaufrufe, die ich sonst brauchen würde.
Visuelle Effekte werden selten wirklich benötigt. Sie sind auch schwer zu transportieren. Wenn ich keinen vorgefertigten visuellen Effekt finden kann, ist es für mich besser, ohne ihn zu arbeiten. jQuery UI und mehrere etablierte Plugins passen die Rechnung.
Es gibt viele andere JavaScript-Bibliotheken, und ich bin mir sicher, dass viele von ihnen großartig sind, aber wenn sie nicht eine absolut unverzichtbare Funktion bieten (zB Google API), kann ich wahrscheinlich auch jQuery dazu bringen, und ich bin schon mit jQuery vertraut.
Ich benutze nie jQuery ... warum? Nie wirklich darüber nachgedacht, ich denke, ich habe einfach keinen Grund gefunden, irgendetwas außer Javascript zu benutzen. Außerdem möchte ich mich nicht auf Abstraktionsschichten verlassen, die ich nicht verstehe. (Natürlich sind die Dinge, die ich mit Javascript mache, nicht besonders kompliziert, in meinem Fall wäre jQuery also vielleicht mehr Ärger, als es wert ist.)
Heute habe ich einen Javascript-Patch zu einer Seite hinzugefügt, wo ich ein Div von seinem ursprünglichen Platz in der DOM-Struktur verschieben und es zu einem Kind des Körpers machen musste, damit es richtig positioniert werden konnte. Ich wusste, dass es nur einmal beim Start zu einem bestimmten id'd div kommen müsste, und dass die Seite kein anderes JS-Verhalten verwenden würde. Also habe ich es von Hand geschrieben.
Für etwas Komplexeres ist es jQuery. Die High-Level-API spart mir nur so viel Zeit, die ich sonst für den Computer ausgeben müsste.
Nun, zumindest bis EcmaScript 5 wird herauskommen und bis die Browser in ihren JavaScript Engines a gemeinsame Spezifikation, jQuery ist das beste Werkzeug, das wir Probleme über den Browser lösen müssen. Vor nicht langer Zeit mussten Sie jedes Mal, wenn Sie eine js-Datei starteten, mit einer Browser-Erkennung -Funktion beginnen. Ich habe Prototypen, Mootools, Dojo und kürzlich jQuery benutzt und bin sehr zufrieden mit der Hilfe, die sie bieten.
Die Verwendung von jQuery nur für die Browser-Kompatibilität ist kein Grund genug für mich, jQuery zu verwenden. Die meisten JavaScript-Framework in diesen Tagen bereits in der Lage, das zu lösen. Was mich betrifft, würde ich jQuery verwenden, wenn ich jemals ein sehr einfaches DOM-Manipulationstool benötigen würde, das Ajax-Unterstützung hat. Wenn ich jemals etwas darüber hinaus brauche, würde ich ein anderes Javascript-Framework verwenden. Ich würde Mootools verwenden, wenn ich Javascript Objektorientierte Unterstützung benötige, und ich würde Ext. Verwenden -JS wenn ich jemals umfangreiche integrierte Widgets brauche.
Tags und Links jquery