O technologii i biznesie naszym zdaniem
Groovy i Grails – rewolucja czy ewolucja Javy? cz.2
Czyli ta druga częśc w której zastanawiam się po co, komu i dlaczego jest Grails.
Jak wspomniałem wcześniej Grails jest framework’iem wzorowanym na Ruby on Rails, jako bazę wykorzystującym język Groovy. Po swoim poprzedniku przejął podstawowe zasady:
- DRY (Don’t Repeat Yourself – Nie powtarzaj się)
- Convention Over Configuration (Konwencja ponad konfigurację)
Co stanowi o dodatkowej sile Grails’a to wykorzystanie dla popularnych i mających bardzo dobrą opinię bibliotek Javovych: Spring Framework, Hibernate, Sitemesh. Dla użytkownika końcowego mogą byc one niewidoczne, ukryte za interjefsami napisanymi w Groovy, ułatwiającymi ich używanie i redukującymi ilośc potrzebnej kofiguracji (to jest właśnie siła wspomnianej wcześniej zasady!). W każdym momencie możliwe jest jednak pełne ich wykorzystanie oraz samodzielna konfiguracja.
W skrócie więc Grails = elastycznośc Groovy + moc bibliotek Javy
Jak to wygląda w praktyce? Prosty przykład, wydajemy polecenia:
grails create-app
grails create-domain-class [nazwaKlasy] , edytujemy stworzony plik .groovy dodając odpowiednie pola
grails generate-all
grails run-app
… i możemy już w przeglądarce uruchomic aplikację, ze stronkami do dodawania nowych instancji dla stworzonej klasy, edycji i usuwania. Stworzone mamy kontrolery wykorzystujące Spring’a, mapowania Hibernate’owe, strony GSP (podobne do JSP), dane zapisywane są też już do bazy i parę jeszcze użytecznych plików. Ciekawe ile zajęłoby zrobiebienie takiej funkcjonalności w Javie…
Co dodatkowo stanowi o sile Grails jest system plugin’ów. Sprawnie działająca społecznośc skupiona wokół projektu tworzy coraz to nowe pluginy (aktualnie około 40) pozwalające na współpracę m.in. z Flex’em, JSF, GWT, Acegi, OpenLaszlo, Yahoo UI, i wieloma innymi technologiami.
Z punktu widzenia programisty szybkośc tworzenie aplikacji wzrasta więc niesamowicie a dodatkowo to wciąż jest Java (no i troche Groovy). Kolejna rewolucja? Znowu tak, o tym projekcie jest już teraz głośno, będzie jeszcze bardziej.
W następnej części cyklu postaram się przedstawic jakie plusy może miec stosowanie Groovy / Grails w tzw. prawdziwym świecie czyli dlaczego klienci biznesowi mogą byc tym wszystkim zainteresowani.