In a World of Web Framework Choices, Some Developers Still Build Their Own
Neal Ford, frequent speaker at the No Fluff, Just Stuff conferences, recently wrote about The Craptaculous Web Framework, sharing the findings of Jay's polls taken at these conferences related to which web frameworks people are using:
Generally, Struts still rules the numbers (although, recently, he's been asking how many people would use Struts on a new project and the numbers plummet). He rattles off the litany of web frameworks (there are dozens in the Java world, after all). And, on the panels I'm on, I pipe in by asking people how many are using their own, home grown "Craptaculous" framework. Interestingly enough, there are always hands. And the home grown Craptaculous framework generally beats out some well known rivals, like JSF (thank heavens) and Tapestry (what a shame).
In Neal's opinion this demonstrates the confusion in the Java world about web frameworks. He argues that if people only had 3 choices, they could go and compare them while, when presented with 10 or 20 alternatives, paralysis sets in and they end up using Struts or creating another version of their home-grown framework. He views this situation analogous to the classic example of the store selling jam presented in the book "Paradox of Choice: Why More Is Less":
A little boutique store started presenting jam samples to entice customers. When they put out 3 different flavors, customers sampled them and the sales of jam soared. More must be better, right? So they put out 10 difference flavors...and the sales plummeted. When presented with too many choices, people's decision making ability shuts down.
Neal adds that in the case of Groovy, Grails as the main web framework choice will help drive the adoption of the language. As it runs on the JVM, he even believes that Grails "may be salvation from the home-grown Craptaculous framework that Java developers are still using". Other commenters on the blog were of opinion that more fragmentation exists even in some of these markets. In the Python world, the number of frameworks decreased from 20 to 4 and none of them stands out while in .NET other choices are Monorail and the anticipated ASP.NET MVC, recently covered by Jonathan Allen on InfoQ.com.
Even when choices are overwhelming and people prefer, at times, to build their own solutions, the proliferation of web frameworks in other languages proves that maybe choice is good, as Charlie Collins argued:
When buying jam, yes, I want to make a 5 second decision and not have "too many choices." When choosing a spouse, buying a house, or making any kind of long term or expensive commitment like selecting a framework I will be using for the next few years, I don't want less choice, I WANT MORE.
Charlie explains why he believes there are multiple Java web frameworks:
What is your opinion? Is the larger amount of Java web frameworks choices helpful or not?The quintessential argument with Java is the plethora of web frameworks. But, and here's the rub, that's a complicated space with a lot of people working to solve the complicated problem in different ways (and much of the problem not being their fault, but rather the way HTTP works). If you are going to select a framework to help there, do yourself a favor and spend 30 minutes, not 5 seconds, or better yet a week, deciding what your requirements are and ACTUALLY LOOKING INTO THE DETAILS OF THE FRAMEWORKS TO MAKE AN INFORMED DECISION ABOUT WHAT BEST MEETS YOUR NEEDS.
Talented people looking at things in new ways, and solving problems differently, reflects on how open and healthy the Java space is in my mind, rather than the opposite.
There's a ton, but...
by
Francois Ward
Reason behing, even if you can save an extra 3-5% of time by using what you think is a better framework, it just takes 1 dev going on vacation or quitting to make you lose days or even months on training a new ressource. And even once trained, they'll never be better than what they have 7 years experience with. In the end, you'll lose out.
So stick to the mainstream, unless you have carefully evaluated the consequences of not doing so.
Welcome to America!
by
Sergio Oliveira
The god news is: I will not put a gun in your head to use it or like it. You are also free to ignore it or to take a look and not like it. Also feel free to throw your comments, to say it sucks.
I recommend a little read about Darwin and the Natural Selection theory. I also suggest checking out Cuba as a place to live for people that don't like competition or diversity.
By the way, I am very happy I did not listen to people when I created the Mentawai Web Framework 3 years ago. Today many people and companies around the world use and like it. Feel free to check our online book: book.mentaframework.org/, our cookbook: recipes.mentaframework.org and our website: www.mentaframework.org/
And keep in mind that if you don't like it, you can just ignore it. There is not need to feel bad or say sorry.
More choice is great for informed customers.
by
Eelco Hillenius
It is fantastic to see all those frameworks that are started and take on the established ones. It means that people aren't settling for the status quo, but instead are constantly looking to improve things. Sure, you might have to spend more time keeping up (that's probably why you read this site) and figuring out what the best option is for you/ your project. But a defeatist attitude (oh, there's too much choice, let's just choose for the one that everyone agrees with is outdated) isn't helping anyone.
Re: More choice is great for informed customers.
by
Ivan L
Frankly working in the average Java shop is depressing: Java 1.4x, Struts, and people coding this is all in vi. Of course php or something similar seems like an easy choice.
Re: More choice is great for informed customers.
by
Casper Bang
Re: More choice is great for informed customers.
by
Sergio Oliveira
To do a web project in Java is very "easy". All you have to do is use Struts, Spring, C3P0, Hibernate, JSTL, JAAS, Commons Email, Commons File Upload, Tiles, OSCache, etc. This is non-sense, we need FULL-STACK-HIGH-LEVEL solutions.
This is exactly what Mentawai, RoR and SEAM are trying to do.
So too many choices is something inescapable in a free world. I don't need to know all fruits to choose what I want to eat today. I don't need to know all grocery stores in my neighborhood to choose where I want to go today.
Take a look into the Mentawai philosophy. You may get impressed, but if you don't like it, just consider another grocery store in another corner.
Educational Content
Co-making Great Products
Jeff Patton May 22, 2013




Hello stranger!
You need to Register an InfoQ account or Login to post comments. But there's so much more behind being registered.Get the most out of the InfoQ experience.
Tell us what you think