Matt RaibleMatt Raible is a Web Developer and Java Champion. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

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.

JA-SIG Keynote: Comparing Java Web Frameworks

This morning I did my first keynote at the JA-SIG Summer Conference in Denver. My talk was on Comparing Java Web Frameworks. I told attendees I'd post it here afterwards, so here it is:Download Comparing Java Web Frameworks Presentation (1.1 MB)

In addition, I mentioned my Java Web Frameworks Sweetspots Whitepaper.

Will I be comparing web frameworks at conferences for the rest of my life? Possibly. I've been submitting 2-3 proposals to conferences and it's the only one that keeps getting selected. I'll be delivering it at OSCON, JavaZone, Colorado Software Summit and ApacheCon US.

The Colorado Software Summit wants to have an original presentation - so I may need to drop a framework or two and add in Seam, Grails and GWT. If you are planning on attending one of these talks, which frameworks would you like to see compared?

Related: Comments after I delivered this presentation at ApacheCon EU.

Posted in Java at Jun 26 2007, 10:47:16 AM MDT 9 Comments

I'd like to see GWT make the list. I've been working with GWT lately and I think it rocks. Quite honestly it makes most other frameworks look silly if you're building RIA.

Posted by Sanjiv Jivan on June 26, 2007 at 12:07 PM MDT #

I don't want to promote Wicket (If php wasn't such an ugly, basic language I would have long gone back to Symfony, Code Igniter or Cake. Maybe I'll give Django a chance.) Just wanted to add something for Wicket. I don't see the need for using Sitemesh. Wicket has its own powerful extendible markup implementation. There's also the Wicket Bench plugin for Eclipse (although I found it very buggy).

Posted by Yuccaplant on June 27, 2007 at 12:54 AM MDT #

It looks like you are being in a time-warp, repeating the same comparisons ad infinitum, ad nauseum :( Maybe you can take this opportunity to delve into one of the framework of your choice which can make it more informative. BTW: Wonderful and informative presentation.

Posted by Angsuman Chakraborty on July 02, 2007 at 09:55 AM MDT #

This is d most realastic comparios of web frameworks

Posted by sudhir nimavat on July 03, 2007 at 10:52 PM MDT #

I understand it difficult to compare a ton of frameworks but do you have an opinion on the ZK framework ( It seems they add features regularly, have integration into Spring, Hibernate, Ajax, etc., packaged Ajax components such as Timeline, editor, etc.

Posted by Rosh on July 11, 2007 at 08:50 AM MDT #

Rosh - I don't have an opinion about the ZK framework because I've never used it or had any demand from clients. The good news is I do plan on attacking Comparing Java Web Frameworks from a couple of new angles in the future:

  1. How to choose a Java Web Framework
  2. Comparing JVM Web Frameworks

For #1, I hope to figure out what's important to developers and companies when choosing an open source web framework. I believe the underlying technology is only part of the equation - project health and stability tend to be more important to companies long-term. For #2, I hope to talk about other frameworks that run on the JVM - for example, GWT, JRuby on Rails, Grails, OpenLaszlo (and possibly Flex).

Also, as part of #1, I think it's possible to divide all web frameworks into 3 categories: request based (Spring MVC, Struts 2), component based (Tapestry, Wicket) and RIA (GWT and OpenLazlso). As part of the choosing, you decide what your needs are (of the 3 categories) and then start drilling down from there. I think this will allow a deeper analysis of the different categories and the easier addition/elimination of frameworks based on the important criteria (#1). For example, if a company has a constraint like they have to support non-Javascript browsers, does it make sense to use GWT? Probably not.

Posted by Matt Raible on July 11, 2007 at 08:58 AM MDT #

Matt - GWT and OpenLaszlo seem to be component based to me. Perhaps the 3 categories should be request based, server side component based, and client side component based. Also, an important attribute of the server side component based category would be if it can do a partial page refresh. I would be interested in seeing your comparison between 1) Struts 2 with GWT and 2) Seam with Facelets and GWT Although Grails is a great project, it won't seem usable to me until IDEs support Groovy code completion.

Posted by Jim Tolson on July 25, 2007 at 12:08 PM MDT #

[Trackback] This post is me catching up with my podcasting from the JA-SIG Summer 2007 Conference in Denver. Matt Raible did a rendition of his Java Frameworks talk, discussing his experience with the various Java web frameworks. I’ve attached an (OK) audio ...

Posted by Jason E. Shao on October 31, 2007 at 06:30 AM MDT #

[Trackback] ??JSF?Spring MVC?Stripes?Struts 2?Tapestry?Wicket

Posted by chzh on March 24, 2008 at 09:43 PM MDT #

Post a Comment:
  • HTML Syntax: Allowed