Es hängt davon ab, was Sie tun möchten (wie bei den meisten Tools sowieso).
Wenn Sie sich mit den Details der Webentwicklung befassen möchten, viele (manchmal unterschiedliche) Tricks der Browserumgebung verwenden und die neuesten Funktionen verwenden möchten, haben Sie den Mut, mit kleinen Tricks zu kämpfen, die Ihre Web-App „cool aussehen lassen“, GWT wird immer im Weg sein: Wenn Sie die Zeit und Erfahrung haben, können Sie alles und mehr mit Ihren Händen tun. Und ja, es gibt viele andere Toolkits, die Ihnen bei der Programmierung in JavaScript helfen.
Wenn Sie jedoch eine "nicht so ausgefallene", aber stabile Benutzeroberfläche für Ihre Anwendung erstellen möchten, die "sollte" und in den meisten Fällen wirklich dasselbe tut und in verschiedenen Browsern ohne Tricks gleich aussieht, ist GWT eine gute Wahl Wahl, das Beste, was ich weiß. Erläuterung: Google ist definitiv motiviert, es mit den meisten Browsern und den neuesten Technologien synchron zu halten, und verfügt definitiv über genügend Ressourcen, um dies zu tun. Ja, du bleibst bei einem anderen Riesen, anstatt deine eigenen Sachen zu machen. Frage: Was ist dein Job? Mit geringstem Aufwand den gleichen Service für die meisten Benutzer über eine Weboberfläche bereitzustellen - oder ein glänzendes, außergewöhnliches Webportal zu erstellen, das die coolsten Funktionen auf den neuesten Plattformen bietet.
+1 Grund: Ich denke, es ist vorteilhaft, Ihre Anwendung in einer Codebasis und einer Sprache zu halten. Sie könnten in Datenbankskripten ordentliche Tricks ausführen - aber Sie sperren sich an diesen Datenbankserver. Sie können externe Dinge mit Shell-Skripten oder Batch-Dateien erledigen - aber Sie sperren sich an das Betriebssystem. Sie können einen Teil der Controller-Logik in JavaScript implementieren, um eine Rich-Client-Oberfläche in einem Browser bereitzustellen. Sie können sich jedoch auch in einem Browser einschließen. In allen Fällen ist es nicht einfach, sie mit der Datenstruktur und den Anforderungen der Kernanwendung synchron zu halten (und am schwierigsten ist möglicherweise die sich ständig ändernde Browser- und JS-Tool-Umgebung). Ich bin davon überzeugt, dass, wenn sich die Kernanwendung in Java befindet, alles in Java sein sollte - mit einem sehr kleinen Bruchteil der Fälle, in denen Sie wirklich einen Teil der Logik in eine andere Umgebung stellen müssen.
Ich habe GWT aufgrund meiner Antworten auf die oben genannten Fragen ausgewählt - und es macht das, was ich wollte: In ungefähr 2 Wochen nach der Installation hatte ich eine akzeptable Weboberfläche für ein internes Serverüberwachungssystem - obwohl ich Erfahrung mit Swing hatte. (Nein, ich habe nicht das Standard-Look & Feel verwendet und ja, ich habe CSS und Klassen für die Darstellung logischer Informationen verwendet :-))
Überprüfen Sie Ihre aktuellen und geplanten Aufgaben - und wählen Sie das richtige Werkzeug dafür aus.