Matt RaibleMatt Raible is a Java Champion and Developer Advocate at Okta.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

TSSJS BOF: Web Framework Sweet Spots

I'm leading a BOF at this year's TSS Java Symposium titled Web Framework Sweet Spots.

The objective of this BOF is to discuss the various open source web frameworks and what each does well. Matt kicks off the discussion by highlighting the good features of various frameworks, (results of pre-conference discussions with various framework authors to get their opinions on what problems their framework solves best) as well as debunk some myths based on audience members real-world experiences.

Yesterday, I sent an e-mail the authors of the most popular web frameworks in JavaLand. In my opinion, these are (in alphabetical order): Cocoon, JSF, RIFE, Seam, Spring MVC, Spring Web Flow, Struts, Trails, Tapestry, WebWork and Wicket. If your framework isn't on this list, I'm sorry. If you can prove to me that yours is more popular than one of the ones listed here, I'll send you the questionnaire and add you to the list. I've received a few responses, and I doubt all authors will respond, so there might be some room.

If you're going to be at Caesar's Palace for TSSJS 2006, I invite you to stop by on Friday night at 6:30. I've asked the TechTarget folks several times about getting beer served at this BOF, but they keep ignoring the question. I think it's time to contact Caesar's - since it is legal to have a beer pretty much anywhere in Vegas.

Posted in Java at Mar 08 2006, 02:23:13 PM MST 19 Comments

This sounds like a good BOF, and I'll be at Caesar's for this conference... So I'll see you there, beer in hand!

Posted by Jeff Sheets on March 08, 2006 at 03:37 PM MST #

What a good timing!!, for a development of my company i need to choose a Web Framework (Tomcat / Postgres / Hibernate / Spring). My users requests to display some data in a TreeTable View (Tree + Table Windows-like or TreeTable Swing-like). I wonder which framework would handle that best, hope your investigation will enlight my choice. ps: I like very much the Spring-mvc way, by now i investigate Webwork (what?? webwork is not in your list??).

Posted by Sylvain on March 08, 2006 at 04:52 PM MST #

WebWork is on the list. ;-)

Posted by Matt Raible on March 08, 2006 at 05:00 PM MST #

i think stripes is also a very good framework. what does best is staying out of your way :)

Posted by Edward on March 09, 2006 at 01:38 AM MST #

humm... next time i will triple check before posting :o)

Posted by Sylvain on March 09, 2006 at 03:12 AM MST #

I have had people say that Spring uses so much reflection that it seriously degrades an application's performance if the application is of any decent size. The organization that I'm associated with was going to be choosing Spring until we've had a member offer their experiences using it. Now we're not sure what to choose. I guess we'll have to go back to the drawing board. I think in a lot of ways it's really too bad because Spring looked like it could have helped us out a lot.

Posted by on March 09, 2006 at 08:03 AM MST #

Spring "the framework" or Spring MVC? I've done some recent performance tests on a 40-page application that uses the WebWork+Spring+Hibernate version of AppFuse and found no performance problems. It was able to easily handle any number of users I threw at it (as long as the available threads matched the number of concurrent users).

I'd like to see some proof of the FUD you're spreading. ;-)

Posted by Matt Raible on March 09, 2006 at 08:08 AM MST #

It was Spring "the framework" overall from what I recall. I'll see if I can't get the guy to write me a more detailed email concerning the problems he had and then I'll email you something more specific. However, I will let you know right now that his argument did seem convincing.

Posted by on March 09, 2006 at 08:22 AM MST #

I think you should consider stripes in your list.

Posted by Hemang on March 09, 2006 at 11:44 AM MST #

Love to see what happens with a JSF + Spring + Hibernate app and how it scales in comparison...

Posted by Jason Carreira on March 09, 2006 at 03:08 PM MST #

"Love to see what happens with a JSF + Spring + Hibernate app and how it scales in comparison..." -- scalability in what sense? We all bow down to stateless action frameworks for hardware scalability, but for scaling application requirements, component development does have it's advantages :-)

Posted by Not Jacob on March 09, 2006 at 05:12 PM MST #

"scaling application requirements"

Excellent point!

I want the developers and SysAdmins on my team to only need to master a single framework -- a single framework that scales the full spectrum of webapp requirements -- from simple database publishing type websites to enterprise data entry applications.

Consider also that sometimes a single application spans a range of UI requirements. For example, an typical e-commerce site has a simple product catalog browsing segment that leads to a more sophisticated account-creation/checkout phase. I want a framework that makes simple things easy yet has the more powerful component-oriented features when needed.

So I ask, "Which scales better:"</>

  1. Action-based frameworks scaling up to sophisticated UI requirements?, or
  2. Component-based frameworks scaling down to simpler UI requirements without being cumbersome?

Posted by Allen Halsey on March 09, 2006 at 09:54 PM MST #

I would like to see Click ( on the list as well. Very simple to learn, very clean in design and a good full set of reusable components. Configuration is minor, uses Velocity for templating, supports Ajax and performs very well.

Posted by Geoff Hopson on March 11, 2006 at 07:37 AM MST #

I think you should consider evaluatin Marverick.NET, C# based to be more fair and balanced. .V

Posted by Vic on March 11, 2006 at 06:36 PM MST #

Matt, did you ask Joe Ottinger about the beer? He said that he or Nitin would be the persons to talk to about this.

Posted by Geert Bevin on March 16, 2006 at 01:35 AM MST #

I'd be curious to hear what you, and the sharp commmenters here, think about this: What Java framework competes "best" with Rails? I would say that the key feature of RAILs is very-high productivity, along with reasonable flexibility, but I might be oversimplifying.

If you had to race a RAILs developer on a 20 page, moderately complex webapp... what would you pull out of the tool box?


- JT

Posted by John Troxel on March 16, 2006 at 05:23 PM MST #

>If you had to race a RAILs developer on a 20 page, moderately complex webapp... what would you pull out of the tool box? I'm just trying that and I am ready to give up. My only hope is that it will turn out not to be 20 pages and moderately complex and I can present some jBPM integration (using ADF, seam and JBPM on JBoss). But looking at all the helpers/generators or whatever they are called in Rails. I am constantly asking myself why shouldn't I switch to rails? Just have a look at the bruce perens generator for sequrity.

Posted by on March 22, 2006 at 02:54 PM MST #

Okay, so I'm a little late.

Looking through these comments, I see that none of you have heard of Sails. That is understandable. I am often wondering, 'why am I spending time on this?'. You see, I am a Ruby lover temporarily trapped in Java. I have only been paid to write one Rails app, but I tend to look at Rails all the time. Why? So I can make Sails look as much like it as I have time for. How does that come out? You can see a bit of what I think about ActiveRecord. As for the rest of the stack, I think we are doing a pretty good job of capturing the spirit and style of Rails in Java.

Brain Dump:
A custom, dynamic template language that has mixins, blocks, and extreme extensibility. There is a form of components for reusable code/views/javascript/css (forget what you know about Tapestry/ASP.NET). Sails provides an elegant action framework, an extensible object-to-string-and-back adapter model, view helpers, simplified persistence built on Hibernate, dependency injection, etc. etc. Sails is Java 5: it takes advantage of generics, annotations, and other stuff to reduce typing. It has a very powerful testing framework - this may be one of the better aspects of Sails. It strives to reduce duplication at every level.

Thanks for listening. Happy coding, however you do it.

Posted by Adam Williams on March 29, 2006 at 06:16 AM MST #

I just want to know where adf faces stand (or adf framework stand) in comparison to all the popular frameworks u have listed. Any help or insights will be very helpful for me.

Posted by Shiv Ram Sharma on January 24, 2008 at 11:37 PM MST #

Post a Comment:
  • HTML Syntax: Allowed