Matt RaibleMatt Raible is a Web Architecture Consultant specializing in open source frameworks.

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.

How popular is your web framework?

From the Struts user mailing list:

Since its release in June 2001, Apache Struts has become the most popular web framework for Java. Six years later, by any objective measure, Struts is still Java's most popular web framework.

In February and March 2007, the group released both Struts 1.3.8 and Struts 2.0.6 to the general public, and Struts downloads zoomed to over 340,000 a month from the Apache site alone. And this is just the tip of the iceberg. Most copies of Struts are downloaded from an network of mirrors or obtained from Maven repositories.

So how popular is Struts compared to the other heavy hitters like Spring and Hibernate? Spring has about 1/2 as many (80K) downloads in the same period and so does Hibernate. How do MyFaces, Wicket and Tapestry stack up? Here's their best download numbers in the past few months:

Sorry JSF, you appear to be losing. Badly. This is an incorrect statement as pointed out by commentors. Thanks for keeping me honest guys.

Disclaimer: Yes, I realize that these statistics are not very accurate, especially considering Maven. Unfortunately, until Maven has repository download stats, this information is the best we've got.

Posted in Java at Jul 13 2007, 11:43:29 AM MDT 27 Comments
Comments:

Yeah....Struts is like that unstoppable trapper keeper south park episode. ...Even if you hate or compete with it, those numbers when compared to everyone else are just staggering....damn you Craig, damn you... ;)

Posted by Jesse Kuhnert on July 13, 2007 at 12:23 PM MDT #

The wicket statistics link leads to hibernate statistics.

Posted by Johan Karlberg on July 13, 2007 at 12:33 PM MDT #

Hang on there Matt your view of JSF is MyFaces only! How about those folks getting to JSF via JBoss Seam? And those getting to JSF via Oracle ADF? That could be a small hole in the stats here. Are you going to add that number to the 12k or is the number from the different JSF implementations too small to be considered :-)

Posted by SM on July 13, 2007 at 02:04 PM MDT #

Sorry JSF, you appear to be losing. Badly.
mmh, I don't think you are right about this. Most JSF development actually happens using the JSF distros present in the app server they're using. Besides, lots of people are using Sun's 1.2 distro as well. JS.

Posted by JS on July 13, 2007 at 02:13 PM MDT #

well with the new appservers and IDE's nobody needs to download JSF anymore... it's always included and then deployed directly from within the created WAR... And as others said: you're missing the RI and other packaged downloads like Facelets, AppFuse, ...

Posted by Alexander Jesse on July 13, 2007 at 02:21 PM MDT #

I'll just pile on by saying I didn't need to download JSF since it's in my IDE already. Maybe it's a sign people aren't downloading MyFaces and instead are looking for better component support from Richfaces and Ajax4Jsf. At my company we are sunsetting Struts in favor of JSF.

Posted by Brian Vaughn on July 13, 2007 at 04:11 PM MDT #

Oh hell, I'll jump in too. Before JBoss Seam, RichFaces, Ajax4jsf, and Glassfish, I was going to create a huge bondfire and dump all the JSF implementations into it when it was going full flame. But then the world changed, and now JSF is sexy and honestly so exciting, I don't know what application I want to create with it first.

Posted by Dan Allen on July 13, 2007 at 06:31 PM MDT #

Yes, JSF is bundled with appservers. My opnion is struts is lossing ground compare to JSF. JSF got very good support from JBoss communit with the new componenets like Ajax4Jsf and RichFaces. I am wondering how easy to develope a RIA using richfaces.

Posted by Krishna Srinivasan on July 13, 2007 at 07:50 PM MDT #

Johan - thanks for letting me know - I've fixed the link now.

For the rest of you, I agree. It's likely not possible to compare JSF to other web frameworks because it's part of Java EE 5 and likely downloaded from several sources. It'd be interesting to aggregate downloads and see how it competes.

Dan - you have to say that - you're writing a book about JSF/Seam! ;-) JSF is sexy to me when I can use it in a stateless manner on a high-traffic site. Of course, if you can point me to some examples and how JSF has been used in a traditional consumer-facing site (that allows JavaScriptless browsers), I'll be happy to call it sexy. If it's an all-in-one framework, that's truly awesome.

Krishna - I believe you if "struts" is Struts 1.x. However, if Struts is Struts 2.x, I don't know if I buy that.

Also, it wouldn't surprise me if JSF becomes largely associated with JBoss in the future as they seem to be putting the most muscle behind it.

Posted by Matt Raible on July 13, 2007 at 08:34 PM MDT #

BTW, that Wicket link (which shows downloads ramping down rapidly in the last couple months) is not accurate as Wicket is currently migrating from sourceforge to Apache. Most people are downloading Wicket 1.3 these days and that is not being hosted on sourceforge anymore. It is being hosted (and mirrored) at Apache at this URL: http://www.apache.org/dyn/closer.cgi/wicket/1.3.0-beta2/ I don't know what actual Wicket download statistics are anymore (and I don't know if it's even possible to know accurately anymore because of the way Apache mirrors downloads), but it stands to reason that Wicket's popularity is increasing right now because every other indicator is pointing to that.

Posted by Jonathan Locke on July 13, 2007 at 11:50 PM MDT #

Hi, Why do people keep on ignoring one of the major (if not THE major) actor in the JSF scene ? That is the one who originated Trinidad and now Trinidad RC. You name it : Oracle. In my company we wouldn't have taken the JSF road without ADF Faces AND JDeveloper. I think Oracle is putting as much muscle as JBoss, and even more in my opinion. JSF has a great future with good components and an IDE supporting them. JSF is maybe not yet mature enough for a stateless high-traffic public website, but I don't think it's its main purpose for now. For enterprise apps, it's a viable choice. Seb.

Posted by Sebastien Pouillet on July 14, 2007 at 03:33 AM MDT #

To throw some wood to the thread:

When talking about some implementations (like glassfish), there may be a point. Glassfish has a not-so-bad quality in general, and they may even have decent JSF support.

Seam (the one you have been ignoring, Matt! Shame on you! ;) was on the 12k mark on March, but right now is more like 9k downloads a month (geez, does nobody research a bit before commenting?).

ADF is (AFAIK) only used inside of Oracle. I don't know what do you call healthy, but I would not trust a product which is "mostly, but not quite, entirely unlike JSF".

About the app servers, it seems that use is declining, but I may very well be wrong on this. Anyway, the approx. 180.000 downloads per month of ALL JBoss products combined are pretty far away from the 340.000 of struts.

The bottomline: I still believe Matt is right and JSF is losing grounds. But anyway, there are plenty of technical reasons supporting this, so it's not really surprising.

Posted by Ignacio Coloma on July 14, 2007 at 05:42 AM MDT #

hmmm .. we're still not learning from Rails, where simplifying the web development *in order to help the web Designers* is a mantra?? JSF, JSP .... annotations ... is too much for my humble skills. Meanwhile I am still getting the things done .. fast, and the web Designers using JPublish are feeling comfortable in a "don't need to know Java" world! http://code.google.com/p/jpublish/, but being a JPublish user, yes, I am biased, so ... please ignore my comment.

Posted by Florin on July 14, 2007 at 08:05 AM MDT #

Matt, I love Fat Tire as much as the next guy, but after a few of them, you're the only one I know who then goes online to rip on JSF.

Posted by Jacob Hookom on July 14, 2007 at 02:44 PM MDT #

Hi, You just forgot GWT in your stats. I do not know the numbers - and i did not find them - but it seemd to be a pretty good success.

Posted by Gabriel on July 15, 2007 at 04:09 PM MDT #

Matt, you must compare statistics from other projects when they release a major version. Kind Regards

Posted by Marcos Silva Pereira on July 15, 2007 at 07:17 PM MDT #

hmm, so hard for me, Dude. :D -IT-

Posted by Irvan on July 15, 2007 at 08:07 PM MDT #

Marcos - I agree that it'll be interesting to watch download spikes when there's a major release. Rumor is that MyFaces will be releasing a JSF 1.2 implementation this week. That could be huge.

Posted by Matt Raible on July 15, 2007 at 10:19 PM MDT #

Jonathan, from the quote: "Most copies of Struts are downloaded from an network of mirrors or obtained from Maven repositories." Other disclaimers about the number of wicket downloads being much smaller than actual also applies to the Struts download count.

Posted by Rene on July 16, 2007 at 11:57 AM MDT #

@Jacob I'll add to Matt Raible's tribe and rip on JSF online: http://www.jroller.com/dhanji/entry/tinman_and_the_scarecrow_yet Dhanji. =)

Posted by Dhanji R. Prasanna on July 18, 2007 at 12:27 AM MDT #

Sorry, but since when is Hibernate a Web framework ?;-) If you compare it with anything, you'd have to compare it with TopLink, Kodo or OpenJPA among others, not Struts or JSF.

Posted by Werner Keil on July 18, 2007 at 05:08 PM MDT #

I see bright future for wicket and JSF.

Posted by Renish Ladani on July 27, 2007 at 06:53 AM MDT #

JSF will simply die because of GWT.

Posted by 70.126.80.231 on August 12, 2007 at 10:38 PM MDT #

Nah! JSF is a proven framework and doing well in the market.GWT is very new and long way to go.GWT needs integration with backend.

Posted by Mike on August 13, 2007 at 05:20 PM MDT #

Anyone have experience with zk?

Posted by Chris on August 29, 2007 at 03:17 PM MDT #

ZK has about 25k and unknown number of maven distributions

Posted by Mike on August 18, 2008 at 01:13 AM MDT #

JSF is a natural choice at my company. It saves a lot of time, is intutive and extensible. Furthermore, you have a rich choice of libraries using Ajax4JSF and Richfaces.

Posted by aayush on April 06, 2009 at 08:50 AM MDT #

Post a Comment:
  • HTML Syntax: Allowed