Macht es Sinn, Google Web Toolkit (GWT) als einen ausgewachsener Java Web-Framework zu verwenden?

StackOverflow https://stackoverflow.com/questions/744515

Frage

Ich interessiere mich für die Möglichkeit, dass GWT als Grundlage für meine gesamte Präsentationsschicht dienen könnte.

Es würde mich interessieren, ob jemand dies erfolgreich versucht hat - oder nicht erfolgreich - und konnte mich überzeugen oder unpersuade dies von dem Versuch.

War es hilfreich?

Lösung

Ich arbeitete mit GWT vor etwa einem Jahr. Zu der Zeit schien es wie eine gute Idee, mit einer Reihe von Einschränkungen:

  • Ich hatte „Gotcha“ Probleme mit einigen Teilen der API, die wahrscheinlich auf die Tatsache zurückzuführen waren, dass Sie Codierung, als ob Sie in Java sind, wenn in der Tat Sie tatsächlich für eine separat kompilierte Umgebung zu schreiben, die wirkt wie Java, so dass Sie einige falsche Annahmen getroffen werden (in diesem Fall, vorbei an verschachtelten Werte an das Front-End). Ich denke, es war eine andere meine Ant-Scripts wurde Umschreiben eines 32-Bit-JVM verwendet werden für die gwt kompilieren.
  • ich ein wenig Zeit damit verbracht, die appearence zu optimieren - wir entfalteten nie ein fertiges Projekt, so bin ich nicht sicher, wie viel Arbeit dies auf ein professionelles Niveau zu erhalten genommen hätte, aber es schien (logisch), wie es Würd zu zwicken eine Schaukel Schnittstelle vergleichbar sein. vielleicht ein bisschen mehr unhandlich, visuell, als html.
  • Da die Ajax so von Ihnen im Endprodukt verborgen ist, hatte ich einige Bedenken darüber, was ich tun könnte, wenn die Leistung schlecht ist.

Dass gesagt wird, scheint es auf jeden Fall wert mit spielen, und meinen Erfahrungen waren eine lange, lange Zeit vor Internet-Jahren, vor allem in Anbetracht, dass es wahrscheinlich viel mehr jetzt reif. Es ist auch erwähnenswert, dass es eine ganz andere ist (und erfrischend) Art und Weise GUI-Code von den meisten MVC-Frameworks für die Entwicklung, und einen Blick wert, wenn aus keinem anderen Grunde als das.

Mein Gefühl ist, dass wenn Sie einen Hochlast professionelle Website mit sehr anspruchsvollen grafischen Anforderungen GWT ist wahrscheinlich keine gute Wahl Gebäude sind, sonst ok.

Andere Tipps

Sie haben erwähnt, dass GWT die Präsentations-Schicht behandeln würde. Würden Sie auch die Business-Schicht in Java tun? Wenn das der Fall ist, würde Ich mag Sie deuten darauf hin, IT Mühle Toolkit , das genau tut dies: Es ist ein Toolkit, das seine GUI-Komponenten verwendet GWT zu machen, so dass Sie Ihre Anwendungen vollständig in Java zu tun. Ich denke, der Begriff es zu Münze versucht, ist „Server getrieben RIA“.

Ich komme aus einem PHP-Hintergrund, aber sofort kam das Toolkit zu mögen. Aber es ist wahrscheinlich besser, dass ich nichts mehr sagen und lassen Sie Ihre eigenen Entscheidungen zu tun.

Disclamer. Ich an IT-Mühle arbeiten, obwohl das meine Meinungen irrelevant

GWT ist relativ neu. Die Zusammenstellung Prozess neigt dazu, ein bisschen langsam zu bekommen, wie Ihre Code-Basis wächst. Als wir mit ihm gearbeitet fanden wir viele Probleme mit dem Layout und Darstellung von anspruchsvolleren Widgets und der Emulator handelte völlig verschieden von realen Servern. Auch wir hatten Probleme mit i18n für Rechts-nach-links-Sprachen ...

Alles in allem hat GWT (die übliche?) Probleme junger Technologien. Allerdings macht es bestimmte Dinge wirklich einfach, wie Ajaxifying, wie Sie es genannt.

Wir haben für ein sehr großes Projekt dies getan, und so lange, wie Sie es seine Grenzen, Stärken und Schwächen kennen es funktioniert super. Witziger war genug Präsentation die geringste unserer Probleme, wie wir gerade gehäutet es genau wie würden Sie eine andere HTML-Seite, mit CSS. Das Projekt ging leben, und lief einwandfrei, damit ich keine Beschwerden haben.

Die Tücken ich es gefunden finden Sie hier:

Biggest GWT Pitfalls?

Wir haben eine große HR Portal-Anwendung mit der gesamten Präsentationsschicht erfolgt in GWT entwickelt. Das Backend ist Frühling. Es funktioniert alles sehr gut und die Benutzeroberfläche von den Benutzern sehr gut angenommen wurde. Sehr wichtig ist es für uns, neue Funktionen hinzuzufügen und die Anwendung aufrechtzuerhalten. Ich denke, es wäre viel schwieriger, etwas zu tun, vergleichbar und wartbar Javascript-Bibliotheken verwendet wird.

Sie müssen tun, irgendeine Art von Client-Seite Rahmen oder Sie werden ein Schreiben am Ende (wie wir!): Unsere App ist auf GWT Portlets (freie und Open Source).

Wir verwenden HTML-Fragmente für die App für verschiedene Einsätze Häute und das Layout jeder „Seite“ wird in einer XML-Datei gespeichert.

einige gute Informationen über darüber auf diesem Raible Video: http://raibledesigns.com/rd/ Eintritt / my_drunk_on_software_interview

GWT in ist es Selbst eine UI-Enhancement-Bibliothek ist, kein Rahmen. Wenn Sie es mit Google App Engine verwenden Sie dann ein Grundgerüst. (Das ist eine andere Geschichte, und während ich es sah, entschied ich, dass in unsere Architektur nicht enthalten).

Es ist eine große Bibliothek ist, haben wir einige spektakuläre Dinge mit ihm getan. Da es sich um eine Bibliothek jedoch, es ist nur so gut wie Ihre Architektur ermöglicht es sein.

Soweit ANT geht keine Probleme mit einem 64-Bit-Compiler.

<- dir.GWTCompile ist das Verzeichnis GWT enthält ->      Classpath                            

Was den generierten Code, es ist alles da in Ihrem Krieg ist, wenn man durch sie suchen. (Es ist auch Open Source, so können Sie es es betrachtet.)

Was GWT hat während der Kompilierung: Es erstellt mehrere Kopien von JS Bibliotheken für verschiedene Browser-Sets (Ein Grund, warum es Minuten dauern kann zu kompilieren), können Sie hinzufügen / entfernen Sie diese nach Bedarf. Dadurch verringert sich die JS-Paket, das heruntergeladen werden muss, und erhöht die Geschwindigkeit, da es nicht jene bösen wenn (EI) dieses else if (FF), das haben braucht. Allerdings, wenn Ihre lokale zum Debuggen (zumindest in Eclipse) Sie nicht warten müssen, so dass dieser Server für den Build verlassen (oder wenn Sie müssen manuell erstellen und bereitstellen (Neandertaler)).

Der Nachteil von GWT. Da es sich um eine Javascript-Client-Seite (fast rein) ist, können Sie nutzen es nicht für Dinge, die sie nicht unterstützen, oder eine der Versionen unterstützen. Also für Dinge wie iPads und iPhones Sie in einige Probleme laufen können, wenn Sie entwickelten keine zusätzliche Bibliotheken verwenden, um diese Lücken zu schließen (wie mgwt).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top