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.

So Struts is Dead, huh?

So most folks think Struts is Dead, huh? I've got news for you folks. Struts has been dead since 2002. For that matter, most Java frameworks have been dead for the last year. Most folks think Struts is dead because there won't be any new and whiz-bang features added in future releases. I'm willing to bet the other Java Web Frameworks won't add any whiz-bang features in the next few years either. Sure, WebWork might get a little XMLHttpRequest lovin' for client-side validation, and Tapestry might get pretty URLs - but both of these are features that these frameworks should've had in the first place. So what's the big deal? At least the Struts Developers have the guts to stand up and say "we're in maintenance mode". Shouldn't all framework developer's be able to say this? It's really quite an accomplishment.

IMO, the only developers that shouldn't be saying this are Tapestry and JSF folks. Both of these teams should be saying - "we're going to make our frameworks easier." If these frameworks are going to be the future of Java web development, there's some work to do. The JSF folks should be saying, "we're going to fix all the stuff that's broken". This "stuff" includes POST for everything, lack of bookmarkability, and bad validation messages (the good news is the validation messages should be fixed in JSF 1.2). I think Tapestry needs some simplification too. In my experience, most Tapestry pages (by design) require 4 files. One for the Java class, one of the HTML template, one for the page specification and one for the i18n keys. This should be easier. It'd like to see two required files (template and Java class) and the others are optional. Maybe annotations could eliminate the page specification? I think there's a lot to be learned from frameworks like Ruby on Rails: default everything, allow overriding.

I think that Shale will be good, but only if it learns from the other MVC frameworks available. If I were on the team, I'd take the good things from all the others: IoC, Interceptors, HTML templates, etc. I wouldn't stop there either - there needs to be good examples of how to integrate it with middle-tier frameworks like Spring, Hivemind and EJBs. Often developers will take examples as recipes - so the more detailed and simple, the better. The Struts developers have quite an opportunity to make something great, let's hope they don't just create another framework.

Posted in Java at Jan 31 2005, 06:48:01 PM MST 13 Comments

Made it home!

We made it home today and boy is it great to be back in Denver ... and healthy. We had a great time with my parents and sister at my parent's place in Salem, Oregon. It was so cool being back in another place I call home. For the past few years, I've always looked at Montana as my true home, but I came to realize that I need to visit Oregon a lot more. It took me until this weekend to realize the power that your parents house can hold for you. I experienced one of several "perfect moments" in my life when I was holding baby Jack on Saturday night. It just felt great being around so much love. And their basement sauna rocks. I'll be installing one in my basement in the next year.

Friday was a nice and smooth flight out there. We left at 8:30 a.m. and Abbie slept for most of the flight. Not only that, but Frontier has individual TVs for every passenger. Julie loved it and watched HGTV for the 2-hour flight. The highlight of the trip is when both kids threw up (from coughing) w/in 5 seconds of each other. Like some kind of wonder-woman, Julie got both kids messes in the same hand.

My sister, Kalin, showed up a couple of hours after us - and we all enjoyed a nice evening together. Later that night, Kalin and I made a "Welcome Home Dad!" sign and drove to the Portland airport to pick up my dad. He flew in from Amsterdam (after visiting Germany and working in Tanzania for a week) and had been on a plane the past 20 hours.

We spent most of the weekend just hanging out and laughing with old friends. One of my best friends from high school (whose name is also Matt) has two boys (4 and 2) and Abbie had a great time trying to keep up with them. I was terrified of them at first b/c they were so crazy, but I ended up having a great time with them throughout the weekend. Julie dreads Jack growing up now more than ever.

Today was a nice easy flight, where Abbie slept half of it and watched Monsters Inc. the other half. We came home to melted snow, and missed the "2 feet" of snow that fell last night. After having the last week off being sick and then on vacation, I'm very motivated to do some AppFuse and Spring Live work this week - in addition to my regular job. It's good to be home.

Posted in General at Jan 31 2005, 06:27:01 PM MST 4 Comments