JavaScript fuer Eclipse-Entwickler
GPE [1], nutzt neben GWT auch das Performance Tool Speed Tracer und unterstützt das Deployment via Google App Engine. Der GWT-Ansatz muss aus zwei Blickwinkeln betrachtet werden. Einerseits gibt es Komponenten, die serverseitig ausgeführt werden, andererseits wird die eigentliche Clientanwendung im Browser ausgeführt. Zunächst die Serverseite: Je nach Anwendung soll der Client mit dem Server über HTTP-Aufrufe oder per GWT RPC kommunizieren. Im Java-Umfeld tun wir das anhand einer Auswahl aus den unzähligen Frameworks, die allesamt früher oder später auf die Servlet-Spezifikation aufsetzen. GWT RPC ist auch nicht anders und basiert ebenfalls auf Servlets. Demnach benötigen wir für den serverseitigen Anteil einer GWT-Anwendung einen Webcontainer.
Der clientseitige Teil einer GWT-Anwendung, also die Webanwendung an und für sich, entspricht eigentlich einer JavaScript-Anwendung, die im Browser über DOM-Manipulation die HTML-Anwendung entstehen lässt. Während der Entwicklung will man die aufwendige Java-zu-JavaScript-Transformation vermeiden. Daher bietet das GWT-Team für verschiedene Browser bestimmte Browser-Plug-ins für die Entwicklung an. Sie ermöglichen ein ferngesteuertes Manipulieren des DOMs im Browser. Dadurch entfällt die Notwendigkeit der Transformation, die Manipulation kann ferngesteuert aus der IDE heraus durchgeführt werden. Diese Vorgehensweise wird dann Developer-Modus genannt. Entweder per Build-Tool (Swing-Anwendung) oder über ein Eclipse-Plug-in wird die Anwendung im Developer-Modus gestartet. Sie setzt die benötigte GWT-interne Laufzeitumgebung für die Fernsteuerung der DOM-Manipulation und einen Webcontainer (ein Jetty) in Gang. Bei diesem Ansatz startet folgerichtig sowohl der Client als auch der Server in ein- und derselben JVM, das ermöglicht das nahtlose Debuggen von Frontend bis Backend der Anwendung in Java, die dennoch praktisch im Browser ausgeführt wird. Neben dem Developer-Modus bietet das Eclipse-Plug-in noch das IDE-basierte Kompilieren der GWT-Anwendung, verschiedene GWT-spezifische Wizards, Editoren und Projektvalidatoren. Seit dem Ankauf des Unternehmens Instantiations durch Google wurden auch Teile des Produkts GWT Designer in das Google-Eclipse-Plug-in integriert.
Wohin geht die Reise?
Da GWT keine offizielle Roadmap hat, musste man bisher auf Quellen wie Logs der Repository Commits, Diskussionen in der Google User Group oder Issues und deren Kommentare zurückgreifen, um geplante Neuerungen vorherzusehen. Seit Kurzem nutzt das GWT-Team Git, sodass die Arbeiten an neuen Features nicht öffentlich werden. Früher konnte man in den einzelnen Feature-Branches der Entwickler im SVN nachvollziehen, woran am eifrigsten gearbeitet wurde. Auch haben einige wichtige Entwickler das Team verlassen. Google hat in den vergangenen Monaten einige Dienste, teilweise nicht überraschend, beendet und eine Phase der „Fokussierung“ eingeleitet. In diesem Kontext und seit der Vorstellung von Dart wurden Sorgen um das Projekt in der Webcommunity laut. So laut, das einige GWT sogar lauthals für tot erklärt haben. Ist GWT wirklich tot? Nein!
Was sagt das GWT-Team selbst dazu?
Eine erste Stellungnahme hat das GWT-Team im offiziellen Blog [2] abgegeben, die Kernaussage: Dart und GWT verfolgen ähnliche Ziele, man sei über das Potenzial von Dart sehr optimistisch. Sollte Dart „ready for primetime“ werden, werde man eine enge Zusammenarbeit mit der GWT-Community anstreben, um Dart näher zu erforschen. In verschiedenen Blogs (bzw. in den Kommentaren) und auf Google+ wird man noch weitere Aussagen finden, die im OIO-Blog [3] zusammengeführt wurden. Eric Clayberg, seit der Übernahme von Instantiations neuer GWT-Teammanager bei Google, versichert, dass GWT alles andere als tot sei und sowohl jetzt als auch zukünftig eine ausgezeichnete Wahl für das Entwickeln von Webanwendungen darstelle. Interessant sind auch die erstmals in der Geschichte von GWT getroffenen Aussagen zu den in der kommenden Version geplanten Neuerungen. Der Fokus des Releases 2.5 liegt demnach in der darunter liegenden Infrastruktur, und es stelle eines der umfangreichsten Releases bisher dar, so Ray Cromwell in seinen Kommentaren. Somit steht offiziell erst einmal fest, dass das Team an GWT festhält. Die Tatsache, dass noch so intensiv an GWT gearbeitet und auch kommuniziert wird, ist auch ein sehr positives Zeichen an die Community. GWT ist und bleibt ein Toolkit für die Webanwendungsentwicklung
Weitere Kostenlose Bücher