ApacheCon EU: Comparing Java Web Frameworks Presentation
I said I'd post my presentation after my talk this morning, so here it is:
Download Comparing Java Web Frameworks Presentation (1.1 MB)
I went a bit long on the presentation, but the crowd (standing room only) seemed to enjoy it. Thanks to all who attended!
Posted by Niall on May 04, 2007 at 10:11 AM MDT #
Posted by Kev on May 04, 2007 at 10:30 AM MDT #
Posted by kia on May 04, 2007 at 11:00 AM MDT #
AJAX: wicket also has a builtin mechanism that let's you do some nice stuff without any additional libraries (like ajax submitting form, changing component hierarchy via an ajax call, etc)
Validation: "no client side" is true if you're not using AJAX, but it is very easy to put server side validation into action via an AJAX behaviour added to your components. This way every time you leave an input field, an ajax roundtrip call to the server can occur which can do both semantic and syntactic validation on the fly. This can be achieved in 3-4 additional lines of Java code (no javascript needed).
I18N: you say "Wicket advocate separate files for each page/action". This can be done, but wicket also uses resource bundles for messages. In html you can specify <wicket:message key="key.name"/> which is similiar to tapestry's span. You don't need to declare resource bundles - wicket first searches for a .properties file with the same name as the component, then the page and then the application. This makes it easy to create new component bundles (a .jar file with .java/.properties/.html bundled).
Page Decoration: Wicket's Border component is very good at decorating pages.
Tools: you don't really need more than a Java IDE...
Posted by Janos Cserep on May 04, 2007 at 12:13 PM MDT #
Posted by Jesse Kuhnert on May 04, 2007 at 12:36 PM MDT #
Posted by Ripley on May 04, 2007 at 02:47 PM MDT #
Posted by Jesse Kuhnert on May 04, 2007 at 03:29 PM MDT #
Posted by -FoX- on May 04, 2007 at 05:58 PM MDT #
Posted by Eelco Hillenius on May 04, 2007 at 08:53 PM MDT #
Posted by Alonso on May 05, 2007 at 03:02 AM MDT #
Posted by Jesse Kuhnert on May 05, 2007 at 01:01 PM MDT #
Posted by Martijn Dashorst on May 06, 2007 at 11:50 AM MDT #
Posted by Ripley on May 07, 2007 at 04:19 PM MDT #
Posted by robert parks on May 07, 2007 at 07:25 PM MDT #
Posted by Ignacio Coloma on May 08, 2007 at 03:27 PM MDT #
Posted by Antony Stubbs on May 08, 2007 at 09:18 PM MDT #
I'll be doing this presentation again at JA-SIG this summer (in Denver) and OSCON (in Portland). I also submitted it as a proposal to JavaZone and ApacheCon US. Maybe one of those shows will do some sort of recording. I've also thought about creating one that covers the supposed "kick-ass" web frameworks of 2007: Grails, Seam and GWT (are there others?).
Posted by Matt Raible on May 08, 2007 at 09:31 PM MDT #
It was a great presentaties. Especially the comments about JSF not being complete without Facelets sound so familiar.
I think we made the right choice currently to go with JSF+Facelets on our current project. The XHTML pages are very clean using the composition-tags. Working with compositions instead of insertion made me very happy, its kind of odd the first time, but the reusability gain is tremendous. Using a general composition with CSS-layout and messagebundle defined for the whole project, or subgroups makes I18N easier in JSF.
And one more thing, although Spring MVC doesn't have build-in AJAX support, with the use of DWR it could be done quicker then most build-in features in other frameworks.
Posted by Roy van Rijn on May 09, 2007 at 08:49 AM MDT #
Posted by Steve E. on May 18, 2007 at 12:18 AM MDT #
Posted by Andreas Andreou on June 26, 2007 at 10:43 PM MDT #
Andreas - my only theories are 1) Tapestry users aren't aware of AppFuse or 2) we're not doing things the Tapestry-way (i.e. SiteMesh), so folks choose something more like Trails instead. Or it's possible that Tapestry folks like to start from scratch. ;-)
Posted by Matt Raible on June 26, 2007 at 10:49 PM MDT #
Interesting review.
[OT] Curious, how about a comparison of ORM frameworks? What are your thoughts on that topic :-)
Posted by Franz See on September 26, 2007 at 04:36 PM MDT #
Posted by Matt Raible on September 26, 2007 at 04:41 PM MDT #