Temat: Czy pisze ktoś aplikacje webowe w Javie bez JRebel?

JRebel, jak każdy wie, to narzędzie świetne i oszczędzające mnóstwo czasu, ale też bardzo drogie i np. poza moim zasięgiem, jak i mojego pracodawcy.

Pisząc aplikacje desktopowe często kompilowałem projekt, lub jego część, tylko po to by zobaczyć, czy wreszcie w swingu odpowiednio się GUI układa i zachowuje. Czasem było to nawet 10 razy szybka mała zmiana i od razu kompilacja - widzę efekt.

W aplikacjach webowych budowa projektu to koszmar po każdej zmianie i jeśli ktoś nie jest z długoletnim doświadczeniem, chciałby spoglądać często na efekty pracy i je korygować.

Czy w ogóle pracujecie w tym temacie i potraficie pracować bez JRebel? I w moim wypadku Play Framework nie jest technologią z której korzystam.

P.S.
A tak z tej tematyki jeszcze. Obecnie korzystam z Tomcata, nie pracuję z EJB i nie korzystam z "dobrodziejstw" serwerów aplikacyjnych, więc gdziekolwiek bym WARa nie wrzucił powinno być ok. Czy przy programowaniu można przejść w fazie pisania kodu na inny kontener webowy, który dawałby szybszy redeploy ? Może Jetty, ale czy na pewno dałoby to efekt oszczędzenia czasu?

Do tej pory miałem sporą styczność z ASP.NET MVC i tam nawet nie było mowy o długim czekaniu na restart kontenera. W VS dajesz Crtl+F5 i masz błyskawicznie otwartą stronę w przeglądarce. Tutaj w Javie np. Spring + JPA + Vaadin trzeba trochę pocczekać, jeśli nie masz JRebel co jest mocną ułomnością technologii.
Michał Lisowski

Michał Lisowski Java Web Developer

Temat: Czy pisze ktoś aplikacje webowe w Javie bez JRebel?

Zainteresuj się IntelliJ IDEA, świetne IDE do Javy, potrafi częściowo skompliować klasy i zaktualizować na serwerze. Może nie dorównuje JRebel, ale zawsze coś.

Temat: Czy pisze ktoś aplikacje webowe w Javie bez JRebel?

Niestety akurat w takim zakresie w jakim programuję IntelliJ jest płatny.

Z tego co widzę po pustkach w tym temacie nikt się na posunięcie bez płatnych narzędzi nie decyduje.
Jarosław Szczepankiewicz

Jarosław Szczepankiewicz Lead Technical
Consultant

Temat: Czy pisze ktoś aplikacje webowe w Javie bez JRebel?

zakładając że to nie jest post kryptoreklamowy ;). Moim zdaniem:
1. aktualnie duża część aplikacji to bogaty klient gdzie redeploy nie jest specjalnie istotny bo praca (rest vs gruby klient) jest / może być rozdzielona
2. jeżeli używasz MVC gdzie widokiem jest generowany html zwracany przez servlet istnieją już frameworki / podejścia minimalizujące konieczność redeploya np. użycie języków interpretowanych dla kontrolera, a w warstwie szablonu to już bardzo popularne że szablon jest umieszczony poza pamięciowym kontekstem aplikacji. Także to tylko kwestia chęci żeby mieć albo tylko szablony / js / css redeployowane lub podejście absolutne czyli także kontrolery.
Moim skromnym zdaniem nejlepiej z punktu widzenia projektu po prostu poprawnie używać TDD na mvc wtedy znaczenie badania live wyników maleje a pozostają korzyści długoookresowe gdy przyjdzie do refaktoringu / dodania nowej funkcjonalności.

Temat: Czy pisze ktoś aplikacje webowe w Javie bez JRebel?

Ja się obecnie opieram jeśli chodzi o GUI na Vaadinie i raczej mi MVP bliższe tutaj niż MVC. Zmiany technologii przy obecnym projekcie jednak nie planujemy.

konto usunięte

Temat: Czy pisze ktoś aplikacje webowe w Javie bez JRebel?

Łukasz S.:
Ja się obecnie opieram jeśli chodzi o GUI na Vaadinie i raczej mi MVP bliższe tutaj niż MVC. Zmiany technologii przy obecnym projekcie jednak nie planujemy.

W MVP nic nie stoi na przeszkodzie żeby zastosować testy jednostkowe. Miałem podobne doświadczenia ale nie w technologiach web, tylko przy aplikacjach mobilnych na androida, gdzie testowałem aplikacje zarówno na emulatorze, jak i tablecie i w obu przypadkach takie testowanie po każdej nawet drobnej zmianie, celem sprawdzenia jak to działa jako aplikacja to porażka (emulator ładuje się bardzo wolno, na tablet przenosiłem apk przez pendrive).

Jednak opierając się o MVP miałem spore ułatwienie, bowiem część kodu odpowiedzialną za dostęp np. do danych w plikach XML mogłem bez problemu testować bez konieczności odpalania tego w docelowym środowisku (emulator albo tablet). Wystarczyło przetestować na jakimś testowym programie dla konsoli.

Jak wiadomo w MVP cała interakcja z użytkownikiem odbywa się za pośrednictwem prezentera a ten komunikuje się z klasami w warstwie modeli, więc jaki to jest problem tą część kodu testować na szybko bez użycia docelowego środowiska? Zresztą w przypadku MVP można też bez problemu wykorzystywać i w aplikacjach desktopowych.
Kamil Mikołajczyk

Kamil Mikołajczyk programista Java /
Grails

Temat: Czy pisze ktoś aplikacje webowe w Javie bez JRebel?

ale Łukasz używa Vaadina, który jest takim webowym Swingiem i niestety widok wynika z kodu w javie, a co za tym idzie, zmiany w widoku wymagają rebuilda, TDD raczej niewiele tu zdziałaTen post został edytowany przez Autora dnia 14.07.14 o godzinie 10:06

konto usunięte

Temat: Czy pisze ktoś aplikacje webowe w Javie bez JRebel?

Nie wiem czy z Twoim stackiem technologicznym to zagra, ale chyba warto spróbować - https://github.com/spring-projects/spring-loaded



Wyślij zaproszenie do