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.

10+ YEARS


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.

Comparing Java Web Frameworks at ApacheCon Europe

It's been almost 2 1/2 years since I created and presented my "Comparing Web Frameworks" talk at ApacheCon 2004. It's hard to believe that was my first talk in front of a large audience. Before that conference, I posted a list of possible topics, as well as an outline a few days later. The most recent time I presented this talk was at Spring Forward 2006.

At this year's ApacheCon Europe, I'll be presenting Comparing Java Web Frameworks again. This time, I'll be adding Wicket and Stripes to the mix. I'm adding these two because they seem to be getting the most hype in Java developer's blogs. Of course, it would be great to add Grails, RIFE and Seam, but that's just too much to cover in an hour. Also, Grails is just Spring MVC and Seam uses JSF - so RIFE is the only one that stands out as unique. Here's the current session description:

One of the most difficult things to do (in Java web development) today is pick which web framework to use when development an application. The Apache Software foundation hosts most of the popular Java web frameworks: Struts, MyFaces, Tapestry and Wicket. This session will compare these different web frameworks, as well as Spring MVC and Stripes. It will briefly explain how each works and the strengths and weaknesses of each. Tips, tricks and gotcha's will be plentiful. Lastly, it will provide attendees with a sample application that utilizes all 6 frameworks, so they can compare line-by-line how the frameworks are different. This sample application will include the following features: sortable/pageable list, client and server-side validation, success and error messages as well as some Ajax functionality. The frameworks will be rated on how easy they make it to implement these features.

Over the next couple months, I'll try to post a revised outline so all the folks who care about a comparison like this can voice their opinions. I'll also be integrating Stripes and Wicket into AppFuse and AppFuse Light.

I'm still not sure about the name "AppFuse Light", but it's probably better than "AppFuse LE" which doesn't seem to convey the concept enough. The problem with "Light" is how to spell it (Bud Light vs. Miller Lite). The nice thing about AppFuse LE is we can shorten it to ALE. Regardless, you gotta love how it can all be related back to beer. ;-)

I've never been to Amsterdam before, so I'm definitely looking forward to this trip. My dad will be joining me, so I'll probably do more site-seeing that conference-going. If you're from the area, do you have any suggestions on what to do and where to stay? My dad has been pricing tickets and thinks we'd be better off flying into Frankfurt, spending a few days in Germany, and then arriving a day or two before my talk (on Friday). However, Queen's Day is the Monday of the conference and I've heard rumors it shouldn't be missed. I've got some Dutch and German in my blood, so it should be fun to visit my ancestral homeland.

Posted in Java at Feb 22 2007, 04:44:43 PM MST 12 Comments
Comments:

Howdy Matt,

Say, I (or we) could show you around a bit if you are interested. Queen's Day is not to be missed, though the evening before is where the real party is at (in The Hague). I'm planning on going there, so if you are interested we could take you along. Mind you though, that this typically goes on well into the night.

Next day is cool if the weather is good and you can stand the color Orange and big crowds. You also have to be able to take some beer in. But from what I remember you're up to that job. :)

What we could do is gather a couple of open source people and party, and maybe along the way we could prepare you a bit about your presentation. I could fill in any gaps you might have on Wicket, and if e.g. Howard (LS) would join he could do the same :)

Lemme know if you would be interested in that.

Posted by Eelco Hillenius on February 23, 2007 at 12:43 AM MST #

I'm moving from Jacksonville, FL to the Denver area next week so I bought my tickets direct from Denver to Amsterdam. I paid just under a grand which didn't seem terrible to me, but I'm used to getting jerked around on airfare where I currently live. I'm flying from Denver to Amsterdam on Sunday arriving Monday morning for Queen's Day, so that should be some fun. Look forward to seeing you there.

Posted by Chris Custine on February 23, 2007 at 01:09 AM MST #

Do take a look at Click. It seems different from the other frameworks, but it's extremely simple to understand. http://click.sourceforge.net/

Posted by 165.21.154.113 on February 23, 2007 at 05:49 AM MST #

Being forced to use Struts for my job just lately and having very little experience in serverside scripting, I have been looking around for java web frameworks for quite a while now.

I have to say, I'm not impressed at all. First there's too much clutter. As a developer you have to remember too much names, custom-tags, pseudo-languages, ... . Part of the cause is that there's not just one framework that does it all, but one has to combine three or more frameworks to get the whole job done.

I have to say most frameworks take care of seperation of concerns quite well. Yet only at the serverside. As it comes to the client side they really don't seem to care. You end up with lousy, invalid HTML-code, inline javascript, dirty onclick events, inline css (or worse) ... . I don't think it's more work for them to get the job decently done for the client side, but I 've got the impression no one cares in the java web world. At least that's what I conclude from the very limited information there's about java web development and usability, accessibility, webstandards, semantic HTML, ... .

Of course every framework allows you to adapt the output at the client side, but it takes extra work, al lot of work, while they should do it right out of the box.

At least that's my impression for now, I still am trying to find my way... . I just hope I'm missing something here.

Posted by Pieter on February 23, 2007 at 08:01 AM MST #

Hit the Heineken brewery tour. Great tour, free Heineken, and dirt cheap. When I went 10 years ago there were only two tours a day, and they sold out quick. So if you plan on making the tour, get your tickets first thing in the morning.

Posted by Erik Weibust on February 23, 2007 at 02:08 PM MST #

Well, I think going to Amsterdam with your parents is not a good idea.. You may have more fun going alone ;-)

I've been a couple of times to Amsterdam but basically also only know the tourist spots. I would try to get a Hotel in the inner city, then you can easily explore everything on foot. Go the Rembrandt plein (= place), Leidse plain, explore the red light district by night (visit venues and enjoy things like "banana shows", hehe), go to one of the Rokerij coffee shops, visit the van Gogh museum. Have a drink in one of the nice cafes in thee "joordan" quarter. Do a boat trip on the "grachten". It's a great city. Haven't been there for a too long time.

Posted by Chris Seiler on February 23, 2007 at 03:15 PM MST #

Eelco - I'm definitely interested in getting shown around. I talked to Howard and it doesn't look like he's going to make the show. I'll be in touch as the conference approaches. Of course, you'll probably see me all over the Wicket mailing lists when I start learning it. ;-)

Posted by Matt Raible on February 23, 2007 at 03:24 PM MST #

Sure Matt. I'll get back on this soon, as I think It would be nice to hook up a little coder group and do some partying.

And about the lists... well you might remember I was bitching two years ago about mailing list activity not being an absolute indicator on project success blah blah. I still believe that, but it turns out Wicket's lists have become amongst the most active around. See http://www.nabble.com/Web-Development-Framework-f16257.html (yes we've been on top of RoR for over two months now :))

Anyway, if you're looking for some more interactive communication: ##wicket on freenode.net is usually pretty active.

More later!

Posted by Eelco Hillenius on February 23, 2007 at 09:30 PM MST #

It's great to read about you coming to The Netherlands, Matt! I was thinking about attending ApacheCon, but now I certainly will do so :).

If you are interested in sight-seeing, there's more to see here than Amsterdam! If you let me know where your interests lie, I might be able to give some hints or help you out in other ways. As for Queens Day, you'll have to be able to stand big noisy orange-clothed crowds, but if you're up to that, you'll be able to enjoy a special experience :)

For me, having small children, Queens Day is more a family day spent locally with children's parade's and festivals.

Posted by Jakko Vos on February 26, 2007 at 08:33 AM MST #

I thinks you already have a difficult task on your hands trying to compare six frameworks within one hour. This is great work you are doing, so keep up the hard work. However, I do think it will be interesting to see more of Grails in the future. It adds two things to the Java Web framework equation that the others do not, a dynamic scripting language and a Rails type of feature set.

Posted by Robert Breidecker on March 07, 2007 at 06:38 PM MST #

Robert - this talk is still very much my opinion. Since no one has asked me to do a project using Grails, I'm not as motivated to learn it. That being said, I do plan on learning Seam, Grails, GWT, Wicket, Stripes and RIFE all this year. However, with so many, it's unlikely I'll learn any one of them that well. I'm willing to bet this though - all these frameworks (including the ones I already know) sound great on blogs and in articles. However, when you dig in and try to learn them, you find a fair amount of issues.

Grails definitely wins the hype game, but there still seems to be quite a few folks having issues on the mailing list. It also seems to be pretty unstable at the moment. Not a bad thing - just a maturity thing. Maybe I'll try to do this talk again at ApacheCon US with a few more (or drop some, add some). Seams is doing a lot of great things too, but since it's LGPL, Apache probably wouldn't be too keen on me doing a presentation on it.

Posted by Matt Raible on March 07, 2007 at 06:45 PM MST #

Great news, Matt!
It will be good to have updated web frameworks comparison and it surely will help to many developers to pick up the most suitable technology for their project.

From my point of view the most hype in today's developer discussion is getting GWT technology. It's because it is actually considered as an alternative to all the standard MVC web frameworks. I have not seen many sites built with GWT yet because it is still too new and revolutionary. But I think their number will grow rapidly.

Here I found a list of sites built with GWT Who is using it . You may want to take a look at OpenKM demo (open source) to have some feeling of GWT in action.

I am writing this just because now I am choosing web framework for a large new project and initially thought of going to JSF+Facelets+Shale direction but now I am more and more inclining to GWT.

So I think many people would like to see someone to compare GWT with all other frameworks (especially JSF & stuff) to understand which way to go with new projects. Never mind I will have to make a decision soon myself but possibly for many others who are in doubt it can be helpful.

Anyway for those who are interested in GWT resources I would recommend to take a look at gwtpowered.org - the great GWT related resource collection.

Many thanks for all your work, Matt!

Posted by Leonid on March 08, 2007 at 01:12 PM MST #

Post a Comment:
  • HTML Syntax: Allowed