Welches Webanwendungsframework? [geschlossen]

7

Aus der folgenden Liste von Frameworks, welche würden Sie verwenden, um eine Rich-Web-Anwendung zu entwickeln, und warum würden Sie sie gegenüber den anderen auswählen?

Sproutkern GWT ExtJS GXT SmartGWT Dojo / Dijit Biegen Capuccino Grails

    
Fergal 18.03.2010, 04:15
quelle

9 Antworten

5

Diese basieren auf meinen persönlichen Erfahrungen mit den von Ihnen erwähnten Frameworks. Also ja, es ist ein bisschen voreingenommen. Wie andere immer wieder gesagt haben, definieren Sie Ihre Anforderungen und welche Ihrer Meinung nach Ihren Anforderungen entspricht, basierend auf dem, was die Leute hier vorgeschlagen haben.

  • GWT ist zu ausführlich, obwohl ich viele Java-Entwickler mit GWT liebe, weil Sie Unit-Tests testen können und alles in Java ist. Aber ich persönlich mag es nicht, weil es weit davon entfernt ist, einfach zu sein. Es gibt Zeiten, in denen ich das Gefühl habe, dass ich ein wenig mit Javascript optimieren kann, aber mit GWT werde ich gezwungen, es mit mehreren Zeilen Java-Code zu machen.
  • GXT ist in diesen Tagen zu weit von GWT entfernt und Sie werden es schwierig finden, Dinge zu tun, da GXT seine eigene Art hat, Dinge zu tun, die viel zu verschieden von GWT ist. Wenn komplexe Anforderungen aufkommen, werden Sie am Ende wieder einfache GWTs machen. Und oh, ihre technische Unterstützung ist auch nicht so gut, da ich einige schlechte Erfahrungen gemacht habe, als ich ihnen einige Fragen gestellt habe.
  • Ext-JS ist gut für einfache Sachen und das Aussehen und Gefühl ist wirklich glatt. Aber wenn die Dinge komplexer werden, wirst du gegen dich kämpfen. Obwohl ich mich mit dem technischen Support von GXT beschäftigt habe, habe ich mich nicht mit dem technischen Support von ExtJS beschäftigt, da sie verschiedene Leute haben, auch wenn es in einer Firma ist, daher kann ich nicht viel sagen.
  • Flex ist nett, wirklich nett. Aber wieder ist es gut für einfache Sachen. Sobald die Dinge komplizierter werden, werden Sie eine Menge ActionScript schreiben, was weniger Spaß macht. Es gibt viele Dinge, die out of the Box verfügbar ist, die zu schwierig sein können, wenn Sie es in Javascript, wie Multimedia-Unterstützung, codieren müssen. Und oh, wenn Sie für eine öffentliche Website schreiben, müssen Sie bedenken, dass nicht zu viele Benutzer Flash-Plugin in ihrem Browser hat.
  • Grails Ich bin mir nicht sicher, wie Sie RIA-Apps mit Grails implementieren würden, da Grails nur ein weiteres MVC-Framework ist, dem Sie Ihr eigenes RIA-Framework hinzufügen müssen, wie die oben erwähnten .
Joshua Partogi 18.03.2010, 05:05
quelle
6

Ich bin persönlich müde von Browser-Inkonsistenzen. Wenn jemand anderes das Problem gelöst hat, würde ich es lieber nicht wiederholen. Aus diesem Grund interessiere ich mich mehr für Frontends wie Cappuccino und Qooxdoo. Sie sind eine Null-HTML Zero-CSS Lösung.

    
z5h 18.03.2010 05:02
quelle
5

Dies ist ausschließlich eine Frage der Meinung. Du wirst keine definitive Antwort von jemandem bekommen, da jeder, der antwortet, den einen oder den anderen haben wird, den er persönlich bevorzugt.

Probieren Sie jede einzelne lange genug aus, um zu entscheiden, welche für Ihre Zwecke (oder Ihres Teams) am besten geeignet ist.

Davon abgesehen, bevorzuge ich GWT. Andere werden mir immer widersprechen.

Gründe, warum ich GWT mag:

  • Sie können (irgendeinen) client- und serverseitigen Code teilen (solange Ihr Server in Java geschrieben ist)
  • GWT macht viele erweiterte Leistungsmerkmale sehr einfach (z. B. verzögerter JS-Ladevorgang, Bildspriting, CSS-Verschleierung)
  • Ein Schwerpunkt auf One-Page-Apps mit Drittanbieter-Unterstützung für Places (mit dem gwt-presenter Bibliothek)
  • Es ist genauso einfach, GWT zu einer bestehenden Webseite hinzuzufügen, als eine komplette einseitige GWT-App zu erstellen
  • Mit UiBinder können Sie Ihre Benutzeroberfläche mit einer deklarativen HTML-ähnlichen Syntax schreiben. Sie sind nicht fest, Swing-like UI schreiben, wenn Sie nicht möchten
  • Browser-Inkompatibilitäten werden (meistens) von GWT erledigt - Sie schreiben einfach Java-Code und GWT kompiliert es, damit es in jedem Browser funktioniert

Dinge, die GWT für Sie nicht richtig machen:

  • Wenn Ihr Server bereits in etwas anderem als Java geschrieben ist, können Sie Ihre Benutzeroberfläche trotzdem in GWT schreiben, aber Sie werden einige nette Funktionen verlieren
  • Die Kompilierungszeit mit GWT ist ein nicht-trivialer Aufwand - der Entwicklungsmodus mildert dies sehr, aber es ist manchmal immer noch ein Problem
  • Wie andere bereits erwähnt haben, kann GWT im Vergleich zu einfachen JavaScript-Bibliotheken wie jQuery oder ExtJS
  • als "ausführlich" angesehen werden
Jason Hall 18.03.2010 04:19
quelle
3

Ext GWT hat für mein Projekt gut funktioniert. Die Premium-Unterstützung war gut.

Das Projekt ist jedoch für den internen Gebrauch vorgesehen, wodurch die Bereitstellung auf einen Browser in einem Betriebssystem beschränkt werden konnte. Es wurden keine Anstrengungen unternommen, das Standard-Erscheinungsbild oder Verhalten von Ext GWT zu ändern.

Die vollständige Entwicklung innerhalb von Java ist ein wichtiger Vorteil, da es hilft, das Projekt bei Hinzufügen von Features handhabbar zu halten.

    
Janek Bogucki 18.03.2010 15:17
quelle
2

Ich arbeite gerade an einer Gral / Flex-Hybrid-App, die viel besser funktioniert, als ich erwartet habe. Ich habe mir GWT angeschaut, aber es gab zu der Zeit nicht viele Bücher darüber und es schien die Hebelwirkung von Swing-ähnlichen Programmiertechniken zu betonen, die ich nie gemocht habe. Ich stimme dem Kommentar zu, sie alle auszuprobieren. Führen Sie Hallo App, die sie alle haben und messen Sie, wie schwer oder einfach es zu ändern ist. Auch die Unterstützung von Tools (IDEs, Maven, CI usw.) kann ein wichtiger Faktor sein, um sofort produktiv zu sein.

    
Vinny 18.03.2010 04:50
quelle
2

Wir verwenden Grails + ExtJS hier. Da wir versuchen, eine idiomatische ExtJS-Anwendung zu erstellen, wird Grails nicht vollständig verwendet, obwohl es immer noch sinnvoll ist, Grails anstelle von, sagen wir, JSP für den serverseitigen Teil zu verwenden.

Warum ExtJS: Weil es ein sehr reichhaltiges Toolkit für GUI-ähnliche Web-Anwendungen ist. Unsere Aufgabe ist es, eine alte Motif GUI zu ersetzen, also brauchen wir genau das.

Warum Grails: Weil es die Arbeit einfach und schnell erledigt. Für die Kommunikation mit dem ExtJS-Teil benötigen wir viel JSON, und in Grails ist es so:

%Vor%

Und das sind sogar zwei oder drei Zeilen mehr als nötig ...

    
Erich Kitzmueller 18.03.2010 13:06
quelle
2

Leider wird die Antwort rechthaberisch sein, GWT in seiner reinsten Form ist kein Augenschmaus. Davon abgesehen ist ExtJs GXT super hunky dory. Eines der Hauptprobleme, mit denen ich bei sich entwickelnden Frameworks konfrontiert bin, ist, dass sie nicht absolut fehlerfrei sind. Wenn ich mich richtig erinnere, wurde GWT 2.0 mit fehlenden CSS-Styles für einige der neuen Layouts ausgeliefert. Ich versuche, ein Problem in ExtJs / GXT seit den letzten 5 Tagen zu schieβen :(, Frameworks verdecken viele Dinge. Ich werde mit jedem Framework gehen, das absolut robust ist und entsprechende Fehlermeldungen gibt. Ich habe jedoch nicht mit anderen gearbeitet .

    
questzen 18.03.2010 04:54
quelle
2

Ich würde Dojo empfehlen.

Neben der umfangreichen Infrastruktur ist Dojo 1.6 auch die erste (und einzige) populäre JavaScript-Bibliothek, die erfolgreich mit dem Erweiterten Modus des Closure Compilers verwendet werden kann - mit all den Vorteilen in Bezug auf Größe, Leistung und Verschleierung - - Anders als die Google-eigene Closure-Bibliothek.

Ссылка

Mit anderen Worten, ein Programm, das Dojo verwendet, kann zu 100% verschleiert werden - sogar die Bibliothek selbst.

Kompilierter Code hat genau dasselbe Verhalten wie reiner Textcode, nur dass er viel kleiner ist (durchschnittlich 25% über den Minifiern), viel schneller läuft (besonders auf mobilen Geräten) und fast unmöglich, selbst nach dem Reverse-Engineering Durch einen Beautifier gehen, weil die gesamte Codebasis (einschließlich der Bibliothek) verschleiert ist.

Code, der nur "minimiert" ist (z. B. YUI-Komprimierung, Uglify), kann nach dem Durchlaufen einer Verschönerungsvorrichtung leicht rückentwickelt werden.

    
Stephen Chung 10.03.2011 10:32
quelle
1

ExtJs eignet sich hervorragend zum Erstellen komplexer Webanwendungen. Die API bietet alles, was Sie sich in einer Webanwendung vorstellen können, und es ist wirklich einfach, jede Komponente nach einiger Zeit zu erweitern.

Sie können es an jedes Backend anschließen (wir benutzen django oder php) und jede Komponente in verschiedenen Anwendungen wiederverwenden oder erweitern.

Sie brauchen mehrere Monate, um sich damit wohl zu fühlen. IMHO.

Das heißt, die lib ist manchmal ein bisschen zu langsam für einfache wie eine Website (dann können Sie ExtCore verwenden). Aber wenn es um Webapps geht, ist das kein Problem.

Ich bin kein Java-Typ, also war GWT für mich keine Option: /

hoffe das hilft

    
jujule 01.11.2010 15:14
quelle

Tags und Links