Rails Rumble Observations, part II – trends in gem/plugin usage

rails_rumble.png
In part I I wrote about the hows and whys of gathering gem/plugin usage data based on Rails Rumble submitted user information, and in this part I would like to present my findings. So without further ado, here we go:

Prototype/jQuery

I already covered this in part I, but for completeness’ sake, here is the chart again:


prototype_jquery.png

It seems that jQuery is (not so) slowly replacing Prototype as the javascript framework of Rails – which is still better (from the Prototype POV) than with Merb, where jQuery is the default framework (oh yeah, I know, Merb is everything-agnostic etc. etc. but I think vast majority of merbists are using Datamapper, jQuery etc. (?)).

Skeleton Applications

Well… this chart is rather dull:


bort.png

One in every three teams used a skeleton application (which in this context can be replaced with ‘Bort’).
The sovereignity of Bort is a bit surprising given that it’s not the only player in the field by far – there are definitely others, like ThoughtBot’s suspenders, Blank by James Golick, starter-app by Pat Maddox, appstarter by Lattice Purple just to name a few.

I am not sure about the others, but the absence of suspenders from the chart has more to do with the fact that it was not yet publicly released before Rails Rumble – I am basing this claim on the fact that a lot of people used the gems/plugins which, combined together, are basically suspenders.

However, this doesn’t alter the fact that Bort is immensely popular – great stuff, Jim.

Testing Frameworks

I think there are (at least) 2 things to note here:

  1. Testing in Ruby/Rails is not considered optional even facing a very tight deadline. Even if we assume that the 49% didn’t test at all (which surely doesn’t sound too realistic – they probably just went with Test::Unit), more than half of the teams did!
  2. Though testing tools are a much debated topic nowadays, and the winner is not clear (yet) – I would guess, based on the above results there is roughly an 1:1:1 ration between Test::Unit, rspec and shoulda *currently* – there are definitely interesting alternatives to Test::Unit.


testins.png

Mocking


mocking.png

Not much to add here – though the above chart says nothing about how much people are using e.g. Mocha with rSpec (vs. using the rSpec built-in mocking tools), one thing is clear – as a stand-alone mocking framework, Mocha reigns supreme.

Exception Notification


ex_notification.png

Another point for ThoughtBot (not the last one in this list) – Hoptoad has no disadvantage compared to the more traditional Exception Notifier (if we don’t count getting an API-key, which takes about a minute) – on the upside, you get a beautiful and user friendly web GUI.

Full-text Search


full_text.png

I found the above chart interesting for two reasons:

  1. I thought that Ferret and/or acts_as_solr are still somewhat popular – it turns out they are not
  2. I also thought Thinking Sphinx is the de-facto fulltext search plugin, and didn’t know about Xapian – well, I learned something new again.

Uploading


uploading.png

ThoughtBot did it again – Paperclip is already more popular than the old-school attachment-fu. I am always a bit cautious when someone challenges the status quo (like Nokogiri vs.
Hpricot, Authlogic vs. Restful Authentication, attachment-fu vs. Paperclip etc.) but it seems Paperclip is ripe to take over. You can find some interesting tutorials here and here.

User Authentication

Another dull graph for you:


user_auth.png

I am wondering how homogenous this chart would be if Authlogic would have appeared earlier – it seems like a strong challenger (already watched by around 260 people on github) and I am sure it will take a nice slice of the pie in the future.

What’s more interesting is the openID support: more than one third of the apps offered openID authentication, and quite a few of them *solely* openID.

Misc

  • factory_girl was used to replace traditional fixtures in every 6th of the apps!
  • HAML/SASS is quite popular – used in about 20% of the applications
  • Hpricot was the only HTML/XML parser used (in 7 apps alltogerher)

What I am happy about the most is that there is still a lot of innovation going on in the Rails world – as you can see, newer and newer plugins/gems are appearing and in some (in fact, a lot of) cases are dethroning their good ol’ competitors. There is a lot of competition going on in almost every major area of Rails web development, and this is always a good thing.

20 thoughts on “Rails Rumble Observations, part II – trends in gem/plugin usage

  1. Very interesting; thanks for doing this. Now I don’t have to 🙂

    A note: Team Giraffesoft did use Blank, though we may have been the only ones. Whenever we have time, we will be adding features to it from the rails rumble.

  2. @Daniel: oops, somehow I didn’t notice it (indeed, you stated ‘Initial application forked from Blank’) – but statistically it doesn’t change the picture too much :-). It’s still like 32:1 in favor of Bort or something like that.

    In the future it would be great if the Rails Rumble organizers would agree on a common format to make the generation of the above charts possible/easier – e.g. a checklist (‘skeleton app: ‘, ‘JS framework: ‘ + output of gem list + ls RAILS_ROOT/vendor/plugins or something.

  3. Pingback: Ruby, Rails, Web2.0 » Blog Archive » Rails Rumble Observations, part I - jQuery on the Heels of Prototype

  4. Hi,

    Thanks for the great article. Very insightful. I personally know of 3-4 teams that uses suspenders. You can tell a suspenders app because it will have a doc/READMEFORTEMPLATE file.

  5. @Chad, @Dan: Sorry, I used the user supplied data to collect the tools (and obviously didn’t have a clue about the doc/READMEFORTEMPLATE file), so the results represent only what I was able to reconstruct from that…

  6. @Richy:

    The final bulleted list says: “HAML/SASS is quite popular – used in about 20% of the applications”

  7. Pingback: Speeding Up Rails Development | Ruby on Rails

  8. Pingback: Weekly Digest, 11-23-08 - almost effortless

  9. Pingback: Ruby, Rails, Web2.0 » Blog Archive » Hot in Edge Rails: Generate Rails Apps from Templates

  10. Pingback: Ruby, Rails, Web2.0 » Blog Archive » Thinking About Switching to jQuery?

  11. Pingback: » RSpec + machinist pradžiamokslis (I dalis) // Vidmantas // emptydot.com

  12. A genuinely beneficial publish by you my good friend. We have bookmarked this web page and can occur back again following several days to examine for virtually any new posts which you make.

    1. Hi there to you, I received your write-up through my friend and she is true, your write-up is extremely interesting and I used to be touch by each phrase you select particularly on how you engage them.
  13. You you should edit the blog title Ruby, Rails, Web2.0 » Blog Archive » Rails Rumble Observations, part II – trends in gem/plugin usage to something more specific for your content you make. I liked the post nevertheless.

Leave a Reply

Your email address will not be published. Required fields are marked *