started as a blog as an ode to my lappie Delta, now has become part of my usual weekly activity.




Sunday, April 22, 2007

Tapestry 5 is Starting to be a Pain in the Ass!

[Mood] >( (Pain in the Ass!)



I started using Tapestry alomost a year ago with Tapestry 3. Learning the framework was a bit of a pain (it was a steep learning experience for me), but I was still able to generate pages and a site for a project. I like the idea of Tapestry having its presentation layer in plain HTML with with additions of custom tags from their tag libraries to implement loops, output data and alot of other stuff. I was already accustomed to how T3 worked. Then I stopped developing in T3. And now, enters Tapestry 5. It's a big big difference from T3. Alot of the old implementation has been modified. And what little Tutorials they had for T3, they now have less for T5. I'm pretty damn lost in T5. It's hard to unlearn what you got used to in T3. what sucks even more is that the official tutorial doesn't work anymore since they made code changes again in the snapshot build (where the tutorial relies). Arggghhhh!!! Now, I've been thinking if it's even worth it to learn T5 or just go RoR since I've started learning parts of it.

Here's what I like about Tapestry that still wants me to continue learning the new implem:

* HTML frontend (almost seperates entirely the presentation from the logic. a true view-controller division)
* A J2EE framework (at least I wouldn't need to learn a new language)
* Since it's Java based, alot of ready options are available for connectivity, AJAX, image handling, XML parsing, etc...
* I'm not a benchmarker, but i'd say my experience with Tapestry proves it's a reliable framework
* I like thee idea of less XML compared to other frameworks

What I don't like:

* Too many dependencies
* We all know that Java is beginning to bloat. It's a heavy weight. Some say, it's beginning to be outdated.
* Many new things to unlearn and learn



Here's what I like about RoR and why I'd like to learn more:

* Ruby is an interesting language. new and promising. It features duck typing, something weird and fun at the same time.
* RoR promises fast development
* I've been using RoR at work (forced to do so), but primarily on the presentation layer only. sometimes, I tinker with the controllers. hahaha.
* Hence, would help me be more efficient at work.
* Core Ruby code is purportedly lightweight
* I've read that J2EE developers are shifting gear to RoR. Could just be novelty.

What I don't like:

* Group base is still not that big. support may be hard
* the presentation layer is in RHTML and reminds me of JSP implementation. Code snippets all around the HTML code. and partials tend to be misused and abused.


RANT SEGWAY MUNA AKO:

I stumbled on http://radar.oreilly.com/archives/2005/06/ruby_on_rails_a.html, and found that people tend to expect too much from their designers. If you want them to be super designers, better get out of your programming job and let them take your place. FYI, changing mindset from presentation to logic isn't easy. Code-in-HTML is a pretty crappy process. when your application bloats, it tends to become a mess in your presentation layer. Not a pain in the ass for the programmer but for the UI person. What every developer must understand is that presentation is not as easy as everybody thinks. The complexity of managing HTML code with scripting language code with Javascript with Flash and other media and CSS isn't very elementary. Take note, I'm just implying that both business logic and presntation layer development is challenging. Please don't undermine the work we do. Trust me, you don't know much of what we do.



BACK TO THE TOPIC:

Anyway, so I'm faced with this problem. So if I can't learn T5 by tonight, I'm shifting to RoR even though it hurts the web designer in me. hahaha. Atleast it will help me in the job.



Though Chain: Is there an RoR presentation layer framework that does things like T5?

11 Comments:

Blogger Yohan Yudanara said...

This comment has been removed by the author.

9:29 AM

 
Blogger Yohan Yudanara said...

Now, I'm using T4, T5 new features look good for me.

But, I'm disappointed about so few tutorial and books about it.
According to Matt Raible's blog, T5 also have a very small number of users:
http://raibledesigns.com/rd/entry/what_web_framework_are_you

On the other hand, I think technically Tapestry 5 is a very good web framework design

9:31 AM

 
Blogger ascii said...

Thanks for your insights Yohan. Yeah, I do think Tapestry 5 is a very good framework. I just don't think I have the time to learn T5 (coming from a T3 perspective). I just hope they'd update the tutorials and make it less tightly knit with the favored app helpers (for one, I'm a big fan of Tomcat as a choice of container). Right now, I've paused a bit from this and focused back to work since I have deadlines to finish. Which means, I'm forced to learn more RoR. :)

1:51 PM

 
Anonymous Anonymous said...

totally agree! Tapestry 5 looks so promising, but the reality is I have a project to deliver and there isn't enough resources to learn T5 (and barely enough for T4 at that). I would love to be able to use it, but its not ready yet. And whats worse, the updates are sooo slow to come out. Tapestry 5 needs more developers, I don't think Howard can do this alone!

8:38 AM

 
Anonymous Anonymous said...

I agree as well, Tapestry 5 looks *extremely* promising. I used Tap3 & Tap4 before hand, and so the transition wasnt as harsh as one from only Tap3. Im currently using Tap5 to develop a database centered webapp. I think the learning curve, although steep, is well worth it in the end.

2:02 AM

 
Anonymous Anonymous said...

i'm using tapestry 5 now. admittingling, i haven't gotten too in depth yet (no injection of control yet). but, as a mvc goes, it is really nice and super easy to learn as opposed to tapestry 4 (which i've used for about a year... hivemind both cool and verbose). bottom line, if you want to get an app out fast that is reliable, the framework is nice. i am using spring for hibernate transaction control, which also integrates nicely.

7:47 AM

 
Blogger Orbnubbins said...

On the topic of there being so few Tapestry 5 users out there, I feel you! I work for a technical solutions and staffing firm and I'm looking for a Tapestry Engineer for a client of mine in San Francisco, there aren't many out there! If you guys know anyone who may be interested in some contract work, have them look me up.

Orben Frederick
Cypress HCM LLC
415-394-6416
ofrederick@cypresshcm.com

2:55 AM

 
Blogger Pawan Kumar said...

T5 is really an awesome framework. I have worked on TurboGears (python) but T5 has lot more separation of concerns and good concepts that you can do really great application without knowing too much of JS:-). I agree that there are not much tutorials available but screencasts help a lot. There are some more screencasts at blip.tv. Enjoy!

3:25 PM

 
Anonymous Anonymous said...

Two years later and the documentation is still fucking shite. Worst documentation of any project I've ever used.

The productivity it provides in terms of rapid prototyping and separation of view from code is waaayyyy offset by the amount of hours wasted finding out how to do the most trivial thing because the doco is organised by a total fucking spastic harebrain and written by 3 monkeys on 2 broken typewriters.

7:24 PM

 
Anonymous Anonymous said...

Oh .. PK

Screencasts are TERRIBLE substitutes for searchable organised documentation. Write fucking documentation not dribble out basic how-to video that covers the same ground as every other basic T5 tutorial out there. FFS.

7:26 PM

 
Anonymous Anonymous said...

t5 is PITA for sure...since it throws away other frameworks (jsp) and is too complex (page event lifecycle turns http request-response into super duper doodoo storm) and it has crappy mvc support for very basic html widgets like selects...i predict it will be on the garbage heap of technologies...i do like a lot of the things you mentioned...but if you can't KISS, then kiss your technology gravy train goodbye mates !

7:27 AM

 

Post a Comment

<< Home