672329 members! Sign up to stay informed.

Sponsored Links


Resources

Enterprise Java
Research Library

Get Java white papers, product information, case studies and webcasts

News News News Messages: 27 Messages: 27 Messages: 27 Printer friendly Printer friendly Printer friendly Post reply Post reply Post reply XML XML XML

Tapestry 5.0 Final Release - 5.0.18

Posted by: Howard Lewis Ship on December 18, 2008 DIGG
After nearly three years of development, the final release of Apache
Tapestry 5.0 is now available for download.

Apache Tapestry 5 is a total rewrite of the Tapestry web application
framework, bringing forward Tapestry's core concepts: reusable
components, true encapsulation, readable templates, well thought-out
localization/internationalization, and easy management of server-side
state.

Tapestry 5 builds on top of this with a host of new features:


  • True POJO component classes: no base classes to extend, no
    interfaces to implement.
  • Live class reloading: no need to redeploy to see code changes.

  • XML templates with namespaces.

  • Minimal configuration via naming conventions and annotations.

  • Integrated Ajax support, built on top of Prototype and
    Scriptaculous.

  • Automatic client-side form input validation.

  • High performance via pooled objects (and by avoiding the use of
    reflection).

  • Automatic REST-style URLs.

  • Built-in integration with Hibernate and Spring.

  • Best-of-breed exception reporting.

  • Built-in extensible mega-components: BeanEditForm, BeanDisplay and
    Grid (to edit and display any JavaBean or collection of JavaBeans).


Tapestry organizes your application into pages, and components within
pages; pages and components are ordinary POJOs: not singletons (like
servlets). Tapestry combines pages, page templates, components,
component templates, and other resources together for you, managing
server-side state, the creation of URLs and the dispatch of incoming
requests. You build your application in terms of the methods and
properties of your objects, not in terms of URLs or the Servlet API.

Tapestry features great exception reporting to keep you on track, and
live class reloading to keep you agile. Tapestry templates are XML
documents, using a namespace for Tapestry-specific elements. Tapestry
is designed to be easy to develop, using any standard IDE with an XML
editor.

Tapestry is simple, sensible and fun. It keeps you productive by
freeing you from the boring, mechanical aspects of web application
development. You can stay focused on what makes your application
interesting and unique, and let Tapestry handle all the ugly plumbing.

Tapestry is made available under the Apache Software License 2.0.
Tapestry is free to download, free to use, free to redistribute and
free to modify.


Tapestry 5.0.18


Threaded replies

·  Tapestry 5.0 Final Release - 5.0.18 by Howard Lewis Ship on Thu Dec 18 07:32:59 EST 2008
  ·  Re: Tapestry 5.0 Final Release - 5.0.18 by michele michele on Thu Dec 18 08:53:01 EST 2008
    ·  Re: Tapestry 5.0 Final Release - 5.0.18 by Otengi Miloskov on Thu Dec 18 09:40:11 EST 2008
      ·  Re: Tapestry 5.0 Final Release - 5.0.18 by Matt Raible on Thu Dec 18 11:45:23 EST 2008
        ·  Re: Tapestry 5.0 Final Release - 5.0.18 by Otengi Miloskov on Thu Dec 18 12:23:09 EST 2008
        ·  Re: Tapestry 5.0 Final Release - 5.0.18 by Howard Lewis Ship on Thu Dec 18 13:02:22 EST 2008
        ·  Re: Tapestry 5.0 Final Release - 5.0.18 by Justin Lee on Thu Dec 18 13:39:14 EST 2008
        ·  Re: Tapestry 5.0 Final Release - 5.0.18 by Freddy Daoud on Thu Dec 18 13:44:53 EST 2008
        ·  Re: Tapestry 5.0 Final Release - 5.0.18 by Igor Vaynberg on Thu Dec 18 13:55:28 EST 2008
      ·  Clean Code Rules by Harry Haller on Thu Dec 18 12:16:31 EST 2008
  ·  Re: Tapestry 5.0 Final Release - 5.0.18 by Faro G on Thu Dec 18 10:05:00 EST 2008
    ·  Re: Tapestry 5.0 Final Release - 5.0.18 by Joshua Long on Thu Dec 18 12:42:12 EST 2008
  ·  A gem of a web framework by Peter Stavrinides on Thu Dec 18 12:29:45 EST 2008
  ·  Happy user inside by José Paumard on Thu Dec 18 12:39:14 EST 2008
  ·  Thing I do not like in Wicket by Faro G on Thu Dec 18 14:19:23 EST 2008
  ·  Re: Tapestry 5.0 Final Release - 5.0.18 by Andrew Fortier on Thu Dec 18 14:52:24 EST 2008
  ·  Re: Tapestry 5.0 Final Release - 5.0.18 by Malcolm Edgar on Thu Dec 18 16:54:50 EST 2008
  ·  As if rewrite is a good thing *eyeroll* by Wayland Chan on Thu Dec 18 22:20:29 EST 2008
    ·  Backwards Compatibility by Howard Lewis Ship on Thu Dec 18 23:48:13 EST 2008
      ·  Re: Backwards Compatibility by Jan de Jonge on Fri Dec 19 02:27:14 EST 2008
        ·  Jan the Troll by Craig Margenau on Sat Dec 20 01:44:36 EST 2008
      ·  Re: Backwards Compatibility by Otengi Miloskov on Tue Dec 23 12:13:59 EST 2008
  ·  2 years too late by tom tarb on Fri Dec 19 10:17:24 EST 2008
    ·  Good work Howard by David Channon on Fri Dec 19 18:01:52 EST 2008
  ·  Congratulations to the Tapestry team by Martijn Dashorst on Sat Dec 20 03:36:28 EST 2008
  ·  Deserved by Massimo Lusetti on Sat Dec 20 07:33:23 EST 2008
  ·  Re: Tapestry 5.0 Final Release - 5.0.18 by sun quanzhi on Mon Dec 22 21:21:16 EST 2008
  ·  Re: Tapestry 5.0 Final Release - 5.0.18 by Shahzad Masud on Tue Dec 23 07:49:50 EST 2008
  Message #284947 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Tapestry 5.0 Final Release - 5.0.18

Posted by: michele michele on December 18, 2008 in response to Message #284704
I've been used Tapestry 4 and I was impressed by its complexity...
Now I've taken a look to Tapestry 5, I know it is simpler, but still not easy.

Now my definitive choice is (without doubt) Jboss Seam + Jboss RichFaces.

IMHO Seam is very easy and intuitive to use.
Moreover it is significantly integrated with:
- Hibernate connections;
- Transactions;
- page flow;
- jsf (it is a popular standard....).

bye.

  Message #284958 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Tapestry 5.0 Final Release - 5.0.18

Posted by: Otengi Miloskov on December 18, 2008 in response to Message #284947
I used Tapestry 5 in one project all this year and Tapestry 5 have neat ideas but if I compare with Wicket, Wicket is more pragmatic and more complete featured framework.

I think after used both frameworks I can say that my vote goes to Wicket and for the next projects Wicket will be the choice.

The problem I see with Tapestry5 is as many people said the backwards compatibility that is a pain in the neck and it is also one man show, so the development and maintenance of the framework is to slow, in contrast Wicket is pretty quickly and have more momentum right now than Tapestry 5 and also Wicket it is supported as first class in Seam.

Action based I will use Stripes, Component based Wicket.


2c.

  Message #284960 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Tapestry 5.0 Final Release - 5.0.18

Posted by: Faro G on December 18, 2008 in response to Message #284704
Tapestory has always been inspiration for many web frameworks.

I will like someone view on how features of JSF 2 + SEAM (using RichFaces or IceFaces) compares with Tapestory.

JSF 2 has template based approach using Facelets, Easy Component development (EzComp) + Ajax standardized (AJax4Jsf) + PDL + Resource Bundling for Skinning + BookMarkable URLs(SEAM) + Conversational scope(SEAM, Bean Outjection) and many other features.

With SEAM +Hibernate and Spring integration it seems to be promising.

Infact we finished a big project with many CRUDS and some dashbboards using Faceletts and RF and SEAM and it was pretty impressive.

Many vendors contributing to custom component like JBoss,IceFaces, IBM, Oracle, BEA.

Also clear specs on Portal Integration JSFPortalBridge how does this compares to now Tapestory. Looking for some good comments.

  Message #284971 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Tapestry 5.0 Final Release - 5.0.18

Posted by: Matt Raible on December 18, 2008 in response to Message #284958
I've been using Tapestry 5 for about a week and I like what I see so far. It's unit testing support could use a little work (http://www.nabble.com/-T5--Testing-Pages-with-injected-Spring-beans-tt21057429.html), but that's to be expected for a newly released version.

As far as Wicket, I like it too, but it seems to require quite a bit more code. Compare the same form implemented in Tapestry and Wicket.

Tapestry 5.0.18: http://source.appfuse.org/browse/~raw,r=165/appfuse-light/trunk/tapestry/src/main/java/org/appfuse/web/pages/UserForm.java

Wicket 1.3.5: http://source.appfuse.org/browse/~raw,r=151/appfuse-light/trunk/wicket/src/main/java/org/appfuse/web/pages/UserForm.java

Then again, it's even simpler with Stripes 1.5. ;-)

http://source.appfuse.org/browse/~raw,r=161/appfuse-light/trunk/stripes/src/main/java/org/appfuse/web/UserFormBean.java

Of course, if any of these examples can be implemented with less LOC, I'd love to hear about it.

  Message #284979 Post reply Post reply Post reply Go to top Go to top Go to top

Clean Code Rules

Posted by: Harry Haller on December 18, 2008 in response to Message #284958
I like to work with Tapestry a lot. I hate to write infrastructure code or keep xml-files in sync with Java code to make my app work. Tapestry spares me that and does this better than the other Frameworks I know (Struts 1&2, MyFaces). You will be amazed at how clean webapp code can be.

Compared to tiles it is extemely easy build up a common site layout and throw in dynamic data where needed. It is also very easy to implement one´s own components. The use of Tapestry´s ioc-container came very natural to me. No difficulties with that either.

That being said, I have to admit that it took me quite some time to understand what I consider the advanced parts of Tapestry. But that was the case with the other frameworks too (maybe it´s silly me ;-)).

Disagreeing with Otengi I cannot say Tapestry is a one man show. Although I do not know who is writing the actal source code, on the mailing list lots of members are very active in helping each other.

  Message #284978 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Tapestry 5.0 Final Release - 5.0.18

Posted by: Otengi Miloskov on December 18, 2008 in response to Message #284971
@Matt, Maybe with Grails can be the shortest LOC, Kind of the Stripes one but without setters and getters, without declaration of types and Dao beans and the validation it can do it at the domain.

  Message #284980 Post reply Post reply Post reply Go to top Go to top Go to top

A gem of a web framework

Posted by: Peter Stavrinides on December 18, 2008 in response to Message #284704
I have no doubt there are other very solid Java frameworks out there, but I have been extremely happy with this version of tapestry... there was a time I could have abandoned Tapestry, but now I am glad I stuck with it. I have been using version 5 from first Alpha until present, so have had the pleasure of experiencing its evolution from the outset.

I have to say Tapestry 4 was overall a decent web framework, but I had a love hate relationship with it, but Tapestry 5 surpasses anything else I used in the past. The most commendable attribute is its simplicity, its learning curve is greatly reduced from Tapestry 4 so it is suited to even novice Java programmers. Anyone who has used Tapestry 5 in anger knows how little code you need to write to wire together a web application, I highly recommend it.

Peter

  Message #284981 Post reply Post reply Post reply Go to top Go to top Go to top

Happy user inside

Posted by: José Paumard on December 18, 2008 in response to Message #284704
I've been using T5 for over a year now, on 3 different projects, of various sizes and scopes.

The learning curve might seem a bit steep, but once you get into the philosophy of the framework, you discover that everything is very logical, very well made, and very well organized. Writing pages, assembling components, developping services, everything becomes very fast to write. Prototyping an application can really be made very quickly. The use of true POJOs, annotated methods to be called on form actions, etc... Once you've begun to use that, you dont want to use anything else.

I had no problem about the stability of the framework. There was a big effort made to support UTF-8, and everything works flawlessly for me (one of my apps has a bibliography DB that uses arabic, greek and russian references, no kidding).

I am a very happy T5 user, and will continue to use and promote it for my future projects, no doubt about it.

  Message #284984 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Tapestry 5.0 Final Release - 5.0.18

Posted by: Joshua Long on December 18, 2008 in response to Message #284960
That's whats so interesting about Tapestry!

The template based approach in Facelets was inspired by Tapestry. I think Jacob Hookom would be the first to agree.

Easy component development? Again, this is something that's always been eas(ier|y) in Tapestry and that people were clamoring for in JSF. EzComponents are still not up to snuff, comparatively.

There's no conversational scope in Tapestry (though, there could be, as everything's configurable), but the idea of outjection - which is a fancy way of saying binding - was in Tapestry first. Heck, if you look at tapestry 3's out parameters, you'll see what I mean.

Bookmarkable URLs in Seam are because JSF doesn't know how to do that natively. Tapestry's has had a good story there for the last 4 years at least.

JSF and, mainly, Seam has raised the bar for some things, certainly. For example, the ajax support has always been first class. The beanform style components are amazing, too. But, even there, Tapestry has made great competitive advances.

There is a huge backwards compatibility chasm, no doubt. I understand however that will change, however. I liken it to moving from MyFaces/Tomahawk/JSP 1.2 and JSF to Ajax4JSF + Facelets and JSF: effectively, you have to rewrite it.

Ajax is standardized with Tapestry, but it'snot inextricable should you decide to go some other route. Tapestry supports Hibernate and Spring -- it's just an annotation away.

There aren't (m?)any vendors going for Tapestry, but that's because of the backwards compatibility issue. I'd like to believe people will settle on this release and start building supporting tools. In the meantime, it's refreshing to still be able to edit Tapestry pages in DreamWeaver since it's just XHTMLish content :-)

Add to all that the long standing focus on performance (Tapestry doesn't persist entire component graphs, just what's unique to the request, since the page structure itself is immutable), the elegance with which evreything's built in (When I first used JSF coming from Tapestry years ago, I didn't realize it was even an option NOT to support internationalization!)

Now, of course things have come a long way. You could do worse than to give Tapestry a shot.

Congratulations, Howard and team!

  Message #284985 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Tapestry 5.0 Final Release - 5.0.18

Posted by: Howard Lewis Ship on December 18, 2008 in response to Message #284971
I think you could cleanup the Tapestry 5 version. Is User a Hibernate entity? In that case, simply place @PageActivationContext on the user field. Also, use @Property so you don't have to write the getter.

5.1 will add the ability to "simulate" annotations on entity classes, so that you can get the equivalent of an @Validate annotation on the various fields; this will allow you to leverage Tapestry's built-in validation even when you can't put annotations right on the entity. However, tapestry5-annotations JAR is about 10KB with no dependencies.

Also:

String msg = MessageUtil.convert(messages.get("user.saved"));
String message = String.format(msg, user.getFullName());

I'm not sure what MessageUtil.convert() does, but I bet there's a way to do this via some meta-programming; i.e., an AppFuse-related annotation, not @Inject, that provides a Messages object that wraps the *real* Messages object and provides this functionality.

The UserFormBean's sub-=property validation idea is clever though. Might have to steal it in some fashion.

  Message #284990 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Tapestry 5.0 Final Release - 5.0.18

Posted by: Justin Lee on December 18, 2008 in response to Message #284971
On the wicket stuff, Matt, just a quick glance I saw one thing. You set the feedback panel visible every time you add a response and that's not necessary unless you've done something odd to your panel.

And the setRedirect() calls aren't really necessary unless you *really* want that redirect. I typically just call setResponsePage() and leave it at that.

I've been using Tapestry 5 for about a week and I like what I see so far. It's unit testing support could use a little work (http://www.nabble.com/-T5--Testing-Pages-with-injected-Spring-beans-tt21057429.html), but that's to be expected for a newly released version.

As far as Wicket, I like it too, but it seems to require quite a bit more code. Compare the same form implemented in Tapestry and Wicket.

Tapestry 5.0.18: http://source.appfuse.org/browse/~raw,r=165/appfuse-light/trunk/tapestry/src/main/java/org/appfuse/web/pages/UserForm.java

Wicket 1.3.5: http://source.appfuse.org/browse/~raw,r=151/appfuse-light/trunk/wicket/src/main/java/org/appfuse/web/pages/UserForm.java

Then again, it's even simpler with Stripes 1.5. ;-)

http://source.appfuse.org/browse/~raw,r=161/appfuse-light/trunk/stripes/src/main/java/org/appfuse/web/UserFormBean.java

Of course, if any of these examples can be implemented with less LOC, I'd love to hear about it.


  Message #284991 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Tapestry 5.0 Final Release - 5.0.18

Posted by: Freddy Daoud on December 18, 2008 in response to Message #284971
Then again, it's even simpler with Stripes 1.5. ;-)

http://source.appfuse.org/browse/~raw,r=161/appfuse-light/trunk/stripes/src/main/java/org/appfuse/web/UserFormBean.java

Of course, if any of these examples can be implemented with less LOC, I'd love to hear about it.


Hi Matt,

One small detail about your Stripes example: the @HandlesEvent annotations are all unnecessary, because by default they match the name of the corresponding method.

Cheers,
Freddy
http://www.stripesbook.com

  Message #284993 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Tapestry 5.0 Final Release - 5.0.18

Posted by: Igor Vaynberg on December 18, 2008 in response to Message #284971
Below
String message = MapVariableInterpolator.interpolate(getLocalizer().getString("user.saved", this),
new MicroMap("name", user.getFullName()));
getSession().info(message);

is just

getSession().info(getString("user.saved", new Model(new MicroMap("name", user.getFullName()));

The fragment below can go away as it is unnecessary.

FeedbackPanel feedback = (FeedbackPanel) responsePage.get("feedback");
feedback.setVisible(true);
feedback.setEscapeModelStrings(true);


Further, if you remove the inner form class with all its abstract methods you will end up with something comparable to T5 LOC-wise. That inner class was only there to improve readability for users uncustomed to anonymous class syntax. The nice thing about Wicket is that you can see everything that is going on in the page without having to look at its markup file.

  Message #284995 Post reply Post reply Post reply Go to top Go to top Go to top

Thing I do not like in Wicket

Posted by: Faro G on December 18, 2008 in response to Message #284704
Although it is a good framework, developing GUI with node centric approach (Adding parent and its child etc.) has never been successful and accepted for complex guis.

In any enterprise project you have dedicated teams for GUI designing and asking them to code GUI template is not easy.

Small pages can be created with this concept.

Just imagine modifying a complex page and adding a new table or span in it for animation, coding this change with node centric approach request is not the best way.

Facelets(JSF2) solves this problem in the best way.

  Message #284999 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Tapestry 5.0 Final Release - 5.0.18

Posted by: Andrew Fortier on December 18, 2008 in response to Message #284704
Having personally worked on four Tapestry 5 projects of significant size and scope, I can say that my experience creating solutions with T5 has been better than with any other web framework I've used to date.

While the most endearing thing about Tapestry is the level of productivity it affords, I've found that the most useful aspect of the framework is its extensibility. Its internals are extensively interfaced. Combined with the IoC, this gives you the ability to extend or modify nearly any behavior of the framework. So when a requirement comes along that falls outside of your typical web app behavior, which seems to happen more often than not, you have the tools to change the way values are persisted in the session, database interaction occurs, etc. These kinds of customizations often take surprisingly little code to implement.

  Message #285012 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Tapestry 5.0 Final Release - 5.0.18

Posted by: Malcolm Edgar on December 18, 2008 in response to Message #284704
Congratulations on the release guys, and pushing the envelope.

regards Malcolm Edgar

  Message #285615 Post reply Post reply Post reply Go to top Go to top Go to top

As if rewrite is a good thing *eyeroll*

Posted by: Wayland Chan on December 18, 2008 in response to Message #284704
Another Tapestry release announcement...another total rewrite.

*yawn*

Page us when you decide to stop redoing things ground up and decide backwards compatibility is a good thing.

  Message #285856 Post reply Post reply Post reply Go to top Go to top Go to top

Backwards Compatibility

Posted by: Howard Lewis Ship on December 18, 2008 in response to Message #285615
T5 is built for backwards compatibility; Tapestry prior was not.

For example, at this moment, I'm building in some significant performance improvements to Tapestry ... without changing any APIs or requiring any changes to user applications. You get the benefits automatically.

In the 5.1 code base, I've been adding some significant new features to the property expression language, and to the IoC container ... again, no backwards compatibility issues at all.

I'm very excited about the new features that will be coming in 5.1, 5.2 and beyond, and it will all be done in a backwards compatible way.

It's all part of the same overall design; the features Andrew was alluding to, about very specific overrides, is a native feature of the IoC container that encourages the small, simple APIs that in turn support backwards compatibility.

  Message #286582 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Backwards Compatibility

Posted by: Jan de Jonge on December 19, 2008 in response to Message #285856
T5 is built for backwards compatibility; Tapestry prior was not.

Howard,

This is exactly what you said when you were re-writing Tapestry for T4.

I'm very excited about the new features that will be coming in 5.1, 5.2 and beyond, and it will all be done in a backwards compatible way.

Ok, I believe you when you say that for the 5.x series. I know you won't say that for T6. The history of Tapestry tells us that T6 would be as usaual a re-write from scratch without any regard to backwards compatibility. One doesn't need a crystal ball to be able to predict that. And don't hit that disguising mantra of there won't be a T6. That is what you said when you were doing T4 but here we are with T5.

Jan

  Message #287462 Post reply Post reply Post reply Go to top Go to top Go to top

2 years too late

Posted by: tom tarb on December 19, 2008 in response to Message #284704
Having used T3 extensively and T5 some:

1) Some defaults in T5 make no sense (e.g. T5 tries to compute an absolute SSL URL - which breaks when the app server sits behind a web server - a very normal case).
2) Use of scriptaculous and prototype - sorry the world has moved on to JQuery
3) Programming by convention makes for writing good code, but then you need EXCELLENT documentation - far better than anything seen in most open source software. T5 pages still reference outdated versions and are woefully incomplete.

At the end of the day T5 is a one man show and that is an hinderance to progress. If you disagree, then what took T5 three years to release?

  Message #287568 Post reply Post reply Post reply Go to top Go to top Go to top

Good work Howard

Posted by: David Channon on December 19, 2008 in response to Message #287462
I think Tapestry is a great product. Used it extensively from the very early versions. I appreciate the effort Howard and the rest of the team have put into the library. I also applaud the guts to break the API as the design pushes the possibilities thus creating a superior product.

I was surprised Howard even bothered announcing it here. I would not have. Same people who have clearly made their choices (which is great) have to chime in with the same old BS and FUD.

Evaluate it; If it suites you then great feel free to use it. If something else fits better then also great. I think it is wonderful there are so many products with different approaches all providing choice.

Good work Howard.

  Message #290244 Post reply Post reply Post reply Go to top Go to top Go to top

Jan the Troll

Posted by: Craig Margenau on December 20, 2008 in response to Message #286582
Nothing but the typical bile from you, eh Jan? What is this personal vendetta that you have against Howard? Grow up.

  Message #290286 Post reply Post reply Post reply Go to top Go to top Go to top

Congratulations to the Tapestry team

Posted by: Martijn Dashorst on December 20, 2008 in response to Message #284704
It is the Tapestry community's choice to either accept the changes the team makes. I applaud the Tapestry team for daring to make such an abrupt change to the very core of their product. Not many projects would undertake such an endeavor.

I think that each product should evolve and break compatibility when it is beneficiary to the product and its users. With Wicket we break compatibility too (though admittedly not a whole rewrite of the API). We feel it is necessary to evolve into something better-less lines, less convoluted code, better naming, etc.

I think Tapestry is a great framework and with the rebirth in its 5th generation a great way to develop web applications-just not my cup of tea.

Congrats to Howard and the rest for seeing this one through-I can imagine the publicity has been rough at times.

  Message #290303 Post reply Post reply Post reply Go to top Go to top Go to top

Deserved

Posted by: Massimo Lusetti on December 20, 2008 in response to Message #284704
Great job!

T5 shows where today java is going and where JVM frameworks (not only web) will go when there will be not only Java within the JVM.

Kudos Howard.

  Message #292143 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Tapestry 5.0 Final Release - 5.0.18

Posted by: sun quanzhi on December 22, 2008 in response to Message #284704
very good,I'll try

  Message #292418 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Tapestry 5.0 Final Release - 5.0.18

Posted by: Shahzad Masud on December 23, 2008 in response to Message #284704
Looking quite promising release and feature set. Is there any place we can get a comparison matrix between other frameworks and Tapestry (Like Struts2, Spring, Wicket).

  Message #292477 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Backwards Compatibility

Posted by: Otengi Miloskov on December 23, 2008 in response to Message #285856
I know T5 to future will not broke backwards compatibility even I said that a couple of months in one thread to someone because I read your plans of how T5 was designed and is cool that T5 is already released but The problem is from T4 to T5, I have some clients asking me to port their apps from T4 to T5 and I start with one but it was hard, it is painful.

New content on TheServerSide.comNew content on TheServerSide.comNew content on TheServerSide.com

Dependency Injection in Java EE 6 - Part 2

Reza Rahman continues to explore the features of the proposed JSR 299, Contexts and Dependency Injection for Java EE (CDI). When approved, it promises to be a key feature of Java EE 6. (January 21, Article)

Ted Neward Q&A: What you must know about JavaScript, Scala and more

Ted Neward is an independent consultant specializing in high-scale enterprise systems, and an authority in Java and .NET technologies. He is the author and co-author of several books, including Effective Enterprise Java. At TheServerSide Java Symposium in March, he will be presenting sessions on pragmatic architecture, ECMAScript and Scala. (January 15, Article)

Developers split on open sourcing Java

Now that Oracle is absorbing Sun Microsystems, there mixed views on what should come of the Java Community Process (JCP). While some say Oracle should become the new steward of Java and keep the JCP much as it was, others argue that it may be time to open-source this widespread language. (November 24, Article)

Dependency Injection in Java EE 6 - Part 1

Reza Rahman explores the features of the proposed JSR 299, Contexts and Dependency Injection for Java EE (CDI). When approved, it promises to be a key feature of Java EE 6. (November 2, Article)

SAML: It's Not just for Web services

SAML is an XML-based standard for exchanging authentication and authorization data between security domains. The single most important problem that SAML was created to solve is the Web browser Single Sign-On problem. Many organizations are debating whether to stay with version 1.1 or move to 2.0. This article makes observations about both options. (September 28, Article)

Programming is Also Teaching Your Team

Joe Ottinger takes a look at how people learn, and applies it to the practice of programming. He notes that understanding how people learn is an essential part of working in a programming team. (September 22, Article)

Can Java EE Deliver The Asynchronous Web?

Stephen Maryka gave us an article about the Asynchronous Web and posed a number of questions that get examined like an approach to delivering Asynchronous Web capabilities through extensions to existing Java EE technologies. (July 14, Article)

JSF Flex

JavaServer Faces Flex goal is to provide users capability in creating standard Flex components, part of flexSDK which is open sourced through MPL license, as normal JSF components. This article by Ji Hoon Kim will provide an overview of creating a simple multilingual JSF page consisting of JSF Flex tags. (June 29, Article)

The Rules of SOA - A Road to a Successful SOA Implementation

In this session Jeff explores the key characteristics of successful SOA projects. He covers some of the patterns, and anti-patterns, tool sets, and strategies that he himself learned the hard way. Last, he provides a strategy and blueprint for achieving a high likelihood of success in your SOA project. (June 23, Tech Talk)

Ari Zilka Talks About Terracotta 3.1

Ari Zilka, CTO of Terracotta, Inc., talks about the new features in Terracotta 3.1, announced during JavaOne and available now. (June 15, Tech Talk)

Enterprise Application Integration, and Spring

In this Tech Talk, Josh Long explores an integration challenge using Spring Integration and walks through the implementation, employing and expanding on the basic patterns of Enterprise Application Integration to tie together components into a function integration solution, and then demonstrates how Spring Integration helps address the integration requirements. (June 15, Tech Talk)

Google Web Toolkit: An Introduction

In this Tech Talk, David Geary teaches you: The basics of Google Web Toolkit; How to implement Ajax-enabled applications in Java; Internationalization; Hooking into the browser history mechanism; Remote procedure calls. (June 4, Tech Talk)

Just Enough Early Architecture to Guide Development

Jon Kern discusses the best architecture/technical solutions and ensure that they are repeated by all developers. By tackling the architecture up-front in a serial manner, subsequent parallel development will be much more manageable and predictable. (May 28, Tech Talk)

Productive Programmer: On the Lam from the Furniture Police

This keynote describes the frustrations of modern knowledge workers in their quest to actually get some work done, and solutions for how to guard yourself against all those distractions. Neal Ford talks about environments, coding, acceleration, automation, and avoiding repetition as ways to defeat the misguided attempts to sap your ability to produce good work. (May 26, Tech Talk)

Auto-Scaling Your Existing Web Application

Gil demonstrates how new, aggressive uses of already abundant compute capacity by common applications offer competitive value for application designers. (May 21, Tech Talk)

Automating Hibernate Mapping and Queries For Java Web Development

Chris Keene introduces WaveMaker as a new way to automate the ability to generate Hibernate classes in order to more quickly bring OR mapping into an application. (May 19, Article)

Free Book PDF Download: Mastering EJB Third Edition

Mastering EJB was one of the original and most influential EJB books in the industry. Mastering EJB III now returns with two new expert co-authors, updated for EJB 2.1 and 30% new chapters including security, integration, best practices, open source, and more.
(Book PDF Download)

Application Server Matrix

The Application Server Matrix is a detailed listing of J2EE vendors and their application server products, with information on latest version numbers, J2EE spec support and licensing, pricing, platform support, and links to product downloads and reviews.
(Application Server Comparison Matrix)

News | Blogs | Discussions | Tech talks | Patterns | Reviews | White Papers | Downloads | Articles | Media kit | About
Java Solutions
All Content Copyright ©2007 TheServerSide Privacy Policy
Site Map