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.

Pick the web framework you think is cool

Ever since I started adding additional web frameworks into AppFuse, people have asked me "which framework should I use?" I've often told them "use what you know." If you have in-house knowledge of Struts, use it. I thought this was good advice because I believed that existing knowledge leads to greater productivity.

Lately, I've started to change my philosophy. I'm starting to think it's more important to use the web framework you're passionate about. The one you want to learn more about. After reading Kathy Sierra's "Does it really matter if your tool is cool?", it seems this is a good idea. She writes:

Coolness (or just perceived coolness, it really doesn't matter) is linked to passion. The cooler you perceive your tools to be, the more passionate you are about those tools. And passion, while it might lead to the "everything is a nail" syndrome, has an extraordinary amount of value!

Obviously there's quality of life... a life with passion is certainly more fun than one without. And the more passion, the greater the chances that a person has what psychologists label optimal experiences. And the more optimal experiences one has, the more likely one is to describe life as being "happy". So, passion = optimal experiences = happiness. And research says happy people are generally more productive. Certainly they're more spirited and fun to be around...

So I guess passion leads to greater productivity, not existing knowledge. So which web framework do you think is cool? Which one are you passionate about?

If I had to choose based on my passionate choice, and the one that I think is the coolest, I'd have to go with Tapestry or possibly JSF (JSF would be a lot cooler if it let me put my JSPs in the WEB-INF directory instead of in the root). These are the frameworks I want to learn more about. 6 months from now? Maybe Laszlo or JDNC.

Posted in Java at Dec 09 2004, 04:47:25 PM MST 17 Comments
Comments:

You just have to be careful about imposing "passion" on other team members.

Posted by Glen Stampoultzis on December 10, 2004 at 12:29 AM MST #

Ruby on Rails.

Posted by thirdshift on December 10, 2004 at 02:32 AM MST #

I'm a firm believer in Passion... Passion comes directly from your heart and soul.... and without Passion we'd be robots.. and how much fun can robots have ... besides Data of course.. ???

Posted by Richard So on December 10, 2004 at 04:07 AM MST #

I absolutely agree with you (about passion) when I think to my personal projects. But when we talk about teamwork, there are a lot of other things to be considered.
1 - Some people in the team (sometimes, most part of) aren't really passionated with their job
2 - The framework must allow to divide the effort in different and parallel tasks with less bottlenecks possibile
If I had to chose a framework for a team now, I would pick up Struts, since it is reasonalbly simple and a lot of guys know it. For my personal projects, I would probably choose JSF or Tapestry, just because I have a little esperience with them.
What about Velcity?

Posted by Filippo on December 10, 2004 at 08:50 AM MST #

What about Webwork. I feel it's so easy and clean. Why you're not passionate about it?

Posted by Chuong Huynh on December 10, 2004 at 09:18 AM MST #

I find it interesting that although you seem to have very limited experience with tapestry you mention you feel passionate about it. The only problem is not many people seem to use it. I have met some people I regard as very smart and very clued in and they recommend tapestry.. If only I had a project to use it on.

Posted by James on December 10, 2004 at 01:41 PM MST #

IMO, WebWork and Spring MVC are not that much different from Struts. Sure, they have cool features like Interceptors and such, but they're not a whole lot different. Since I'm not that passionate about Struts these days, it's tough to be passionate about similar frameworks. In reality, I think if I used Spring MVC and WebWork more often - I'd probably grow to appreciate them a lot more.

Posted by Matt Raible on December 10, 2004 at 01:48 PM MST #

Well said Matt! Don't just go with what the 90% of lemmings are saying because this is what you or the rest of the world knows(Struts -;) ). Glad to hear this come from you.

Posted by Kris Thompson on December 10, 2004 at 05:24 PM MST #

What's cool is the end result! That's why I'm in this business anyway. Frameworks are a means to an end.

Posted by Keith Donald on December 10, 2004 at 07:48 PM MST #

I don't quite agree with your last line. Your passion is something you love to work on and work with. Your passion is not something that changes every 6 months. If you're passionate about Web Services then you work with it, the implementation or tool you use is not the point, it's a choice in how you work. With Frameworks you passion is Web Applications, your preferred method of implementing them is again a secondary passion for a framework which allows you to strive in your first passion. Changing the framework doesn't change your primary passion, it just changes how you apply this passion.

Posted by Robert Sfeir on December 10, 2004 at 07:53 PM MST #

I agree with Robert Sfeir. Passion is not something that changes every few months. "So, passion = optimal experiences = happiness. And research says happy people are generally more productive. Certainly they're more spirited and fun to be around". This is only true if the people in the project share the same passion, otherwise productivity will plunge. Have you ever worked in a project with people with different 'passion' about which 'cool framework' they like? :) It was a nightmare.

Posted by Jason Baker on December 11, 2004 at 02:33 AM MST #

Jason, I think I'd say working on a project with people with the same passion (web apps) with different tool ideologies... turn out to make working with your passion like going to the dentist to remove your wisdom teeth :-) R

Posted by Robert Sfeir on December 11, 2004 at 07:27 PM MST #

Robert and Jason, I agree with you about passion - it usually doesn't change much in 6 months, but I think you are missing the point. Matt isn't primarily talking about passion. He is talking about cooleness, because you get passionate about what you think is cool. And, what is cool may change in 6 months depending on how addicted you are about reading up on new technology.

Posted by Mats Henricson on December 11, 2004 at 10:32 PM MST #

You are right Mats. Coolness do change from time to time, which makes me think that what Kathy Sierra said about "passion = optimal experiences = happiness" only holds true if you work alone, or in a team that shares the same passion/ideaOfCoolness, which I would say doesn't happen that often.
Robert, yeap, Eclipse vs IDEA vs Netbeans vs vim vs blablablabla. Every time the discussion about what's cool happens, I just put on my headphones. :p

Posted by Jason Barker on December 12, 2004 at 05:06 AM MST #

All this talk of passion reminds me of a similar marriage debate. Should you get married for love and passion or for more practical, stablilty-type reasons? There are strong arguments on both sides, but my belief is that those arguing for practicality are laboring under the assumption that coolness is necessarily impractical. That doesn't seem to be true -- what reason would there be to be passionate about a tool if not because it solves particular problems well? And if you applied it to a problem and it fell short, you would surely conclude that it wasn't as cool as you thought it was. The entire basis for coolness is based on its facility to solve a problem well -- if you create framework that shuttled bits around but produced no meaningful output whatsoever, that would be boring, not cool. If you forced a square framework into a round problem, you'd find yourself with nightmarish hell-code that's impossible to maintain, and that would surely not be cool either. There is some danger in making tools a question of identity politics and keeping your feet on ground regarding the shortcomings of your passion is important too. But mainly, I think its important to put your money where your mouth is. If you are passionate about your framework or your tool and think its the best thing ever, then find yourself a job where you work on project that can make it shine! Chances are that if you are passionate about a particular tool, you are also passionate about projects that are highly compatible with it. Sitting around in an ill-fitting job trying to make it a little more enjoyable by pushing your favorite framework because you are too risk-adverse to do anything else is not passion. Yours, Mr. Teacup

Posted by MrTeacup on December 18, 2004 at 12:01 AM MST #

It would be Rails.

There are no words to describe the power and flexibility of a self-configuring framework. As they proudly claim on rubyonrails.org, there are less lines of code in some full-blown Rails-based app than in the XML configuration files required by your average Java framework... Very impressive... Although I was new to both Ruby and Rails, I was able to build a very functional application in a couple of hours, I had never had this feeling of instant gratification with any framework I've used before...

Hats off to all people involved in the making of this masterpiece... Long live Rails!

Posted by Xavier on December 19, 2004 at 08:59 PM MST #

My JSPs are in WEB-INF... b/c I am using Tiles, and the real JSF JSP is in WEB-INF... the tile wrappers are in the root of the web context.

Posted by Rick Hightower on January 02, 2005 at 10:15 AM MST #

Post a Comment:
  • HTML Syntax: Allowed