Two days ago, I put up a simple survey that asked what essential tools, libs and frameworks you were using for front-end development. I closed out the survey last night a little before 9pm EST and after getting 1000+ responses. I now want to share the results.
Why Am I Doing This?
As I’ve mentioned, this was an incredibly unscientific survey and not meant to determine which tool is best. Just which tools seem to be in heavy use.
I’m doing this to help web developers (myself included) stay on top of commonly used tools. Since change constantly but at least this gives a snapshot of what’s frequently used.
A couple of people buzzed me (some complaining and eluding bias), because I hadn’t listed “x” tool or lib in the survey. The survey wasn’t meant to be all-inclusive and if you look at the “Other” section below, you’ll see how adding everyone’s favorite tool would’ve been impossible. That’s what the “Other” option was for. Ultimately, instead of looking at what wasn’t there, you should read this for what was selected to determine if you need to get up-to-speed on specific tools.
The Process
After closing the survey, I removed all blank records and then went entry by entry to factor in the “Other” submissions and list out tools not originally added on the survey. I did my best to list every technology mentioned although it’s quite possible I may have missed something. If I did, it was purely accidental.
I ended up with 1031 total responses that I felt were good submissions. The results shown below for the main list was based off of what Google Docs provided. I didn’t do those calculations but I have to assume they’re correct.
Important to note is that the following options were added after 218 people had already replied so those values could’ve been much higher if added at the beginning. This is evident in Git & Coffeescript’s high numbers despite being added late.
- LESS
- Git
- ExtJS
- Ember.js
- prefix-free
- JSBin
- JSFiddle
- dabblet
- Kendo UI
- Wijmo
- Coffeescript
- YUI
Results from the Main List
Results from the “Other” Submissions
The ones listed below were submitted via the “Other” option and not on the main list.
A note about Enyo
EnyoJS is a framework released by HP which looks to have come out of the great work done by Palm. I haven’t used it and don’t have an opinion whether it’s actually awesome or not. I’ve held off on including it in these stats, though, because there was a high number of out-of-place submissions for it and they seemed clustered together around the same time. Additionally, MANY were single Enyo submissions with no other option chosen. Just seemed too odd to me but I’ll put out the data and if someone else wants to publish, go for it.
The Raw Data
Here’s the raw data from the survey. Please feel free to use it as you like and I hope it helps you out.
Raw Data from the Survey (.csv)
It’s important to note that there is no one tool that’s best for every person or for every job.
If you think that jQuery is the one tool to get things done, I can show you a hundred projects where it would have been the wrong choice, and can point out a hundred places where even if you are using jQ, you should be sticking to raw JS instead of some of the jQ methods. I can say likewise for pretty much all the tools on this list.
The thing that separates a truly good programmer from the rest is that s/he knows the best tools, but more importantly s/he knows when to use them, and when not to. Nothing on this list is “essential”
Agree 100% on your last sentence Bob. As I stated, the list is meant to give developers an idea of commonly used tools. That’s not a bad thing and it does help to determine which tools might be good to vbe versed in, especially from a job perspective. In addition, the list allows developers to further explore tools that they may not even know exist, which could help them in their day-to-day work.
So yes, nothing on the list is essential to development but to many of the people that replied, the tools they chose are essential to them which is what I asked.
Hi Ray. This is interesting, and the data about supporting tools like Git, RequireJS, and CoffeeScript is probably valid. But since you’re a well-known jQuery blogger and you’re on the jQuery team, it’s hardly surprising to see the higher numbers for jQuery and it’s related libraries (underscore, etc.).
I’m not saying you’re being biased on purpose or anything. I’m just saying that I don’t see how the results could have been anything different from what they are, given the audience that frequents your blog. There are clearly a very large number of people using Angular, ExtJS, GWT, etc. It’s just highly likely that don’t read (or even know about) this blog. ;-)
Good feedback Brian. First, I’m no longer on the jQuery team. I left the team in December of 2011.
Secondly, and more importantly, the survey itself was mainly distributed via Twitter (not my blog) and the bulk of responses came because of retweets from people like Christian Heilmann, Jonathan Snook, Lea Verou, Faruk Ates and many more who are far more influential than I am and have no direct association to the jQuery project. Someone else mentioned the very same thing you did and as soon as I explained who else was sending out the survey, it seemed to offset their concerns. If you look at the first blog post about the survey, you’ll see I had only a handful of actual comments.
So overall, I think the distribution of developers is pretty good.
PS: My name is spelled “Rey” with an “e”. ;)
Hah, sorry about that. I guess I know too many “Rays”.
OK, your other comment helps clarify that the audience was wider than it initially seemed (I admit I didn’t read the first blog entry, just this one). It just seems a bit odd to me that GWT and ExtJS (and to a lesser extent, Angular) had such low response rates, given the vast sizes of those communities.
No worries Brian. It’s a common misspelling. :)
I tried my best to cast a wide net specifically to avoid those concerns. Not sure why the GWT & ExtJS communities didn’t take the survey but that could also be attributed to them not following any of the people that helped me spread the survey around.
Oh, and since you mentioned ExtJS, here’s the reason I added it to the main list:
https://twitter.com/dmitrybrin/status/227879111287263232
I guess some Ext users do follow me. ;)
Rey,
I follow you and I’m a long-time Ext user. If memory serves, you used to work for Ext back in the day. (not sure if it was Sencha then, or not)
You’re correct James. :)
Hey Rey, I don’t see my submission of FrontPage, did you get it?
I spit out my coffee when I read that. :)
Hello Rey, great job!
I would like to contribute to the list with scss-toolkit( https://github.com/davidrapson/scss-toolkit/ ) and my kickstart-smacss ( https://bitbucket.org/andersonjuhasc/kickstart-smacss/src ).
Hug.
Thanks! Best way to do that is by taking the survey. :)
I recently learned about headjs.com while working with a partner on my last project at cbssports.com (http://www.cbssports.com/olympics) It’s good for loading multiple js libs in parallel. Plus two versions of jQuery coexisting nicely thanks to jQuery.noConflict().
The main concern I have about Head.ks is that it hasn’t been updated in about a year. For my purposes, I would look at Curl.js or Require.js as more up-to-date and maintained script loaders.
It’s quite sad to see that there are only 4 points for JSHint and 2 points for JSLint.