tags:

views:

778

answers:

8

We're starting a large web project, mostly green field. I like the Tapestry framework for java/web solutions. I have concerns about starting a Tapestry 5 project since T5 is still in beta. However, if I understand the documentation correctly, T4 development will not be supported by T5 and up. My question: Should I begin a large project for a large company with T5? If not, with the imminent release of T5, should I ignore T4 altogether?

+3  A: 

T5 is in the last beta, the next release is RC, and then the full release. according to howard, things should be done by the end of october. so, if you're starting the project, i believe the framework will catch you with its release.

another thing, the betas are pretty quality products, howard does the great job with his framework. at my now previous company, there is a project started in september based on tapestry 5, a colleague managed to get a working example pretty quickly and it seems okay. we worked with tapestry 4 on a previous project, and when the question raised about which version to choose, the fact that T4 will be abandoned in favor of T5, and much changes in the framework concept itself, the counclusion was it's much better for a developer new in tapestry to learn new version immidiately (also, if i were to stay, i was interested in switching to T5 also as soon as possible, because i see a quality improvement in the T5 concepts compared to T4 which i worked with).

of course, you have your deadlines and project limitations which you have to take into account. if it's rather flexibile, or long-lasting project, maybe get a quick start of T5 for a week, and then decide based on your experience with it.

zappan
A: 

As zappan said, you should consider T5 if your project delivery (LIVE/RELEASE) date is several months ahead. Especially since T5 is not released yet -- which leads to the expectation that there will NOT be too many people who will have experience with it.

Then again, if your project is NOT mission critical and can suffer some delays to the LIVE date, it should NOT hurt.

anjanb
A: 

Reading through Tapestry user mailing list, there still appear to many rough edges. T5 is impressive when you run through the demo, but I'd wait a while before considering using it for production. http://www.nabble.com/Tapestry---User-f340.html

Paul Croarkin
A: 

I don't think I can recommend a beta solution to a high profile app like this, but I'm also leaning against T4 because the upgrade path will be slammed shut upon the release of T5. Do you agree?

It does seem to be the norm that with every major release of tapestry, any backwards compatibility is dropped. It's the primary reason I wouldn't use Tapestry for anything serious.
skaffman
yes, there is this problem of dropping the back-compatibility. but i believe, the way which the T5 is laid out that it will be a long lasting release, or possible T6 will keep the concepts introduced in T5 so that the transition won't be as much of a problem as before.
zappan
Why do you believe that? Yesterdays weather
Stephan Eggermont
A: 

I'm currently using T5 in a project that is about to go live with the beta version, which is not exactly what we intended - we thought the first release would be out by now. T5, IMHO, is stable and mature, apart from a few rough edges and a rather small community.

If you're only getting started, I wouldn't bother using T4. I found T5 quite elegant and fun to work with, so if you have some time before the planned release, go for it!

Henning
+2  A: 

You should take a very good look at the development history of Tapestry before committing to use it. Tapestry has done a lot of non-compatible upgrades, with no continuation of support of older versions. Patches to 4.1 are not processed anymore within a reasonable timeframe. That is in my point of view not acceptable for the official stable version.

Committing to use Tapestry 5 means:

  • you should become a committer;
  • you need to keep up with all new development, abandon old versions as fast as possible;
  • maintain stable versions yourself.
Stephan Eggermont
+5  A: 

This question is moot now; Tapestry 5.0.18 was released on Dec.12 and it's the stable production-ready release, so nobody has to worry about using Tap5 before production anymore... just upgrade from whatever 5.0.x you're using to 5.0.18.

WARNING: If you're still using 5.0.15 then maybe you will have to modify some stuff around. I had 2 problems upgrading from 5.0.15 to 5.0.17: one is that any fields marked as @Property must not have any accessors; if you have an accessor for a @Property field you must remove the @Property tag and implement both accessors if you need them. The other one was that the page classes are no longer packed in their own jar file (this only applies to newly created projects), so if you need your pages to be in their own jar file (for whatever reason), you must modify your pom.xml to add the archiveClasses to the maven-war-plugin plugin.

Chochos
A: 

Tapestry 5 is awful. Productivity plummets, there are memory leaks. It profiles very badly for heap size and the older object generations in GC. It does not scale for large numbers of users due to use of sessions everywhere. It is very badly documented, poorly suppurted with a tiny number of commiters. The code base quality is very low with non standard looking code. I woudl avoid it like the plague. I worked with it for 6 months on a very high profile project that was eventually canned at the expense of multi million pounds. T5 was not responsible for that but had its part to play by bringing developer productivity to zero.

With wicket and grails and Spring MVC and Struts2 why on earth woudl you risk anything on this also ran framework?

Dude-its in BETA. BETA means there are issues like memory leaks still to be fix. As far as Struts -- yech!
Pat