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.

AppFuse 1.6 almost done

I spent many hours and quite a few late nights this week working on AppFuse. It's funny how little sleep you can live on when you're working on something you're passionate about. There's only a few items left on the 1.6 roadmap, so I hope to do a release in the next week or so.

The major new feature in 1.6 is WebWork as a web framework choice. If you'd like to dig in and take AppFuse+WebWork for a test-drive, checkout AppFuse from CVS and execute "ant install-webwork". From there, the tutorials are a good place to start. The QuickStart Guide has more detailed instructions.

If you don't want to do the DAO and Manager stuff, and you'd rather just dig into WebWork, you can download the files from the first two tutorials and extract them into your project.

For a complete list of changes (so far) in 1.6, see the README.txt in CVS. You can also checkout the following demos:

I'll try to write up a detailed post about my WebWork experience in the next couple of days. In the meantime, let's just say I dig it.

Posted in Java at Oct 02 2004, 03:45:49 PM MDT 5 Comments

It is a good work. thanks matt.

Posted by char on October 02, 2004 at 09:31 PM MDT #

Matt - 2 things: Which of the demos do you like the best? In other words, if you were working on a webapp and the client said to use whatever you wanted, which combination would you pick? You can't say all of them, either! You can obviously work in any of them, but which is easiest to develop with, most productive, the most flexible, and the easiest to maintain if moderate levels of upkeep and new features are expected. 2nd thing is I was driving around Albuquerque (to take my son to a Soccer game) near where the International Balloon Fiesta is going on, and my son started yelling "Daddy, can we go over there after the game?!?!!" Low and behold, there was a VW fan club meetup going on, with Microbuses galore visible from the road. First thing I thought of was that you had bought one. I wondered if you were in town for the meetup, but looks like you weren't. Tell you what -- if you ask around and find that they're having one again next year and you're interested in going, I'll see if I can get you a speaking gig in town around the same time to help pay for a little vacation -- VWs, balloons (for the kids, right?), and Java! Let me know. The important thing is to reserve a hotel room at least 6 months ahead of time because they run out at Fiesta time.

Posted by gerryg on October 02, 2004 at 09:37 PM MDT #

Great stuff Matt. I will definitely consider moving to AppFuse for our next web app. Being a bit picky, the WebWork version of the app has the following message in the File Upload section. Why does it refer to struts-controller.xml? "Note that the maximum allowed size of an uploaded file for this application is 2 MB. See the metadata/web/struts-controller.xml file (or the generated struts-config.xml) to change this value. "

Posted by Stephen on October 02, 2004 at 10:15 PM MDT #

Gerry has asked the question I was always scared to ask! *Not the VW question* If you were to answer the question Matt, I wanted to add another option. With all of the talk about Component frameworks, we already know your feelings on JSF, but what if Tapestry was thrown into the mix?

Posted by Brad on October 02, 2004 at 11:57 PM MDT #

<em>> if you were working on a webapp and the client said to use whatever you wanted, which combination would you pick?</em>

In a lot of cases, this seems to be something the client picks for me. If it were up to me, I'd probably go with Spring MVC or WebWork over Struts. The main reason is because I can use my domain objects in my view and it just makes things a lot simpler. Of course, you might end up with domain objects that are a bit dirtier (i.e. with indexed property setters), but it's definitely easier to develop with. Also, Spring and WebWork support other view technologies (i.e. Velocity and FreeMarker) with ease.

The nice thing about the Struts version of AppFuse is you really don't work with ActionForms that much since they're generated and the POJO <-> Form conversion is dirt simple. In other words, it tries to make Struts easy like the other frameworks. If I were under a tight deadline, I'd probably use Struts since I know it best and would be less likely to get slowed down by "how do I" scenarios.

As for the Busses and Balloons, I actually heard about that from the Colorado Bus Club mailing list. Sounds like fun. If I can get the Bus restored by then, I'd love to come down and do a little speaking while I'm at it.

<em>With all of the talk about Component frameworks, we already know your feelings on JSF, but what if Tapestry was thrown into the mix?</em>

Developing a Tapestry version of AppFuse is scheduled for the next release, and I plan on adding JSF support the release after that. I think both are powerful frameworks and the Tapestry/JSF versions of AppFuse will likely get a lot of traffic. I don't think that JSF is all that bad, it's just not all there yet. The other frameworks had all the features I wanted, and JSF didn't (yet). However, it is a framework that's designed to be extended, so I'll probably have to do some of that for the AppFuse version.

I think the big power of JSF is the fact that it's a standard. In my last round of looking for work, I was actually contacted by a company that wanted to pay me to develop the JSF version of AppFuse. I think there's going to be a lot of JSF work for Java Developers and I'd be a fool to turn my back to that. Of course, if I find that Tapestry is <em>that much</em> better, I'll do my best to convince the decision makers to use it instead.

Posted by Matt Raible on October 03, 2004 at 06:02 PM MDT #

Post a Comment:
  • HTML Syntax: Allowed