JQuery vs ExtJS [geschlossen]


77

Wir planen die Entwicklung einer komplett neuen GUI. Wir waren sehr zufrieden mit JQuery, das wir in unserem alten Produkt verwendet haben. Es war einfach, edel und schnell.

Wir haben von ExtJS gehört . Es hat auch AJAX und eine große Liste von anderen Funktionen.

Wir wollen nur einen davon verwenden.

Welches ist am besten basierend auf Ihrer Erfahrung?

Antworten:


88

Ich habe jQuery ausgiebig genutzt und liebe es. Ich habe ExtJS mehrmals überprüft und würde gerne die Möglichkeit haben, diese Bibliothek irgendwann zu nutzen. Das ist meine Meinung.

jQuery

Die Junk-Schublade der Javascript-Programmierung. Sie haben alles, was Sie brauchen, wenn Sie bereit sind zu graben, Klebeband und Sekundenkleber zu verwenden und im Allgemeinen eine Gruppe von Entwicklern haben, die in der Lage und bereit sind, Code zu hämmern. jQuery ist großartig!

Es wird an viel mehr Orten verwendet als Sie denken. Wie bei Drupal und anderen von der Community unterstützten Frameworks / Bibliotheken erhalten Sie jedoch das, wofür Sie bezahlen, wenn Sie kostenlosen Support erhalten. Mit jQuery können Sie alles erledigen, aber manchmal benötigen Sie eine Schaufel, eine Taschenlampe und Ausdauer.

Darüber hinaus eine sehr gute Dokumentation (vergleichbar mit den Online-Dokumenten von PHP) und jede Menge, buchstäblich jede Menge Beispielcode und Blogeinträge.

Wird Bastler und "fortgeschrittene Scripter" ansprechen, die Google nicht scheuen, einen Satz zu finden, um ein Beispiel zu finden, das verwendet werden kann, um ein Problem zu lösen und die Entwicklung zu beschleunigen.

ExtJS

Diese von einem gewinnorientierten Unternehmen professionell entwickelten Steuerelemente ähneln eher Steuerelementen (im Kontext von Visual Studios) als Widgets oder Plugins. ExtJS ist absichtlich vollständig und robust, mit einem Auge für Details und einer übergeordneten Organisationsstruktur, wie ich es in der Wildnis von jQuery glaube. Es ist das, wofür Sie bezahlen: Ein professionell entwickeltes und unterstütztes Produkt, das durch seine Fähigkeiten lebt und stirbt Wert zurückgeben.

Wird professionell ausgebildete "Programmierer" ansprechen, die umfangreiche Tests und eine höhere Ordnung oder Genauigkeit bei der Entwicklung der Steuerungen erwarten.

Abschließende Empfehlung

Es hat wirklich mit Ihrem Geschäft und Ihren Kunden zu tun. Wenn Ihre Gruppe mehr Heimwerker ist und gerne Dinge zusammenklebt und aus der Tür holt, entscheiden Sie sich für jQuery. Es ist robust für jede Situation. Wenn Sie einen sehr bestellten und professionellen Shop haben, ist ExtJS vielleicht eine gute Wahl, aber jQuery ist auch rentabel. Ich sehe keine Notwendigkeit, Ihre Wissensdatenbank aufzuteilen und beide zu verwenden, aber wenn Sie dies tun, verwenden Sie ExtJS für den Client-Teil und jQuery für die Administratorkonsolen. Ich sehe den Nutzen nicht umgekehrt.

Schauen Sie sich für Ihre Administrationskonsolen auch TIBCO an . Möglicherweise übertrieben, aber sehr interessant.


6
Nizza schreiben über beide .. Lustigerweise kam ich zu dem gegenteiligen Schluss bezüglich: Client VS Admin :)
Ben

1
Ich denke, die Entscheidung hat damit zu tun, was die Clients sehen und womit die Administratorkonsole beauftragt ist (Anpassen der Benutzerkonten gegenüber SCADA). Meine Gedanken sind, dass der Kunde das Geld sehen sollte und dass Administrationskonsolen genau das sein sollten, was notwendig ist, aber das ist nicht schwer in Stein gemeißelt. Ehrlich gesagt würde es mir schwer fallen, einen Code-Split wirklich zu unterstützen, wenn es kein Vermächtnis wäre. Warum sollten Sie Code, den Sie bereits in jQuery haben, neu schreiben? Das klingt nach verschwendetem Geld, es sei denn, ExtJS bietet Ihnen praktische und vorhersehbare Verbesserungen der Metriken für die Lieferzeit und / oder den Kundensupport.
Jared Farrish

TIBCO General Interface ist übrigens der beste Einstiegspunkt, wenn Sie daran interessiert sind. developer.tibco.com/gi/default.jsp
Jared Farrish

7
Nur ein paar zusätzliche Hinweise, wenn Sie ext verwenden möchten. Ab Ext 4 gibt es viel zu überlegen, was die Leistung betrifft. Sowohl das Rendering als auch die tatsächliche Nutzlast. Es ist nicht wirklich Feuer und Vergessen. Für eine nach außen gerichtete Site, bei der Reaktionsfähigkeit erforderlich ist, würde ich ext over jquery nicht wirklich empfehlen. Für interne Tools und andere Corp-Apps ist ext gut.
Asken

1
@asken ... Xero verwendet ExtJS auf der gesamten Weboberfläche und reagiert sehr schnell.
Dawesi

23

Jared Farrishs Antwort ist bereits ziemlich umfangreich.

Ich habe beide für verschiedene Projekte verwendet.

ExtJS ist sowohl in der Größe als auch in den Möglichkeiten viel schwerer. Es ist hervorragend geeignet, wenn Sie eine komplexe Webanwendungsoberfläche benötigen. Es verfügt über hervorragende Steuerelemente für Fenster, Tabellen usw. und sieht elegant aus.

Die ext Forum Community ist durch ihr Forum sehr hilfreich.

Das heißt, es ist viel "starrer" als jQuery, und es gibt eine deutlich längere Lernkurve, um loszulegen, aber wenn Sie sich komplexe Benutzeroberflächen ansehen, wird es sich später auszahlen.

Der Vorteil von jQuery besteht daher darin, dass Ihr Projekt schneller voranschreitet und es einfacher ist, bei der Implementierung neuer Funktionen zu "experimentieren".

Sie sind beide gut für ihre eigene Art von Anwendungen. Ich habe beides für ein Projekt verwendet. Der umfangreiche Administrator (viele Fenster und Abschnitte) ist in ExtJS erstellt, und das Front-End, das schneller bearbeitet werden muss, um Dinge zu optimieren, hat jedoch eine eingeschränkte UI-Interaktion in jQuery.

Hoffe das hilft


12

Ich bin nicht der Meinung, dass die Lernkurve von jQuery schneller ist als ExtJS. Jede Komponente in ExtJS hat ein ausgearbeitetes Beispiel auf der Site und die API-Dokumente sind absolut wunderbar, strukturiert, einfach zu verwenden und vollständig.

Was Sie wählen, hängt von Ihren Schnittstellen ab. Mehr Web-2.0-ähnliche glänzende Oberflächen sind in JQuery möglicherweise etwas einfacher. Die ExtJS-Oberfläche sieht gut aus, ist aber sehr anwendungsorientiert. Trotzdem denke ich, dass es keinen Vergleich zwischen den beiden gibt, wenn Sie eine ernsthaft komplexe, datenintensive Schnittstelle erstellen möchten. Mit ExtJS können Sie Ihre Benutzeroberfläche wie Ihr Backend programmieren, vollständig objektorientiert. Wenn Ihnen ein Verhalten der Standardkomponenten nicht gefällt, überschreiben Sie es. Es ist sehr einfach, wiederverwendbare Komponenten selbst zu erstellen. In ExtJS 3 wurde die Direktschicht eingeführt, die den wiederkehrenden Aufwand der Ajax-Client-Server-Kommunikation beseitigt und automatisch mehrere Anrufe für Sie zusammenfasst, wodurch sich die Anzahl der Serveranforderungen verringert, die Sie zum Zuführen Ihrer Schnittstelle benötigen. Ich kann weiter und weiter machen, aber ExtJS ist für mich ein Glücksfall,

Viel Glück bei allem, was du wählst, Rob


2
Versuchen Sie, den TreeLoader mit einem alternativen Datenformat zu verwenden. Er unterstützt nur eines und es handelt sich nicht einmal um eine normale JSON-Rückgabe im REST-Stil. Es gibt keine Dokumentation dazu. Sobald Sie alternative Funktionen von einer ihrer Klassenmethoden benötigen, müssen Sie diese auch als Kopieren / Einfügen überschreiben und durch Ihre eigenen ändern. Dies wäre nicht immer der Fall. Ich bin sicher, dass einige Methoden mit Super überschrieben werden können, aber Crockford hat gesagt, dass dies eine dumme Sache in JS ist.
Drew

@Drew Ich wäre daran interessiert, einen Überblick über JQuery und ExtJS 4 zu diesem Thema zu erhalten. Ich denke darüber nach, ExtJS4 für ein Projekt von mir zu verwenden, das stark formorientiert ist. Thx
cbmeeks

8
Nun, das ist Rindfleisch, ich wäre wahrscheinlich in einer Urheberrechtsverletzung, wenn ich einen Kern mit ExtJS4 posten würde. Ich habe ExtJS3 für 2 Monate in einem aktuellen Projekt überprüft, und das Framework fühlte sich sehr steif und unversöhnlich an. Ich habe Widgets geändert, um sie erweiterbar zu machen, und Beispiele haben nur für die spezifischen Falltypen funktioniert. Viele der Beispiele wurden nicht von Sencha erstellt, sondern in ihren Foren hinter Paywalls veröffentlicht. Ich würde YUI darüber empfehlen, sie füttern ihre Produkte viel mehr und bieten Kick-Butt-Dokumentationsseiten.
Drew

2
Wie alles ist ExtJS nicht jedermanns Sache. Wenn es sich für Sie zu steif anfühlt, gibt es viele andere Möglichkeiten, die Ihnen besser passen könnten. Für mich ist ExtJS alles andere als steif. Es gibt kein einziges Framework, mit dem ich sehr komplexe Anwendungen strukturiert erstellen kann, ohne das Rad 100 Mal neu zu erfinden. Daneben finde ich den Rahmen äußerst flexibel und verzeihend. Ihr Punkt über die Dokumentation verstehe ich wirklich nicht, ich finde die Dokumentation besser als alles andere, was ich weiß
Rob Boerman

12

Ich habe gerade angefangen, die beiden in zwei verschiedenen Projekten zu verwenden. (Ext 4 und JQuery). Und ja, Ext scheint eher "unternehmerisch" zu sein, aber Docs und das Lernen von JQuery waren nett und angenehm. Andererseits war Ext sehr verwirrend, wenn man bedenkt, dass sich die meisten Docs auf Ext 3 beziehen und ich versuche, Dinge auf Ext 4 zu tun .

Alle Bücher und Tutorials zu jquery haben es mir ermöglicht, weit mehr als nur ext zu machen.

Es ist wichtig zu beachten, dass meine Erfahrung begrenzt ist.


4

Wir werden sehen. EXT hat eine steile Lernkurve, um es richtig zu machen, und es ist extrem leistungsfähig. Es ist die einzige JavaScript-Bibliothek, die ich verwendet habe und die ich als tatsächliches Framework bezeichnen würde (ähnlich in diesem Sinne wie YUI, das ich nicht verwendet habe). In Version 4.x hat sich Sencha voll und ganz dem MVC-Muster verschrieben, das viele erfahrene Programmierer anspricht.

Auf der anderen Seite macht es jQuery einfach, einfache Dinge zu tun, und meiner Erfahrung nach ist es praktisch unmöglich, etwas Komplexes zu tun.

Warum beschränken Sie sich nur auf diese beiden? Schauen Sie sich zum Beispiel MooTools an. Es ist eine leistungsstarke, flexible und erweiterbare Bibliothek, und Sie müssen nicht raten, wie es funktioniert, wie bei jQuery, oder auf unformatiertes JS zurückgreifen, um etwas anderes als einfache DOM-Manipulationen oder JSON-Ladevorgänge (wie bei jQuery!) Auszuführen. .

Ich stelle fest, dass niemand Dojo erwähnt hat, das auch ziemlich mächtig und sehr komplex ist und von dem, was ich beim Surfen mit der Schulter anderer Teams in meinem Büro gesehen habe, sehr schwer im Browser ist.

EXT verwendet einige Add-On-Tools wie Kompass (in Ruby ausgeführt) und YUI-Kompressor, mit denen Sie äußerst effiziente, abgespeckte Download-Pakete ausgeben können, sobald Sie Ihre Website "fertiggestellt" haben. Ich habe fertig in Anführungszeichen gesetzt, weil ich denke, dass dies ein Nachteil für EXT ist. Schließlich werden Sites fast nie fertiggestellt, und dieser Prozess entspricht in etwa dem Kompilieren einer Java-Anwendung. Wenn Sie etwas ändern, müssen Sie den gesamten Ausgabeprozess erneut durchlaufen.

Mit EXT erhalten Sie eine Menge sofort, aber das bedeutet auch, dass Sie viel lernen und ein gewisses Maß an Planung und Voraussicht benötigen, um ein reaktionsschnelles, gut aussehendes Projekt auszuführen. Früher nannten sie das "Disziplin", aber heutzutage ist es nicht viel in Mode (weitere Informationen finden Sie unter "jQuery").

Aber ich habe keine Meinung!


3

Ich werde diese Frage nur beantworten, da sie als erstes Ergebnis für "jquery vs extjs" angezeigt wird. Wie einige der Leute hier habe ich beide professionell eingesetzt. Besonders gut hat mir die erste Antwort gefallen. Wenn ich eine sehr kleine Anwendung mit einem sehr kleinen Team erstellen möchte, würde ich mich definitiv für jQuery entscheiden. Wenn Sie jedoch in einem großen Team arbeiten, ist es möglicherweise nicht trivial, die Arbeit von jQuery zu teilen, um eine User Story zu implementieren. Mit ExtJS nehmen sie das OO-Paradigma wirklich an und machen es leicht wartbar. Sie können auch ihre MVC verwenden, um die Arbeit unter den Entwicklern aufzuteilen. Es kommt jedoch mit einer steilen Lernkurve. Die Leute, die sagten "Schau dir die Probe an und du bist Gold!" versteht offensichtlich nicht, wie man guten Extjs-Code schreibt. Die Leute müssen ExtJS Core wirklich lernen, bevor sie sich mit dem ExtJS-UI-Teil befassen ... obwohl dies wirklich der Fehler des Unternehmens ist, keine gute Entwicklerdokumentation zu haben ... Eine gute Nachricht ist, dass es Bücher wie ExtJS In Action gibt, die zur Rettung kommen. Im Allgemeinen werde ich ExtJS verwenden, da es viel strukturierter ist als jQuery. Der Vorteil von jQuery ist natürlich die Flexibilität ... Zu viel Flexibilität kann jedoch das Projekt zum Erliegen bringen ... Nur weil Sie ein Legostück in Ihre Augen kleben können, heißt das nicht, dass Sie es sollten. Wenn Sie das Geld haben, entscheiden Sie sich für ExtJS. Der Vorteil von jQuery ist die Flexibilität ... Zu viel Flexibilität kann jedoch das Projekt zum Erliegen bringen ... Nur weil Sie ein Legostück in Ihre Augen kleben können, heißt das nicht, dass Sie es sollten. Wenn Sie das Geld haben, entscheiden Sie sich für ExtJS. Der Vorteil von jQuery ist die Flexibilität ... Allerdings kann zu viel Flexibilität das Projekt zum Erliegen bringen ... Nur weil Sie ein Legostück in Ihre Augen kleben können, heißt das nicht, dass Sie es sollten. Wenn Sie das Geld haben, entscheiden Sie sich für ExtJS.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.