Was denkst du über GWT? [geschlossen]

11

Da ich in dieser Zeit Java lerne und gerade mit den Tutorials fertig bin, denke ich, dass ich bereit bin, einen Beitrag zu einem Projekt zu leisten (da ich aus Erfahrung weiß, ist dies der beste Weg, um wirklich zu lernen).

Ich habe GWT gesehen, sieht interessant aus, also dachte ich, ich sollte es versuchen. Ich denke jedoch, da GWT Java-Anwendungen in JavaScript bereitstellt, warum sollte ich GWT lernen, wenn ich stattdessen das eigentliche lernen könnte (dies ist JavaScript). Meine Frage: Lohnt es sich? Wäre es nicht besser, wenn jemand JavaScript lernen würde, wenn er JS-Anwendungen erstellen möchte, anstatt Java und GWT zu verwenden? Mir ist klar, dass es vielleicht einfacher ist, bestimmte Dinge mit GWT zu bauen, aber am Ende lohnt es sich?

Vielen Dank.

Peter Boughton
quelle
3
Die Leute lernen jedoch C, anstatt Systeme direkt im Maschinencode zu programmieren.
Haylem

Antworten:

6

GWT ist im Wesentlichen ein Compiler für nativen Code, ähnlich wie Visual Studio die Quelle für Byte-Codes oder die Maschinensprache kompiliert.

Auf diese Weise kann der Programmierer die Unterschiede in der zugrunde liegenden Architektur entfernen, ähnlich wie Visual Studio-Benutzer, die sich nicht um die Unterschiede in der Wortlänge, der Anzahl der Register und den genauen Konventionen für den Aufruf des Betriebssystems kümmern müssen, wenn sie für 32-Bit oder 64 codieren -bisschen.

Dies ist eine gute Sache, da Sie damit einen Teil der Wartungslast auf andere übertragen können. Da dies Google ist, wissen Sie, dass sie über mehr Entwicklungsressourcen verfügen als Sie. Sie bringen also im Wesentlichen zusätzliche Arbeitskräfte kostenlos ein.


quelle
2
Ein weiterer Vorteil ist das Debuggen im gehosteten Modus. So können Sie die Logik Ihrer Anwendung sowohl auf Client- als auch auf Serverseite und mit allen Tools des Step-Through-Debuggers debuggen.
Jeremy
5

ich mag es nicht

Alles, was Sie damit machen können, können Sie ohne es sauberer machen.

Josh K.
quelle
Zustimmen. Sie schreiben jedoch Seiten mit mehreren Bildern mit einer Datei pro Bild. Richtig ?
1
@Rocket: Ich verstehe nicht, was "mehrere Bilder, eine Datei pro Bild" bedeutet.
Josh K
4
@Rocket: Ich sehe nicht, was Bilder mit GWT zu tun haben. Wenn Sie Sprites aktivieren möchten, können Sie dies tun, andernfalls haben Sie ja mehrere Bilder.
Josh K
1
@Josh Meine Vermutung ist, dass Sie kleine Animationen usw. hinzufügen, anstatt einen großen Komplex zu schreiben. Es gibt einen Grund, warum Skriptsprachen auf kleine Aufgaben beschränkt sind und statisch typisierte Sprachen für größere Aufgaben verwendet werden.
mP01
2
Mit einem Wort Werkzeug. Niemand hat einen wirklich vergleichbaren Editor für Javascript geschrieben, verglichen mit den vielen, die für Java verfügbar sind.
mP01
2

Der Grund, warum GWT Java als Ausgangssprache verwendet hat, ist, dass es unmenschlich schwierig ist, mit JS (Ecmascript) zu arbeiten. GWT ist nur eine gute Möglichkeit, die Programmierung auf Web / Browser zu übertragen, wo dies vorher nicht möglich war.

Vor GWT gab es vergebliche Versuche, etwas in Browsern zu programmieren (Ajax, Dojo, einfaches Javascript). Aber die Naturgewalten sind dort zu gewalttätig, so dass alles auseinander fällt (Browser ändern sich, sie sind nie gleich, die Leute sprechen verschiedene Sprachen, die Leute denken, dass 15 Bilder eigentlich 15 Dateien sein sollten usw.).

Die Antwort lautet also: Wenn ich für den Internet-Ozeankessel codieren würde (was nicht meine Aufgabe ist), würde ich GWT wählen.

PS Ein anderer Gedanke. Das JS wird von Netscape erstellt. Die Firma ist schon lange tot, aber die Sprache bleibt dort unvollendet und verrottet


quelle
6
-1 ECMAScript wird ständig weiterentwickelt; ECMAScript 5 wurde erst letztes Jahr veröffentlicht, und ActionScript, die Sprache von Flash, ist ECMAScript.
16
-1. JavaScript ist nicht "unmenschlich schwer" zu programmieren. Wenn Sie JavaScript als schwierig empfinden, sind Sie höchstwahrscheinlich nicht sehr schlau. Vor GWT gab es Leute, die wussten, was sie taten. Nach GWT gibt es Leute, die kein JavaScript codieren können (und GWT verwenden), und solche, die es können (und GWT nicht verwenden). Darüber hinaus ist JavaScript am Browser vorbei explodiert. Schauen Sie sich Node.js und MongoDB an. Verwenden Sie SpiderMonkey oder V8, um plattformunabhängige Skripte zu schreiben.
Josh K
3
@ Josh K. Ich halte Visual Basic 6 auch für noch schwieriger zu programmieren als JS. Java ist ungefähr 50 Mal einfacher als Basic. Und CSharp ist einfacher als Java. Mit Schwierigkeit meine ich praktische komplexe Anwendungen, die wartbar sind, in Teams erstellt und an Kunden verkauft werden. Unterschiede im syntaktischen Zucker interessieren mich nicht. Und ich denke, wenn Sie sehr klug sein müssen, um Sprache zu verwenden, stimmt etwas mit der Sprache nicht.
3
JavaScript ist sehr einfach, große wartbare Anwendungen zu entwerfen, die von Teams erstellt wurden. Ich habe es getan. Es ist nicht schwer, modularen Code zu schreiben, außer die Leute entscheiden sich dagegen.
Josh K
Verwechseln Sie DOM nicht mit JavaScript. Es ist nicht JS, das das Problem ist.
Andrew T Finnell
2

Ein paar Gründe, die gut sind, um GWT einzuholen:

  • Jede Technologie hat einen Lebenszyklus. GWT ist auf dem Vormarsch. Durch das Erlernen von GWT erhalten Sie den technologischen Vorteil über einen längeren Zeitraum in der Zukunft.
  • GWT mit Java bringt Struktur in die Webanwendung. JavaScript eignet sich besser für Skripte. GWT wird von Java unterstützt und eignet sich besser für große Anwendungen. Wenn Sie die Frameworks / Toolkits über JavaScript bemerkt haben, können Sie wie ich zu dem Schluss kommen, dass JavaScript allein für ernsthafte Projekte nicht ausreicht. All diese Frameworks bringen Strukturen in die Anwendungsentwicklung. GWT ist eines dieser Frameworks und wird sich durchsetzen.
  • Mobile Anwendungen sind eine Revolution in der Software-Welt. Die Revolution befindet sich gerade in einem frühen Stadium. Immer mehr Software wird auf mobile Plattformen umgestellt. GWT ist jetzt das umfassendste plattformübergreifende Anwendungsentwicklungstool, das Sie finden können.

Angesichts dessen ist GWT tatsächlich nicht eng mit den Webdienst-Frameworks von Google oder Sun (Servlet) verbunden. Die integrierten Tools konzentrieren sich aufgrund des geschäftlichen Charakters von Google oder Sun mehr auf die Integration mit ihren Servern. Um die technologische Leistungsfähigkeit von GWT zu nutzen, sollte man einige der Hyperintegrationen der Serverintegration mehr oder weniger ignorieren. Verwenden Sie GWT einfach als Client-Anwendungstool, es sollte für Ihre zukünftige Karriere vorteilhafter sein.

Minghua
quelle
1

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.

Lorand Kedves
quelle