Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Apache Tapestry framework

[es] :: Java :: Apache Tapestry framework

[ Pregleda: 3317 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dejankr
Dejan Krsmanovic
JavaEE programer
Beograd

Član broj: 7842
Poruke: 384
*.sbb.co.yu.



+1 Profil

icon Apache Tapestry framework20.06.2007. u 20:49 - pre 204 meseci
Citat:
alex: Govoreci o Java MVC razlicitim okruzenjima, jel probao neko Tapestry? Trebalo bi da radim procenu tog alata za jedan novi projekat pa me zanimaju vasa iskustva.


Radio sam malo Tapestry i u principu je OK framework. Ako si do sada radio samo sa action-based frameworcima (Struts, WebWork, Spring MVC i sl.) trebaće ti malo vremena da se navikneš pošto ima potpuno drugačiji pristup. Reč je o component-oriented frameworku koji koji mnogo više ima dodrinih tačaka sa JSF-om i Wicketom.

Ono što je po meni glavna mana Tapestry-ja je što se previše brzo razvija jer je svaka naredna verzija nekompatibilna sa prethodnom. Ja sam, ako se dobro sećam, radio sa verzijom 4.0, koja se bitno razlikovala od 3.x. Sada je, vidim, aktuelna verzija 4.1 koja se opet razlikuje od 4.0, dok je 5.0 u razvoju i pretstavlja totalni redizajn. Iako Tapestry ima prilično jaku bazu korisnika, imam osećaj da je većina ljudi prilično iziritirano stalnom potrebom da portuju aplikacije kada izađe nova verzija pa polako prelaze na alternative (pomenuti Wicket ili eventualno JSF).




[Ovu poruku je menjao dejankr dana 20.06.2007. u 23:30 GMT+1]
 
Odgovor na temu

sanchi
Sanja Jokic
Beograd

Član broj: 148256
Poruke: 104
194.106.184.*



+8 Profil

icon Re: Apache Tapestry framework20.06.2007. u 21:53 - pre 204 meseci
Citat:
dejankr: Iako Tapestrz ima prilično jaku bazu korisnika, imam osećaj da je većina ljudi prilično iziritirano stalnom potrebom da portuju aplikacije kada izađe nova verzija pa polako prelaze na alternative (pomenuti Wicket ili eventualno JSF).


Hmm.. ali zašto kažeš potrebom da portuju?
Prethodne verzije su bagovite, pa su bagovi krpljeni tek u novim verzijama?

Ali ako nove verzije samo donose nove feature (fičre.. dajte mi srpsku reč =)), onda valjda biraš: ako hoćeš da koristiš nove stvari, logično je da portuješ, i da prepravljaš kod da ih koristiš. Ako nećeš, nećeš ni da portuješ, i zanemarićeš psihičku/mentalnu potrebu da stalno koristiš najnoviju verziju.

Osim toga, valjda je lakše portovati na novu verziju istog frameworka, nego na potpuno novi.

Dalje, uvek bolje zvuči verzija 5 od verzije 1.

Btw, na prvi pogled mi se jako dopada najava novosti u verziji 5. Za početak, i oni su izbacili konfiguraciju i definicije komponenti iz xmlova u anotacije. Jami.




If people were meant to pop out of beds we would all sleep in toasters.
Google is your friend http://justfuckinggoogleit.com/
 
Odgovor na temu

dejankr
Dejan Krsmanovic
JavaEE programer
Beograd

Član broj: 7842
Poruke: 384
*.sbb.co.yu.



+1 Profil

icon Re: Apache Tapestry framework20.06.2007. u 22:30 - pre 204 meseci
Citat:
Ali ako nove verzije samo donose nove feature (fičre.. dajte mi srpsku reč =)), onda valjda biraš: ako hoćeš da koristiš nove stvari, logično je da portuješ, i da prepravljaš kod da ih koristiš. Ako nećeš, nećeš ni da portuješ, i zanemarićeš psihičku/mentalnu potrebu da stalno koristiš najnoviju verziju.


Pazi, kao što znaš, ni jedan softver nije savršen - svaki ima svoje bugove. Ljudi uvek vole da imaju verziju u kojoj su ispravljeni bugovi iz prethodne pa je to razlog zašto žele da pređu na novu. Međutim, ima razlike između novije i najnovije verzije. Kod projekata kao što je Tapestry, najnovija verzija (5.x) donosi kompletan redizajn i siguran sam da će proći dosta vremena dok najnovija verzija ne postane stabilna. Zato nije uvek najmudrije praviti aplikaciju za produkciju sa poslednjm verzijom.

Kod sofvera kao što je Tapestry, sa više grana razvoja, prosto neće postojati dovoljno ljudi koji će održavati starije verzije, jer će većina prelaziti na novije (4.x, 4.1.x, 5.x). To stvara problem za aplikacije u produkciji pisane u recimo Tapestry 3.x, jer ako postoji neki bug prosto neće imati ko da ga ispravlja na toj grani - a prelazak na 4.x može potencijalno doneti još više problema.

Citat:
Osim toga, valjda je lakše portovati na novu verziju istog frameworka, nego na potpuno novi.


To sve zavisi od frameworka do frameworka. Ako prelaziš sa recimo JSF 1.0 na 1.2, gotovo da nema potrebe da menjaš kod. S druge strane, upravo radim na jednoj aplikaciji koja koristi Struts 2.0, i mogu reći da on nema veze sa Struts 1.x. Portovanje aplikacije sa Struts 1.2 na 2.x, zahteva prepravku celog koda s obzirom da je Struts 2 baziran na WebWork frameworku. Da budem iskren, nisam nikad radio portovanje sa jedne na drugu verziju Tapestry-ja, ali koliko vidim tu je takođe potrebno žešće menjati kod.

Citat:
Dalje, uvek bolje zvuči verzija 5 od verzije 1.


To je stvar ukusa.. Ali valjda si u pravu, inače ne bi Java 1.5 naprasno postala 5.0!
 
Odgovor na temu

sanchi
Sanja Jokic
Beograd

Član broj: 148256
Poruke: 104
*.cisco.com.



+8 Profil

icon Re: Apache Tapestry framework21.06.2007. u 18:07 - pre 204 meseci
Citat:
dejankr: Pazi, kao što znaš, ni jedan softver nije savršen - svaki ima svoje bugove.

Pa da, bas zato sam i pitala, da li Tapestry 3 ili 4 ima gomilu bagova koji zahtevaju ispravljanje?
Da li si imao utisak da je bagovit?

Sto je veca korisnicka baza i veci projekat, to se bagovi vise i ispravljaju kada je neka verzija aktivna, u pitanju je opensource.
U pravu si da se verovatno na odrzavanju starih verzija ne radi toliko, iz prostog razloga sto najverovatnije i nema sta mnogo da se radi. Mislim da je logicna pretpostavka da nakon odredjenog broja godina intenzivnog koriscenja starijih verzija od strane velikog broja korisnika nekog tako popularnog frejmworka kao sto je Tapestry tesko mogu da iskrsnu novi nepoznati bagovi, a da pritom ne izvodis neke egzoticne egzibicije.

Citat:
dejankr: Portovanje aplikacije sa Struts 1.2 na 2.x, zahteva prepravku celog koda s obzirom da je Struts 2 baziran na WebWork frameworku. Ako prelaziš sa recimo JSF 1.0 na 1.2, gotovo da nema potrebe da menjaš kod.

Zato se u JSF 1.2 ono 2 posle tacke zove minor, a ono 1 pre tacke major.
Major se i menja samo kada se rade velike i kompletne izmene zbog kojih api nece biti kompatibilan sa prethodnim verzijama, ako se verzionise kako treba.

Nisam ni rekla da je lako portovati sa jedne verzije na drugu istog frameworka, rekla sam da je valjda lakse u odnosu na portovanje na drugi framework.

Ok, priznajem, skepticna sam prema verzijama 1 i malim novim projektima koji obecavaju mnogo. Upravo me glava boli zbog nekog buga oznacenog kao major na projektu X verzije 1.X koji koristim a za koji sam utvrdila da na njemu trenutno aktivno radi 1 covek (a nema verzije 2). Ispravice ga malo sutra.

Wicket izgleda simpaticno, ali ja bih uvek pre izabrala Tapestry za ozbiljan veliki projekat.







If people were meant to pop out of beds we would all sleep in toasters.
Google is your friend http://justfuckinggoogleit.com/
 
Odgovor na temu

dejankr
Dejan Krsmanovic
JavaEE programer
Beograd

Član broj: 7842
Poruke: 384
*.dynamic.sbb.co.yu.



+1 Profil

icon Re: Apache Tapestry framework21.06.2007. u 21:51 - pre 204 meseci
Citat:
sanchi: Pa da, bas zato sam i pitala, da li Tapestry 3 ili 4 ima gomilu bagova koji zahtevaju ispravljanje?
Da li si imao utisak da je bagovit?


Ne mora framework da ima gomilu bagova da bi ti pravio problem. Štaviše, siguran sam da su te verzije prilično stabilne, ali to ne znači da neka stvar ne može da ti napravi problem u aplikaciji u produkciji. Evo, skoro smo u firmi imali problem sa Tomcat 6, koji se pojavljuje samo u slučaju kada dve aplikacije u isto vreme dobiju request, a i to se primeti samo u određenim slučajevima. Takve bugove je jako teško reprodukovati a samim time i ispraviti. Drugo, možda ti treba neki feature iz nove verzije, koju niko neće da back-portuje na staru, a tebi se ne isplati da prebacuješ celu aplikaciju na novu verziju...
Da odgovorim konkretno na tvoje pitanje, ja nisam imao problem sa Tapestry 4.0, ali ja sam jako malo radio sa njom, a i ta aplikacija nikad i nije otišla u produkciju, tako da moje mišljenje i ne mora da znači mnogo.

Citat:
sanchi: Zato se u JSF 1.2 ono 2 posle tacke zove minor, a ono 1 pre tacke major.
Major se i menja samo kada se rade velike i kompletne izmene zbog kojih api nece biti kompatibilan sa prethodnim verzijama, ako se verzionise kako treba.


Označavanje verzija je jako idividualna stvar. Java je 10 godina išla od verzije 1.0 do 1.4, pa su tek sada krenuli na "major" verzije. S druge strane, imaš primer recimo TestNG projekta koji je za godinu (ili malo više) dana došao od verzije 1.0 do 5.0. Ali opet, i aplikacija pisana na Java 1.0 će ti u 99% slučajeva raditi i u Java 6. Web aplikacija pisana za Tomcat 3 će takođe najverovatnije raditi i u Tomcat 6 bez ikakvih izmena. A kod Tapestry-ja to nije slučaj. Ako se ne varam, čak ni prelazak sa 4.0 na 4.1 (minor verzija) nije jednostavan.

Činjenica je da velike promene između verzija može da znači da su poboljšanja u novoj verziji zaista značajna i za mnoge projekte neće biti preveliki problem da pređu na novu verziju ukoliko dobitak u novim funkcionalnostima to opravdava. Ali takođe postoje projekti gde to jednostavno nije slučaj. Zato treba dobro proceniti da li je baš Tapestry najbolje rešenje za projekat koji se radi...

 
Odgovor na temu

sanchi
Sanja Jokic
Beograd

Član broj: 148256
Poruke: 104
194.106.184.*



+8 Profil

icon Re: Apache Tapestry framework21.06.2007. u 23:28 - pre 204 meseci
Pa dobro, malo si uzeo specijalne slučajeve, ali stoji da svako ima svoju filozofiju verzionisanja. Java jednostavno mora da maksimalno forsira kompatibilnost, i tako će i biti i ubuduće. Tomcat kao container takođe.

U većini slučajeva ipak mislim da se mahom teži ka major-minor principu kompatibilnosti. Primeri da stari kod ne radi sa promenom minor verzije su po meni za svaku osudu i donose mnogo negativnih poena. Ua Tapestry 4.1. :)
Major može da bude 100% kompatibilan, ali to nikad ne očekujem, i ne zameram.

Tomcat 6 je izašao pre svega par meseci, i za očekivati je da je baš sada vreme kada će se nalaziti maksimalan broj bugova.
Ono što sam htela da kažem je upravo da je u nekoj starijoj major verziji sa maksimalnom minor verzijom koja se koristila duže vreme najverovatnije 99% bugova već popravljeno, pogotovo ako ima jako veliki broj korisnika, i da je upravo ona najstabilnija.

E sad, to što joj fale neke jako dobre stvarčice nove verzije, to je već druga stvar, ali ako si već skoro sve impementirao i radi kako treba, može se i bez portovanja.

Da se vratimo na Tapestry, ja im ne bih ipak toliko uzela za zlo što stalno uvode nove verzije sa novim i boljim rešenjima koje možda i nisu kompatibilne. Konfiguracija anotacijama po meni može da bude cool feature. Zašto je sad bolji JSF ili struts što nisu bili vredni pa podržali u nekoj novoj verziji.

Više bi me zanimalo kako konkretne verzije zaista rade u poređenju sa drugima, da li ima bagova i da li se popravljaju, koliko je udoban za razvoj, koliko brzo se uči, koliko brzo može da se razvija, kakav je kod za održavanje, koliko pokriva sve potrebe, performanse, itd.
If people were meant to pop out of beds we would all sleep in toasters.
Google is your friend http://justfuckinggoogleit.com/
 
Odgovor na temu

dejankr
Dejan Krsmanovic
JavaEE programer
Beograd

Član broj: 7842
Poruke: 384
89.216.192.*



+1 Profil

icon Re: Apache Tapestry framework22.06.2007. u 08:02 - pre 204 meseci
Citat:
sanchi:
Tomcat 6 je izašao pre svega par meseci, i za očekivati je da je baš sada vreme kada će se nalaziti maksimalan broj bugova.


Tomcat 6 sam naveo kao primer krajnje neočiglednog bug-a, koji će ko zna kada biti ispravljen. U većini aplikacija se ovo ne bi ni primetilo, ali mi smo imali baš takav use-case gde to dolazi do izražaja.

Citat:
sanchi:
Ono što sam htela da kažem je upravo da je u nekoj starijoj major verziji sa maksimalnom minor verzijom koja se koristila duže vreme najverovatnije 99% bugova već popravljeno, pogotovo ako ima jako veliki broj korisnika, i da je upravo ona najstabilnija.


Apsolutno se slažem. Problem je kada te baš zakači onaj 1% ili 0.1%, a nema ko da ispravi.

Citat:
sanchi:
Da se vratimo na Tapestry, ja im ne bih ipak toliko uzela za zlo što stalno uvode nove verzije sa novim i boljim rešenjima koje možda i nisu kompatibilne.


I ovde se slažemo. Tapestry inače ima veliki broj pobornika koji ga vole jer je uvek up-to-date sa najnovijim trendovima. Ali takođe znam i mnoge ljude koji se nerviraju jer recimo hoće da prebace aplikaciju sa recimo 4.0 na 4.1, a onda Howard Lewis Ship (autor Tapestry) usput pomene da je izašla i Tapestry 5.0 Alpha koja će imati sve i svašta, ali eto, neće biti kompatibilna sa ranijim verzijama.. I naravno obećava da je to još samo ovaj put :)

Citat:
sanchi:
Više bi me zanimalo kako konkretne verzije zaista rade u poređenju sa drugima, da li ima bagova i da li se popravljaju, koliko je udoban za razvoj, koliko brzo se uči, koliko brzo može da se razvija, kakav je kod za održavanje, koliko pokriva sve potrebe, performanse, itd.


Ovo će verovatno bolje da ti odgovori neko sa više iskustva u Tapestry. Ali, evo da probam ja ono što znam ili sam primetio u dosadašnjem radu. Kada ga provališ, Tapestry je prilično produktivan za razvoj. Ono što se često navodi kao njegova prednost je što ne koristi JSP već obične HTML template u koje se umetnu specijalni tagovi koje su za Tapestry znak da tu treba nešto dinamički da popuni. Sam taj koncept je koristan u slučaju kada imaš pravog Web dizajnera, koji može da ti kreira HTML stranice a da ti samo ubaciš tagove i isprogramiraš Java klase, jer je stvarno moguće potpuno razdvojiti posao dizajnera od programera.

Tapestry nije baš jednostavan za učenje, barem verzija koju sam ja koristio. Ono što mi se nije sviđalo je bila potreba da se za svaku stranicu pravi poseban konfiguracioni fajl kao i java klasa. Ako se dobro sećam, najavljivali su da će to biti promenjeno u nekoj novoj verziji (ne sećam se kojoj, tako da verovatno to više nije slučaj). Takođe, klase koje praviš morale su biti apstraktne pa je tesitiranje malo nezgodno.

Što se tiče performansi, nisam primetio da je bilo ko to pominjao kao problem, tako da mislim da radi OK, i postoji lista prilično velikih sajtova rađenih u Tapestry.

S druge strane, znam da je pre par godina bilo u toku portovanje www.theserverside.com sajta na Tapestry, i da je jedno vreme sajt i radio sa njim što je bila velika reklama za Tapestry u to vreme. Međutim, bilo je dosta problema sa tim portom i mislim da je na kraju sve stopirano i da se odustalo od tog portovanja. Ne znam da je problem bio u Tapestry ali je sve to prilično loše izgledalo za njega. Evo komentar HLS na tu temu http://tapestryjava.blogspot.c...verside-software-problems.html
 
Odgovor na temu

qpele
Predrag Spasojevic
Yugoslavia

Član broj: 1082
Poruke: 23
82.117.206.*

ICQ: 12529294


Profil

icon Re: Apache Tapestry framework29.06.2007. u 18:18 - pre 203 meseci
Citat:
sanchi:

Wicket izgleda simpaticno, ali ja bih uvek pre izabrala Tapestry za ozbiljan veliki projekat.


Zasto?
 
Odgovor na temu

[es] :: Java :: Apache Tapestry framework

[ Pregleda: 3317 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.