Saturday, June 14, 2008

Which is the hottest Java web framework that people want to learn?

A recent post on The "Break it Down" Blog, Which is the Hottest Java Web Framework? Or Maybe Not Java? has attracted lots of attention, including that of Java Web Frameworks Guru Matt Raible.

The author excluded Tapestry and Stripes because of the high noise from the common usage of these terms.

Some readers, including myself, commented that the high search rate may reflect that some frameworks, like JSF, especially JSF 1.1, are so bad that people encounter problems all the time and have to rely on Google to search for solutions.

In order to find out how people really like to learn about those frameworks mentioned in the post, I tweaked the search terms a bit by adding the word "tutorial", as I reckon anyone who wants to learn a web technology is likely to search for a tutorial on that technology, only if they speak English...

And here are the result.

Comparing JSF, Struts 2, Spring MVC / Spring Webflow, JBoss Seam and Apache Wicket:

As we can see, JSF is much more popular than all other Java web frameworks and is very popular in India, Hong Kong, Czech, Singapore and the Philippines. Struts 2 ranked second, slightly better than Spring MVC and Seam. And Wicket didn't even have enough search volume to rank.

Then I compared Struts 2, Spring MVC / Spring Webflow, JBoss Seam, Tapestry and Grails:

Basically, there is little search volume for tutorials on Grails, Tapestry and Stripes (not shown in this image). This is probably an indication that the official website for these frameworks have good documentation and tutorials, where JSF is only a specification and you have to find tutorials elsewhere.

Here the interesting observation is: Struts 2 is very popular in India and Brazil; Seam is far more popular in Austria, Spring MVC is especially popular in London and Grails has been taken up quite well in Germany. And surprsingly, even Australia has more search volumes for these frameworks than the United States.

Finally, I compared Ruby on Rails, Adobe Flex, JSF, Struts 2 and Spring MVC / Spring Webflow:



Hmmm, Ruby on Rails, Adobe Flex and JSF are popular to the same level. However, the popularity of JSF has been on a plateau for the past few years and has begun to decline. Ruby on Rails also starts to show signs of decline, while Flex is rising sharply.

And Ruby on Rails are very popular in San Francisco and San Jose, CA, the Philippines and Sweden. And Flex is rather popular in Brazil and Europe.

20 comments:

Shams said...

Does the same explanation given for Grails, Tapestry and Stripes also not apply for Wicket?

Vita Rara said...

Well, as an author of a site with some popular Struts 2 materials on it I have seen my traffic dropping off over the past few months. Now, some of my stuff is a little out of date, but it's all introductory type materials, the type of things folks learning the framework would be reading.

In my personal conversations with developers the interest seems to be on more agile frameworks around dynamic languages. My most popular Struts 2 article is about using Groovy with it. I guess I find it hard to believe that Struts 2 is beating Grails.

Also, I think using searches as a metric of popularity can be deceiving. I'd like to see an actual research poll done about project started in the past year, that have been deployed, and what frameworks those are using.

Mark

Anonymous said...

"And Wicket didn't even have enough search volume to rank."

So based on your statement for Grails, Tapestry and Stripes, one could say:

"Probably an indication that the official website for Wicket have excellent/perfect documentation and tutorials"

Not sure about this. Or article title should be:

"Which is the hottest Java web framework that don't have decent documentation so people have to Google it?"

Anonymous said...

Shame on you and the other blog post using these fake comparisons for misleading developers and the community. You are just adding fuel to the problems caused today by "architecture astronauts" and people clueless about technology. Do you want decisions about which framework to use in your project made on ridiculous statistics like this? I hope your boss gets swayed by this wonderful analyis and forces you to use JSF in your next project. You deserve it.

Evaluate the frameworks yourself, do a proof of concept, ask opinions from developers who have actually used these technologies - anything but this bullshit. Please.

Anonymous said...

Have to agree with Anonymous above. I've seen this kind of analysis elsewhere as well and IMHO it gives the impression that the author is not much into development or is too lazy to actually explore the technical merits of the frameworks.

Yeah, it is much easier to run a Google trends query and get these colorful graphs to impress people of course :)

Alex Wei said...

Hi Shams,
I totally agree with you that the possible explanation should also be applied to Wicket.

Alex

Alex Wei said...

Hi Mark,
I also expected Grails to beat Struts 2. Personally I have used Grails quite a bit and really like it, but I haven't really started with Struts 2. So many frameworks, so little time...
And I definitely don't take this kind of "analysis" seriously. I was just trying to "refine" the search by The "Break it Down" Blog.
Besides, I guess that a majority of the developers who searched for the tutorials are probably passive learners of these frameworks, probably because the framework has already been designated by the architect or by the outsourcing company.

Alex

Alex Wei said...

Hi Anonymous 1,
"And Wicket didn't even have enough search volume to rank." is just a rephrase of the message displayed by Google Trend: "(wicket tutorial) does not have enough search volume for ranking", as can be seen at the top of the first image.

As my reply to shams, the probable explanation can also be applied to Wicket.

And if you go to Sun's JSF documentation page, you'll find the tutorial for Java EE 5 instead of for JSF. Let's just say Sun's reference documentation is not very user-friendly.

Alex

Alex Wei said...

Hi Anonymous 2,
Sorry that I didn't write a disclaimer that this kind of trend "analysis" should not be taken seriously.

And in fact, we are already using JSF, after an evaluation of some popular web frameworks more than a year ago. We did study Matt's famous web framework comparison presentations and went through some tutorials and compared paradigm and features. My preferences went to Grails and Spring MVC, but some of the team already had JSF experience, and finally JSF was chosen because it was a standard and it was more likely to find people with JSF experience in the job market. Grails was only 0.4 at that time, Spring MVC was too Struts 1 like, Struts 2 wasn't ready yet and Tapestry or other web frameworks did not seem to have been taken up in Australia at that time.

And, you would guess it, some of us, including me, hate JSF. So I also become curious what other people use. We talked to other developers at Java User Group or Spring User Group meeting. But it's really hard to know the market share. Therefore, without the resource to do a scientific survey, we'll have to look to Google Trend. But as have been discussed, the reasons that people searched can vary greatly. So the end result is not really reliable.

Alex

Dudley Button said...

well, we have teams of java developers inside our organisation, and team after team have started dicthing the tedious JSF beast for frameworks like Stripes. I recently started collaborating between teams to find out their experiences with the technologies they using and the top names that keep coming up is Spring and Stripes....very interesting!!!
I dont think theres a lot of hype around Stripes cause it just works and its EASY!!

Anonymous said...

Shame on you IMHO. This blog is a copy of
http://www.breakitdownblog.com/which-is-the-hottest-java-web-framework-or-maybe-not-java/
which is posted some days before yours.

Alex Wei said...

@Anonymous, if you had read the first sentence of this post, you would have realised that this post was intended to filter the noise of searches for solutions and find out which frameworks people would like to LEARN.

thirdy said...

I use Apache Wicket for our project in Systems Development and Design, really great! I used Wicket + the OOP JDBC abstraction from an article from IBM. Hope to get an internship that do Wicket :D

Web Design Quote said...

Yes your are right JSF is one of the most popular application in this region. I am also working on the JAVA application.

Anonymous said...

One Thing i noticed is if you click on the first image..then it trend displayed is really different...i mean this trend search was used by the blogger in 2008..where we have JSF being searched from 2004..but the new results show from 2005..

Unknown said...

This is a precious information and really a helpful post too. Thanks to share a useful information. There are some interesting aspects in your article and I learned lot of things, thank you. Landscape Architects North Shore Auckland Noble fox cherishes ensuring our ventures are conveyed on time and on spending plan and looking stunningly better than you envisioned.Garden Design North Shore Auckland.

Unknown said...

I am grateful to you on the grounds that your article is exceptionally useful for me to continue with my exploration in same region. Your cited illustrations are all that much significant to my exploration field.This is extraordinary! It really exhibits to me where to broaden my online diary. I deduce that sooner or later on I might endeavor to create a book to oblige my web diary, yet we will see.Good post with supportive tips and considerations.
CNC router new orleans

Unknown said...

Good post !! I appreciate with your article writing,here its my first visit and i found a great information here.


___________________________
SEO company USA

Anonymous said...

Now Spring is the most popular

Unknown said...

Wow!! This is something I‘ve been searching for a while. I am thankful to you for writing this article. I must say you are a wonderful blogger. I hope, I would read one of your another post soon!
Curso java