Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Spring + GWT

157 views
Skip to first unread message

Wojtek

unread,
Mar 30, 2007, 5:40:52 PM3/30/07
to
Czesc.

Czy udalo sie komus polaczyc gwt ze springiem?
Ja siedzie nad tym juz jakis czas i nic?


Pozdrawima
Wojtek


margielm

unread,
Mar 30, 2007, 7:02:57 PM3/30/07
to
On 30 Mar, 23:40, "Wojtek" <wojciechgrochow...@poczta.onet.pl> wrote:
> Czesc.
>
> Czy udalo sie komus polaczyc gwt ze springiem?
> Ja siedzie nad tym juz jakis czas i nic?
>


Ale tworzysz swoje rozwiazania czy starasz się wykorzystać już
istniejące?
linków jest bardzo dużo. co prawda ja nie robiłem jeszcze rakiej
integracji, no ale może Ci się przydadzą, a sam akurat tych nie
znalazłeś:

http://jwc.sourceforge.net/cgi-bin/bin/view
http://code.google.com/p/gwt-spring-hibernate-reference/
http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/44f61a67c1cb4e3a

--
Pozdrawiam
Michał Margiel

Brzezi

unread,
Mar 31, 2007, 5:42:28 AM3/31/07
to
pią, 30 mar 2007 o 23:40 GMT, Wojtek napisał(a):

> Czy udalo sie komus polaczyc gwt ze springiem?
> Ja siedzie nad tym juz jakis czas i nic?

Ale tutaj wlasciwie trudno mowic o jakiejkolwiej integracji, jedyne co
mozna zrobic to umowliwic wstrzykiwanie zaleznosci dla GWTowych zdalnych
servletow, a o tym jest tutaj: http://gwt-widget.sourceforge.net/

jak masz pytania do GWT to pisz tutaj, chetnie odpowiem, biore udział od 4
miesiacy w projekcie wykorzystujacym GWT

Pozdrawiam
Brzezi
--
[ E-mail: brz...@enter.net.pl ][ GEEK CODE [Version: 3.12]: GCM dpu s+:- ]
[ Ekg: #3781111 ][ a--- C+++ UL++ P+ L+++ E--- W+++ N+++ ]
[ LinuxUser: #249916 ][ o-- K- w--- O-- M- V- PS PE Y PGP--- t+ ]
[ 5- X++ R* tv+ b- DI- D+ G+ e- h! r y-- ]

Jacek Laskowski

unread,
Mar 31, 2007, 7:20:32 AM3/31/07
to
Brzezi wrote:

> jak masz pytania do GWT to pisz tutaj, chetnie odpowiem, biore udział od 4
> miesiacy w projekcie wykorzystujacym GWT

Świetnie, że się ujawniłeś Brzezi! ;-) Teraz wpadłeś jak śliwka w kompot
:P to zasypię Cię pytaniami! Po prezentacji Michała i teraz kiedy się
ujawniłeś, mam wrażenie, że nie ma co czekać więcej i pora spojrzeć na
GWT z bliska.

Jeśli chciałbym zacząć pracę z GWT - chciałbym rozpocząć ją z M2. Czy
korzystasz z jakieś wtyczki M2? Wrażenia? Sugestie? Czy korzystasz z GWT
wyłącznie jako warstwa widoku, czy łączysz to z czymś, bo np. brakuje w
GWT pewnych funkcjonalności, albo po prostu potrzeba Ci i jednego i
drugiego, bo tak i już. I na koniec - dlaczego GWT a nie na przykład
Flex, albo inne "ustrojstwo"?

Jacek

--
Jacek Laskowski
http://www.JacekLaskowski.pl

Brzezi

unread,
Mar 31, 2007, 7:56:10 AM3/31/07
to
sob, 31 mar 2007 o 13:20 GMT, Jacek Laskowski napisał(a):

> Świetnie, że się ujawniłeś Brzezi! ;-) Teraz wpadłeś jak śliwka w kompot
>:P to zasypię Cię pytaniami!

niech bedzie :P

> Po prezentacji Michała i teraz kiedy się ujawniłeś, mam wrażenie, że nie
> ma co czekać więcej i pora spojrzeć na GWT z bliska.

Niestety nie mam mozliwosci wpadac na JUGI bo konfliktuje to z moimi
zajeciami na uczelni :/

Ale zdaje sie ze miales przyjemnosc poznac mojego kolege z projektu (tego z
GWT), a conajmniej z nim mailowales :), chodzi mi o Rafala Malinowskiego :)

> Jeśli chciałbym zacząć pracę z GWT - chciałbym rozpocząć ją z M2. Czy
> korzystasz z jakieś wtyczki M2? Wrażenia? Sugestie?

GWT OOTB ma wsparcie tylko dla Eclipse, tzn sa dwie opcje podczas
generowania szkieletu projektu GWT, albo tworzy tylko skrypty do
kompilowania/uruchamiania aplikacji, albo jeszcze robi szkielet projektu
Eclipse i launchScript.

Skrypty wykorzystuja dwie klasy: GWTShell i GWTCompiler, ktore moga
przyjmowac rozne argumenty, wiec mozna je bardz latwo wykorzystac w ANTcie
czy Mavenie, nie mam pojecia czy sa juz jakies gotowe pluginy, my
wykorzystujemy tylko bardzo proste skrypty ANT, do
kompilowania/uruchamiania/deployowania

> Czy korzystasz z GWT wyłącznie jako warstwa widoku, czy łączysz to z
> czymś, bo np. brakuje w GWT pewnych funkcjonalności, albo po prostu
> potrzeba Ci i jednego i drugiego, bo tak i już.

Tak, GWT pelni role widoku, no bo i do niczego innego sie nie nadaje :)
Cale GUI jest napisane w GWT, komunikuje sie to przez AJAXa (jest to
ladnie wbudowane w GWT) z serwerem, ktory oparty jest na Springu +
hibernate.

> I na koniec - dlaczego GWT a nie na przykład Flex, albo inne
> "ustrojstwo"?

O flexie pierwszy raz uslyszalem w zwiazku z ktoryms z ostatnich JUGow,
wiec dosyc niedawno, o GWT wiedzialem juz duzo wczesniej, ogolnie Google
robi na mnie duze wrazenie, uzywam gmaila, calendara, maps i innych
gadzetow zrobionych w GWT przez Google, wiec to bylu duze ZA, bo dziala to
u milionow uzytkownikow...
Mysle ze tez argumentem ZA jest to, ze GWT jest dosyc podobne do Swinga,
wiec jezeli ktos robil cos w Swingu, to bedzie sie wmiare swojo czul w GWT
Jedyny minus tutaj, to to ze GWT jest dosyc "niskopoziomowy", brak tutaj
MVC ze Swinga, na potrzeby projektu musielismy stworzyc cos w rodzaju mini
frameworka, klas wspomagajacych tworzenie formularzy, ulatwiajacych
wykonywanie zdalnych metod, itp itd, bo bez tego byloby ciezko...

Szarak

unread,
Apr 2, 2007, 8:12:28 AM4/2/07
to
A jak wygląda kwestia podziału aplikacji na moduły? Czy w przypadku
większej aplikacji generowane pliki .js są na tyle duże, że trzeba to
dzielić na mniejsze moduły i jakoś doładowywać w trakcie, żeby start był
komfortowy? Stosuje się jakieś triki w tym celu? Jakie masz doświadczenia?

Pozdrawiam
Szarak

Brzezi

unread,
Apr 5, 2007, 5:56:02 AM4/5/07
to
pon, 02 kwi 2007 o 14:12 GMT, Szarak napisał(a):

> A jak wygląda kwestia podziału aplikacji na moduły? Czy w przypadku
> większej aplikacji generowane pliki .js są na tyle duże, że trzeba to
> dzielić na mniejsze moduły

Zalezy ile to jest dla Ciebie duzo, dosyc skomplikowany widok, skladajacy
sie w sumie z kilkudziesieciu paneli + wszystko co jest potrzebne do
obslugi tych paneli czyli klasy modelu danych, eventy, warstwa serwisow
zdalnych, jakies wlasne komponenty ui, generowany w trybie obfuskowanym, w
efekcie produkuje plik .js o wielkosci ~1MB

> i jakoś doładowywać w trakcie, żeby start był
> komfortowy?

Jest jakis sposob dynamicznego ladowania jsow w GWT z tego cowiem, ale
jeszcze go nie wykorzystywalem i nie wiem dokladnie jak to dziala


Pozdrawiam
Brzezi
--
[ E-mail: brz...@enter.net.pl ][ Hoping to goodness is not theologically ]
[ Ekg: #3781111 ][ sound. - Peanuts ]
[ LinuxUser: #249916 ][ ]

Konrad Pawlus

unread,
Apr 6, 2007, 4:01:44 PM4/6/07
to
Hejka!

> Czy udalo sie komus polaczyc gwt ze springiem?
> Ja siedzie nad tym juz jakis czas i nic?

W IntelliJ IDEA wbudowana jest integracja z GWT, wiec szybko można
tworzyć i testować aplikacje.

Z Spring integruję je tak (przepraszam za formatowanie, ale wklejam
prosto z IDE, proszę sobie zreformatować):

Servlet:

<bean id="secureHandlerMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="urlMap">
<map>
<entry
key="/com.konri.adviser.gwtapp.GwtAdviserApp/GwtAdviserAppService.do"
value-ref="gwtGwtAdviserAppController" />
</map>
</property>
</bean>

<bean id="gwtForwardingController"
class="org.springframework.web.servlet.mvc.ServletForwardingController">
<property name="servletName" value="gwtGwtAdviserAppController"/>
</bean>

<bean id="gwtGwtAdviserAppController"
class="com.konri.adviser.gwtapp.server.GwtAdviserAppService">
<constructor-arg ref="applicationFacade"/>
</bean>

Konfiguracja aplikacji GWT (U mnie AdviserApplication.gwt.xml:

<module>

<!-- Inherit the core Web Toolkit stuff. -->
<inherits name='com.google.gwt.user.User' />
<inherits name="com.google.gwt.i18n.I18N" />
<inherits name="org.gwtwidgets.WidgetLibrary" />

<!-- Specify the app entry point class. -->
<entry-point
class='com.konri.adviser.gwtui.client.AdviserApplication' />


<!-- Specify the app servlets. -->
<servlet
path='/com.konri.adviser.gwtui.AdviserApplication/GwtAdviserAppService.do'

class='com.konri.adviser.gwtui.server.MocAdviserApplicationService' />

</module>

(Uwaga: MocAdviserApplicationService jest tylko dla widoku aplikacji
wprost z wbudowanej w IDE przeglądarki (tej samej co w GWT)), z
doświadczenia wiem, że UI jest dość niestabilne - dość trudno składać je
przy większych projektach więc dość pomaga taki Mock'owy servis szybko
pozwalający sprawdzić czy kontrolki się nie rozjechały:

public class MocAdviserApplicationService extends
AdviserApplicationService {

public MocAdviserApplicationService() {
super(new MockApplicationFacade());
}
}

No i główny RemoteServiceServlet:

public class AdviserApplicationService extends RemoteServiceServlet
implements IAdviserApplicationService {
private IApplicationFacade _applicationFacade;

public AdviserApplicationService(final IApplicationFacade
applicationFacade) {
_applicationFacade = applicationFacade;
}

....
}

Pozdrawiam
Konrad

0 new messages