28 Stimmen

Hat jemand GWT benutzt und kann sagen, dass es wirklich hält, was es verspricht?

Ich bin ein langjähriger Java-Webentwickler und habe, wie die meisten Webentwickler, eine Menge JavaScript verwendet. Auch wenn ich JavaScript nicht so sehr hasse wie viele andere Java-Entwickler, bin ich mir seiner Fehler bewusst.

GWT ist eine Möglichkeit, Javascript mit Java zu schreiben. Da ich beide Sprachen seit langem kenne, bin ich ziemlich skeptisch gegenüber dieser Behauptung. Ich meine, es fällt mir schwer zu glauben, dass man wirklich vollständige dynamische Java-Webanwendungen mit einer reichhaltigen GUI nur mit GWT erstellen kann. Deshalb frage ich hier, ob jemand die Möglichkeit hatte, mit GWT an einem groß angelegten Projekt zu arbeiten. Wenn ja, würde ich wirklich gerne hören, was sie davon halten.

4 Stimmen

Warum die Schließung? Das scheint mir eine interessante Frage zu sein

2 Stimmen

Manche Leute haben die schlechte Angewohnheit, auf "Schließen" zu klicken, wenn ihnen die Frage nicht gefällt. Ich denke nicht, dass dies subjetiv oder argumentativ ist

2 Stimmen

Haben Sie am Ende GWT verwendet? Hat es etwas gebracht?

5voto

Kelly Norton Punkte 2941

Wenn Sie sowohl mit JavaScript als auch mit Java vertraut sind, sind Sie wirklich perfekt geeignet, um das Beste aus GWT herauszuholen. Was viele Leute nicht wissen, ist, dass GWT ziemlich gut geschichtet ist und dass Sie wirklich entscheiden können, auf welcher dieser Ebenen Sie arbeiten wollen.

Zum Beispiel schreibe ich manchmal direkt gegen die DOM-Bibliothek für Projekte. Das ist sehr ähnlich wie das Schreiben von JavaScript-Code, außer dass man eine IDE richtig nutzen kann und die Leistung eines Compilers erhält. Vom Compiler erhalte ich statische Typüberprüfung, viele gute Compiler-Optimierungen und (eigentlich mein Favorit für die Wartung von Code) Debug-Modus-Assertions. Niemand macht wirklich viel aus der Fähigkeit, Assertions zu machen, aber es ist so schön, einen Debug-Modus zu kompilieren, der teure Prüfungen durchführt, um Fehler herauszufinden, und dann den Debug-Modus auszuschalten und den Code einfach verdampfen zu lassen. (Nicht nur die Assert-Anweisungen verschwinden, sondern auch der gesamte Code, der über die Asserts erreichbar ist, wird herauskompiliert).

Ein anderes Mal schreibe ich Code gegen die GWT UI-Bibliothek. Dieser Code sieht ein bisschen wie Swing- oder SWT-Code aus, so dass er für reine Java-Entwickler am bequemsten ist. Wenn man auf dieser Ebene arbeitet, muss man sich nicht so viele Gedanken über das DOM machen, und es ist normalerweise möglich, eine Anwendung zu erstellen, ohne JavaScript zu schreiben. Gelegentlich stößt man auf einen Fehler, wenn etwas auf einem bestimmten Browser nicht konsistent funktioniert. Die GWT-Leute betrachten diese Bugs.

Sie können sich aussuchen, auf welcher Abstraktionsebene Sie arbeiten wollen. Es gibt Kompromisse auf jeder Ebene, aber GWT sollte sie unterstützen.

Und um ganz ehrlich zu sein: Ich bin der Kerl in dem Video, das Chi oben verlinkt hat, also könnte man sagen, dass ich ziemlich an GWT hänge.

4voto

Steve Reed Punkte 2411

Wie bei jedem anderen Werkzeug auch, muss es richtig eingesetzt werden. Man kann einen Hammer geschickt führen und etwas Schönes bauen, oder man kann mit ihm herumfuchteln und mehr Schaden als Nutzen anrichten.

Google Wave ist meiner Meinung nach zum Prototyp dessen geworden, "was mit GWT möglich ist".

Es ist immer noch ziemlich schwer, gute GWT-Entwurfsmuster zu finden, weil die Technologie noch zu neu ist, was den Bemühungen, eine sehr umfangreiche Webanwendung in GWT zu entwickeln, schaden kann. Bevor Sie ein solches Projekt beginnen, würde ich empfehlen, sich Beispiele für das Model-View-Presenter (MVP)-Muster anzuschauen und sicherzustellen, dass Sie dieses oder ein ähnliches Muster als Grundlage für den Kontrollfluss Ihrer Webanwendung verwenden. Ein Vorteil von GWT und dem Schreiben Ihres Codes in Java ist, dass der hohe Grad an Abstraktion und Entkopplung, der für eine saubere MVP-Implementierung notwendig ist, ziemlich einfach ist (dank des Compilers).

4voto

Jon Lai Lam Punkte 149

Ich denke, GWT tut, was auf der Verpackung steht...

Top 5 Gründe für die Wahl von GWT:

  1. Tapestry kann übermäßig kompliziert sein und die Lernkurve ist ziemlich steil für neue Entwickler, die sich dem Team anschließen wollen. Besonders bei größeren Projekten.

  2. Ich habe festgestellt, dass ich mit GWT "reichhaltigere" Anwendungen entwickeln kann, da meine Stärke Java und nicht Javascript ist. Um eine ähnliche Funktionalität mit Tapestry zu implementieren, müsste ich Javascript von Hand schreiben, was später zu einem Wartungsalptraum werden würde.

  3. Browserkompatibilität, ich würde viel Zeit damit verbringen, mein handgeschriebenes Javaskript auf all den verschiedenen Browsern zum Laufen zu bringen (wie gesagt, Javascript ist nicht meine Stärke :-) Der GWT Compiler bewahrt mich davor, was dazu führt, dass ich mehr Zeit mit dem Schreiben von Features verbringe.

  4. Back button blues, GWT's History Listener behandelt den Browser back button im Vergleich zu Tapestry.

  5. GWT hat einen kleineren Fußabdruck, weil nur die Daten über das Kabel gesendet werden, im Gegensatz zum Aktualisieren der gesamten Seite.

Die Liste ließe sich fortsetzen, aber alles in allem bin ich sehr froh, den Wechsel vollzogen zu haben und habe seitdem nicht mehr zurückgeblickt.

3voto

Scott Ellsworth Punkte 91

Ich habe in meinen drei Jahren bei Google zwei recht umfangreiche GWT-Anwendungen erstellt. Es hält, was es verspricht - meine Anwendungen waren viel interaktiver und viel mehr ajax-y als mein Wissen über Javascript und mein Javascript-Tooling mich mit anderen Tools produzieren lassen würde.

Außerdem fand ich die Anwendungen interaktiver und unterhaltsamer als die rein serverseitigen Alternativen, die ich vor der Umstellung auf die Software verwendet hatte.

Es ist nicht frei von Warzen, aber es ist eine sehr produktive Umgebung für die Art von Anwendungen, die ich mache.

Und schauen Sie sich die Präsentation von Kelly an. Sie und einige der anderen von der I/O geben eine wirklich klare Vorstellung davon, was GWT tun kann. Sie werden ziemlich schnell eine gute Vorstellung davon bekommen, ob es das richtige Werkzeug für die Aufgabe ist, die Ihnen vorschwebt.

2voto

Mike Trpcic Punkte 24627

Ich habe es mir kurz für eine ältere Anwendung bei einer meiner Arbeitsstellen angesehen, und ich muss zugeben, dass es sehr beeindruckend war. Der gesamte Code war in Java geschrieben, und das Javascript war sehr schön aufgebaut.

Es hatte AJAX, dynamische Seiten, die ganze Palette. Es gibt auch Plugins dafür, wie zum Beispiel das Ext. GWT Rahmen.

Es lohnt sich auf jeden Fall, sich damit zu beschäftigen und es auszuprobieren, aber Sie werden vielleicht feststellen, dass sich der Entwicklungszyklus nicht richtig "anfühlt", so dass Sie sich für die Verwendung von normalem JavaScript entscheiden.

3 Stimmen

Guter Punkt über die Entwicklungsumgebung "fühlen". GWT ist definitiv nur für diejenigen, die genießen/tolerieren die Zwänge einer Sprache wie Java.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X