Krzysztof Kaczmarek

Krzysztof Kaczmarek Programista,
Instruktor Wing Tsun

Temat: Play framework

Przypomina mi się taka opowieść:

Masz 5 osobowy zespół, robiliście projekt przez rok w technologi którą dobrze znacie. po roku klient wyrzuca Wasz projekt do kosza i pyta ile potrwa zrobienie jeszcze raz "od zera".

Większość ludzi odpowiada koło 9 miesięcy. Pytanie - co trwało pozostałe 3?

Uczenie się. Logiki biznesowej, warunków, oczekiwań klienta itd. Wszystkie metodyki agile koncetrują się tak naprawdę na jednej rzeczy: skrócić i uprościć uczenie się. (Zeby nie bylo książka, z której anegdota pochodzi "Mityczny osobomiesiąc" o ile się nie mylę pochodzi z lat 70')

Tak więc jeżeli zespół ma napisać projekt - może spróbować wyprototypować "na szybko" w nowej technogii z 2-3 razy i napisać jeszcze raz. ten sam projekt. to skutkuje dużo niższymi kosztami utrzymania.

Dobry framework to taki w którym się "prosto myśli" i upraszcza komunikacje w zespole, przez ... jej brak w niektórych aspektach. Najlepiej żeby nie było trzeba pytać autora kodu gdzie szukać poszczególne rzeczy. I play to robi doskonale przez m. in. narzucenie bezstanowości

A jeżeli chcesz springa - można go dołączyć do play'a bez problemu.
Kamil Mikołajczyk

Kamil Mikołajczyk programista Java /
Grails

Temat: Play framework

Może nie całkiem Java bo Groovy, ale dlaczego nie Grails? Bardzo fajny framework według mnie, dużo pluginów, dobre wsparcie z eclipsa (STS) i intelliJ (niestety nie w darmowej wersji).

O playu tez słyszałem dużo dobrego i zamierzam się mu bilżej przyjrzeć w najbliższym czasie, ale czytałem niedawno tu: http://lostechies.com/jamesgregory/2011/09/18/observat... o nim i z tego artykułu wynika, że słabo w tym frameworku jest w kwestii testów jednostkowych, co dla mnie jest dużą wadą, ale sam nie próbowałem więc nie wiem jak to wygląda w praktyce. Natomiast grailsy (a właściwie groovy) pod tym względem rządzą - closury, metaprogramowanie, mockowanie i można jednostkowo przetestować wszystko :)
Adrian C.

Adrian C.
projektant/programis
ta

Temat: Play framework

Widzę, że temat co chilę jest odgrzewany przez kogoś. Obejrzałem filmik zamieszczony na stronach playa i nie wiem ale to mnie zupełnie nie przekonuje? O co tyle szumu? Czy ktoś może mi wymienić parę zalet tego rozwiązania świadczących chociażby o wyższości nad Struts2, chyba te rozwiązania mierzą w ten sam target aplikacji webowych więc łatwo je porównać.

Temat: Play framework

Ja cały czas analizuje ten framework i za każdym razem mam coraz bardziej negatywne odczucia. W żaden sposób nie przemawia do mnie ten framework. Bardzo denerwującym faktem jest dla mnie, że korzystają niby ze znanych komponentów/tooli takich jak maven czy framework, ale wszystko jest jakby przepisane przez nich. Obsługa nie jest natywna tylko jakaś przekombinowana. W przypadku play 2.0 żeby dodać zależność to zamiast dodać wpis do pom.xml muszę ogarnąć jakąś dziwną skłądnie w scali. Hibernate jest tam tak ukryty, że prawie go nie ma. System evolucji baz danych - o ile fajny w idei - jest bardzo kiepsko wykonany, niewygodny, nieskalowalny. Najbardziej dotkliwie padł mit prostoty. Żeby to odpalić straciłem więcej czasu niż ze springiem. Powód był bardzo trywialny. Błędy, które się pojawiały nic mi nie mówiły, a w sieci ilość materiałów jest zatrważająca mała.

Z różnych przyczyn nie mogę go od razu odrzucić, ale póki co to nikt i nic nie potrafi mnie chociażby delikatnie do siebie przekonać. Nawet dokumentacja jest często niespójna z rzeczywistością. Jednak dalej walcze i walką to trzeba nazwać bo z pracą ma mało wspólnego :/
Marek Krawczyk

Marek Krawczyk TYPO3 Certified
Integrator, Play
framework

Temat: Play framework

o, cześć Dawid :) (inni też, ale dla Dawida specjalne ukłony :) )

To ja też dorzucę swoje 3gr. do dyskusji akurat z drugiej strony. Jako stary dev phpowy testowałem ostatnio oba rozwiązania Spring MVC i Play i choć nie mam tak negatywnych odczuć wobec Springa co ty wobec Playa to muszę przyznać, że zdecydowanie wolę ten drugi.

Powód jest prosty, to jest frame stworzony w 100% pod webdeveloperkę nowoczesną, szybką niemalże jak RoR - insert the coin, choose the flavour, bez zbędnych konfiguracji, plików XML etc, etc... Znając podstawy MVC po 15 minutowej lekturze oficjalnej dokumentacji przystępujesz do pracy (oczywiście w moim przypadku spowalniaczem jest konieczność poznawania Javy ...)

Scalowa składnia plików konfiguracyjnych w 2.0 wynika z faktu, że to jest system zorientowany na symultaniczną pracę w Javie i Scali (no trzeba było wybrać któryś język jako wiodący), ale nie oznacza to, że jest zła, po prostu inna, dla mnie w sumie nie ma znaczenia, czy uczę się składni pom.xml, czy tych sbt'owskich plików. I tak warto opierać się na dokumentacji.

Ten skopany system ewolucji w 2.0 o którym piszesz to taki heckup, chyba jedyny ... ktoś nie przemyślał sprawy przy integracji Evolutions z 1.2.x wraz z ddlGeneration z Ebean i przez to rzeczywiście auto generacja jest po prostu bezsensowna (i destrukcyjna!!!). Rozwiązaniem jest wyłączenie auto i powrót do własnych ewolucji, które wówczas działają w P2.0 identycznie jak w 1.2.x, nota bene to dość prosty plugin przy odrobinie wolnego czasu poprawię go na własny użytek to i się podzielę :)

Nie szukaj Hiberneta na siłę, bo właśnie wspomniany wyżej Ebean jest głównym ORMem w drugiej wersji.

I ostatnie Twoje stwierdzenie muszę zdecydowanie obalić jako mit: Play działa natychmiast po rozpakowaniu: uruchamiasz konsolowy kreator i masz strukturę gotową do pracy, nie musisz dopisać ani jednej linijki, żeby przejść bezpośrednio do pracy nad kontrolerem, niestety w Springu tak się nie da... (próbowałem też Spring Roo w kontekście wygodnego startupu, ale tam z kolei kod wygenerowany na starcie jest ... równie pokręcony co springowe kombinacje javowo-xmlowe...) Rozumiem, że niejasny komunikat interpretera Scali mówiący o konieczności podniesienia wersji JRE to jest niemiły start, ale w zupełności nie podważa szybkiego startupu samego Play'a. Swoją drogą ciesz się, że to nie RoR bo on z kolei słynie z uciążliwego systemu spełniania zależności :)

No a na koniec moja impresja webdevelopera: Play idzie jak burza do przodu, zaledwie w rok z hakiem po pierwszej w miarę sensownej wersji publicznej społeczność wzrosła wielokrotnie, devteam jest w pełni resposnsywny i bardzo wydajny (Dawid, oboje wiemy, którego phpowego frame'a developerka doczekała się stable dopiero po 5 latach z dużą ilością braków i luk) i choćby w tym kontekście Play niesie bardzo dużo nadziei. Być może nie jest to Spring-killer, zwłaszcza dla developerów z dorobkiem i doświadczeniem springowym, ale jestem pewien, że nowe fale webdeveloperów javowych będą po niego sięgać chętniej niż po Springa.

Ja na pewno :)Marek Krawczyk edytował(a) ten post dnia 15.03.12 o godzinie 23:00



Wyślij zaproszenie do