Creator of the Apache Tapestry web application framework and the Apache HiveMind dependency injection container. Howard has been an active member of the Java community since 1997. He specializes in all things Tapestry, including on-site Tapestry training and mentoring, but has lately been spreading out into fun new areas including functional programming (with Clojure), and NodeJS. Howard is a DZone MVB and is not an employee of DZone and has posted 80 posts at DZone. You can read more from them at their website. View Full User Profile

Announcing Apache Tapestry 5.3

11.28.2011
| 5776 views |
  • submit to reddit
The Tapestry Team is very proud to announce the availability of Apache Tapestry 5.3, featuring performance improvements, decreased memory utilization, new components, and over 270 bug fixes, improvements, and other changes.

Tapestry is primarily available for download via Maven, from the Maven central repository:

  <dependency>
    <groupId>org.apache.tapestry</groupId>
    <artifactId>tapestry-core</artifactId>
    <version>5.3</version>
  </dependency> 

You can also download the source or JavaDocs archives.

Tapestry 5.3 represents nearly a year of effort, and includes over 270 bug fixes, improvements, and other changes. Full details are in the release notes, but here's a few highlights:

  • Improved performance: very large sites will see a 30 - 40% improvement in throughput
  • Decreased memory footprint: about a 30% decrease in memory utilization over 5.2
  • New components and services to support user alerts and notifications
  • Improved a simplified support for partial page rendering inside Ajax requests
  • Automatic JavaScript and CSS minimization (via YUICompressor)
  • Component reference details integrated into JavaDoc
  • Improved Maven quickstart archetype
  • Skinning and themeing support
  • Improved client-side presentation of server-side exceptions during Ajax requests
  • New components, including Ajax-enabled Tree, and Kaptcha
  • HTML5 Doctype support
  • Support for JSR-330 injection annotations

In addition, 2011 marked an often intense effort to improve, revise, and expand the Tapestry web site.

We've made great efforts to ensure that the upgrade from 5.2 to 5.3 is as painless as possible. Please read the upgrade notes carefully as some interfaces and methods that were deprecated in Tapestry 5.0 or 5.1 have been removed: you should recompile and retest your application after upgrading your dependency. If you still have problems, use the Tapestry user mailing list to get support.

0
Average: 4.9 (16 votes)
Published at DZone with permission of Howard Lewis Ship, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Denis Mccarthy replied on Wed, 2011/11/30 - 1:30pm

Congrats Howard. Tapestry 5 is the most elegant, best designed and carefully thought through framework I've come across. A pleasure to use.

Chris Collins replied on Wed, 2011/11/30 - 1:58pm

Congrats Howard and the army of people that put this together.  I have been working with pre-release versions of 5.3 for several weeks now and the new features and improvements are exciting.  What also I want to thank the team for is their responsiveness in dealing with feedback.  You can have a great project, but when you have a vibrant team that responds quickly to issues, suggestions and general enquiries you get an AMAZING project!

Dragan Sahpaski replied on Wed, 2011/11/30 - 2:31pm

Congratulations to the Tapestry team. From my experience I've been using tapestry 5.3 from the early alpha stages (actually before it even the alpha, beta, rc terms where even applied to the tapestry naming), and I can say it is very stable thanks to the great code coverage by tests and the excellent architecture of tapestry itself. Thanks to all the contributors.

Chris Kö replied on Wed, 2011/11/30 - 3:03pm

Good to hear - thanks to all the committers!!

At Porsche Informatik, we've been using Tapestry since 4.1 and Tapestry 5 since early betas. We always try to use the latest version and since the 5.0 release that's usually only replacing the versios in the pom.

David Canteros replied on Wed, 2011/11/30 - 3:20pm

Excelent framework! It makes develop more fun!
I met him recently, since last year, and now i have many applications developed with Tapestry 5.2.6. Now I'm migrating to version 5.3 without problems. I'm waiting for use the new components...
Regards!

Greg PT replied on Wed, 2011/11/30 - 8:28pm

I've been using Tapestry since version 4. It rocks. I love the speed of development and also the performance of the finished application.

Jonathan Barker replied on Thu, 2011/12/01 - 12:18am

A pleasure to use since I started with 4.0  Beautifully designed and it just keeps getting better, as does the community.  My latest large project is being developed on 5.3 and expect some older applications to be upgraded in the new year.  Amazing - nothing less.

Laurent Guerin replied on Thu, 2011/12/01 - 3:57am

Bravo, This is a really good new.

Once again, this new version of Tapestry brings lot of perspectives and many fun new features.

It's a real pleasure to work with every day.

Congrats for all the Tapestry team!

Andy Blower replied on Thu, 2011/12/01 - 11:19am

 

With this release Tapestry got a lot better.  Great release guys.

Barry Books replied on Thu, 2011/12/01 - 4:39pm

I've been using Tapestry since version 3 and every version gets better. I migrated a couple of sites to 5.3 the day it came out.

Sven Homburg replied on Thu, 2011/12/01 - 6:21pm

Since Tapestry 5, web application development is fun. But not only creatiing web application is more robust! Thanks Tapestry IOC, my nightly jobs runs more reliable!

For german interested people, have a look for Tapestry in action: a pre-alpha order management

http://jumpin-chillis.com/craftsman

Robert Baker replied on Thu, 2011/12/01 - 5:12pm

Looks like a great release, I'll be glad when we are able to upgrade. One thing about Tapestry 5 that I have noted in the past two years working with it is its tight integration with its dependency injection framework (which in my eyes is a very good thing). It has the effect of making many of the framework services, such as the request pipeline, configurable out of the box. It also nudges you as a developer into making your additions more modular, since the DI framework is available for your application code to use as well, and you can inject the specific bits you need for the task at hand. (The downside is it takes a different mindset, and some parts can be difficult to wrap your head around!) Here's hoping the next release includes more great components as well as the client-side API.

Howard Lewis Ship replied on Thu, 2011/12/01 - 5:15pm

I'm working on a lengthy blog post about where I want Tapestry to go in the future; much of it stems from a discussion I had with Robert Baker while doing on-site Tapestry training at Clemson University.

Jon Williams replied on Thu, 2011/12/01 - 5:17pm

I've been using Tapestry since version 3. One thing people moan about with Tapestry is that major API changes came annoyingly with major Tapestry version updates. Since 5.0, through 5.3 and forevermore this is no longer a legitimate claim. Mr. HLS has given his word that while the team will continue to refine the inner workings, the programming API will maintain backwards compatibility. Tapestry 5.3 is the smartest choice for open source Java web applications. From a simple contact manager up to Fortune 100 enterprise size applications, you can rest assured Tapestry is the fastest, safest way to develop. If you have yet to try Tapestry 5.3, please give it a test whirl on a small project and see if you like it as much as I do.

Norman Franke replied on Thu, 2011/12/01 - 5:18pm

I've been using Tapestry since version 4.1 or so. I've enjoyed the 5.x series much more, since doing just about anything requires less coding on my part. (And no annoying XML configuration files!)

 I hope to move my very large (300+ pages) version 5.2 app to 5.3 in the near future, since the preformance improvements sound great. I've been very happy with how fast I can whip out very nice pages and so has my company.

Christian Riedel replied on Thu, 2011/12/01 - 5:22pm

Awesome news!

I upgraded a couple of apps to 5.3 already and mostly it's really only changing the version number and removing deprecated stuff!

Lots of handy stuff in the new release... 

You should also mention that the committers size has been more than trippled since the last release!

So thanks to all of you for the hard work!

Aaron Kaminsky replied on Thu, 2011/12/01 - 5:33pm

I have been a happy user of Tapestry from the version 3 days. I currently work with Tapestry 4.1 on some legacy applications, and I am very excited to start using this latest release for new projects. I am also planning to migrate my current applications to Tapestry 5.3 as soon as possible.

Denis Stepanov replied on Thu, 2011/12/01 - 5:38pm

We are using Tapestry 5 since first version came out, I can only say that it is the best web framework you can have on Java platform. Fast, scalable, modular, instant class reloading to be more productive without restarting server every minute.

See previous version benchmark http://www.jtict.com/blog/rails-wicket-grails-play-lift-jsp/ now its even faster!

Joost Schouten replied on Thu, 2011/12/01 - 7:03pm

We started using Tapestry from version 5.0.6 a couple of years ago and were immediately sold. Now at 5.3 it has matured fully and provides us with a framework that is flexible, bloody powerful and performant, super fast to develop with (due to live class reloading) and is extendable in a way I have not yet seen before. I'm a firm believer developers should develop with the frameworks they like and are comfortable with. But when asked I will always make a stong case for Tapestry and would like to invite everyone to have a go at it if you have not already. I just love it!

Otengi Miloskov replied on Thu, 2011/12/01 - 9:05pm

I used T4 and it was great but then came T5 looked awesome, I used since the alphas the problem was that Tapestry always broke backward compatibility but Mr.Howard repeated many times that will not happen again but right now Im using JSF2 with primefaces but this weekend I will give a try to T5 to see if can help me on somethings that JSF2 lacks and maybe I port an app to T5.

Bryan Lewis replied on Fri, 2011/12/02 - 8:42am

My company has been using Tapestry for eight years.  We've developed a dozen internal and external web apps and we've been very pleased with the speed of development and reusability across apps.  Tapestry 5's hot-swapping of code changes rocks!  The platform has also been very stable and performant (if that's a word).  Looking forward to the easy upgrade from 5.2 to 5.3.

 

Howard Lewis Ship replied on Fri, 2011/12/02 - 1:30pm in response to: Otengi Miloskov

Don't take my word for it ... here and on the mailing list we discuss backwards compatibility; it's always a challenge to add new features without breaking backwards compatibility; the design of Tapestry 5 was organized to allow this, by avoiding common problems such as the fragile base class issue. It's never perfect (in Tapestry, or in any other project), but for the majority of users, yes you can upgrade just by changing your dependency and not changing your code at all. The only issue we're seeing is that some important 3rd party libraries make use of internal Tapestry APIs that may change between releases. Tapestry puts all such "off limits" code inside a .internal. package, but sometimes people use those anyway. We've been trying to encourage 3rd party library authors to communicate with the Tapestry developers when they feel the need to use internal APIs so that we can create stable public facade APIs they can use with confidence instead.

George Ludwig replied on Sat, 2011/12/03 - 2:38pm

Congrats on the new release! I selected Tapestry for a ground-up build of my company website, and I've been very happy with the results and the time-to-market. The community surrounding Tapestry is active and helpful. This is really a great accomplishment.

Emmanuel Demey replied on Sun, 2011/12/04 - 5:56am

Thanks for all the Tapestry Commiters !! We use the Tapestry framework for a lot of project !! Easy to create a Web App !!!! Congrats. Manu

Angelo Chen replied on Mon, 2011/12/05 - 10:43am

Started using tapestry 5 when it was still in alpha, as a java beginner I have grown up with Tapestry5, learnt Java and Tapestry 5 same time. It's easy for beginners, and you can explore some more when you are more experienced, good for different level users. I'm very satisfied with Tapestry5. in addition to the framework itself, I found the community very helpful, I really learnt a lot of things from them, it's really a good framework with a very supportive community. one issue is, the backward compatibility, since I started with Tapestry 5, I do not encounter any issues on this aspect, from 5.1 to 5.2 and now 5.3, all are just a version number change in pom.xml.

Taha Siddiqi replied on Mon, 2011/12/05 - 11:18am

For me Tapestry is not just a framework, it is a reference book. Just dig into the source code and you will become a better programmer. 

 

  1. You see the latest features of java being used in the most comprehensive way.
  2. The code is like a perfect implementation of Clean Code: http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882.On second thought, it is better.
  3. If ever you want to learn Design Patterns, just look for them in the source code : the ChainBuilders, StrategyBuilders, PipelineBuilders etc
  4. You want to learn Class transformation and byte code generation, checkout the Plastic module on which the new Tapestry 5.3 is based.
 Also the kind of support mailing list provides is awesome. You have not even read the whole question and the answer is already in your mail box especially our Automatic answering machine, Thiago (http://tapestry.1045711.n5.nabble.com/template/NamlServlet.jtp?macro=user_nodes&user=89990 )    

 

Chris Mylonas replied on Mon, 2011/12/05 - 2:49pm

Congratulations - that is an impressive list of release note changes!!! If it were not for Tapestry, I would still be doing web development in PHP. Tapestry has enabled me to get java web development kick started for my existing projects and allowed me to control the web stuff within the same JVM. I look forward to using 5.3 for the added javascript functionality and a start on HTML5 for the new year. Thanks Howard and the Tapestry Team,

Adam Henderson replied on Mon, 2011/12/05 - 4:48pm

Congratulations to the entire Tapestry Team, 5.3 builds on the excellent solid foundation of 5.2 and is certainly my weapon of choice when it comes to building Java web apps. I totally agree with Taha, Tapestry is the best example of how to do modern programming right and makes you think in clean logical ways. 

The other 'meta-benefit' of using Tapestry is the mailing list, lots of smart, polite and helpful people unlike some other projects I could mention.  

Highly recommended.

Muhammad Gelbana replied on Tue, 2011/12/06 - 6:42am in response to: Taha Siddiqi

Very well said :)

Massimo Lusetti replied on Tue, 2011/12/06 - 9:08am

I'm using Tapestry5 for a wide variety of jobs from data crunching machine to high dynamic web sites and it simply just works. It has proven to be rock solid and very high performance peace of software plus it's always nice to play with it.

The IOC is very flexible and helps you a lot shielding your code using best practices all over. Using it with the not-so-new nosql world and memcached-stuff is a perfect fit.

Going back to have fun writing code

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.