2010. április 19., hétfő

GWT-s portlet fejlesztése Development Mode-ban

A Google Web Toolkit a legjobb javascript framework, amivel eddig dolgoztam, egyszerű, gyors, és alapvetően java. Jó lenne, ha ezt fel lehetne használni portletekben is. Mivel a GWT egyszerű javascripteket készít, ezért elvileg nincs akadálya, le kell fordítani a forrást, és a portletben egy egyszerű <script> tag-ben hivatkozni rá. A 2.0-s verziótól a GWT-ben megjelent a Development Mode mint böngésző plugin, ami azt ígéri, hogy újrafordítás nélkül lehet deployolni, és debuggolható a java kód. Ha ez portletes környezetben is belőhető, akkor az nagyon gyors fejlesztést tesz lehetővé egy nagyon kényelmes eszközzel.

Először fel kell tenni az Eclipse-hez a GWT-s plugint, ehhez fel kell vennünk ezt az Update Site-ot:
http://dl.google.com/eclipse/plugin/3.5
Innen fel kell telepíteni a GWT-hez kapcsolódó plugineket (2db), majd újraindítani az Eclipse-t. Ezután valamilyen portletre van szükségünk, aminek a javascriptjét meg akarjuk írni, próbaképpen generáltathatunk egy Hello World-öt a Liferay Plugins SDK-val. Ha a portlet nincs felvéve a Workspace-be, akkor tegyük meg.

Ezután meg kell mondanunk a pluginnek, hogy ez egy GWT-s project. Ehhez jobbklikk a projectre->Properties->Google/Web Toolkit/Use Web Toolkit-et pipáljuk be, majd Web Application alatt a This project has a WAR directory-t is, és a WAR directory-hoz írjuk be azt a könyvtárat, ami a portletben direkt elérhető (tipikusan a docroot). A fejlesztéshez szükséges egy GWT modul, ezt jobbklikk->New->Module ponton tehetjük meg, valamint a modulhoz szükséges egy Entry Point, ezt a jobbklikk->New->Entry Point pont alatt. Ezután fordítsuk le a projectet, ezt a GWT Compile Project gombbal tudjuk a legegyszerűbben megtenni a menüsorból.

Fel kell vennünk még egy Run configuration-t. Hozzunk létre egy Web Application-ös configot, majd értelemszerűen töltsük ki a Main fület, ha nem lenne kitöltve magától, a Main-Class legyen com.google.gwt.dev.DevMode! Itt jön egy kis trükközés.

Ha nincs feltelepítve a böngészőplugin, akkor a legegyszerűbben úgy tehetjük meg, hogy a Server fülön bepipáljuk a Run built-in server-t, majd elindítjuk, és ellátogatunk a megjelenő url-re. Itt fel fogja ajánlani a böngésző a plugin feltelepítését, amit tegyünk is meg. Amennyiben már fentvan korábbról, ezt a bekezdést kihagyhatjuk.

Amennyiben már van böngésző plugin telepítve, akkor a Server fülön állítsuk be, hogy ne indítsa el, majd a GWT fülön az URL-hez írjuk be a tesztelni kívánt címet (tipikusan azt az oldalt, ahol a portlet van). Ezután indítsuk el, és hozzuk be a böngészőben a kiírt url-t. Ha ezután változtatunk valamit a java kódban, mentés és újratöltés után egyből látszanak a módosítások, valamint debuggolni is lehet.

Sajnos Linux alatt nem műküdik, annyit találtam róla, hogy az Eclipse-s Jdt-vel akad össze. Majd a Heliossal megnézem újra a nyáron, hátha addigra már megcsinálják.