Huh. This was interesting, but a few things stood out as strange to me:
NPM listed as a task runner. Despite the fact that you can use
npm runas an alias for some scripts, I wouldn't really categorize it this way, as you can use NPM in tandem w/ every other tool listed in this category.
The misc tools section doesn't really make much sense to me. Building even a basic project in Yeoman will require me to use NPM, Yeoman, and Bower, which makes comparing these tools against each other kinda weird/confusing, imho.
Things I wish were included:
Would have really liked to see where GNU Make falls in the task runner section.
package manager section (NPM, JSPM, bower, etc)
module standard adoption (AMD, CommonJS, ES6, etc)
Compile-to-JS languages/libraries, ranging from CLJS, Babel, Elm, coffeescript, etc)
Languages known in addition to JS (and how often they're used for work)
Interesting read, though I wish there were more responses and more questions.
I completely agree, the questions not the right questions to be asked to get a good overview of the state of front end dev. Many simply left out popular tools, and some just didn't work (like jquery and angular in the same question).
Npm can however be used as a build tool quite well, see: http://blog.keithcirkel.co.uk/how-to-use-npm-as-a-build-tool/
We tried it for one of our projects here, and it works quite well.
All fair points – I was simply trying to strike the balance between getting useful info and not asking too many questions. What popular tools were left out of any questions?
Also, having jQuery and Angular in the same question was to judge knowledge levels, not to provide a comparison between the two functionally.
I am going to try to run the survey periodically to see if trends emerge, so will look at adjusting the questions slightly to gain as much value as possible. Thanks for the feedback!
NPM doesn't actually do the stuff that you're using for the build - its just an interface (as I mentioned in my original post). You're entering in
npm run foobut that could be literally anything. NPM isn't a build tool; its a package manager that can act as an interface for almost every other build tool out there.
For example, I currently use NPM to run a Gulp build system that uses webpack for JS. I could do this with Gulp by itself (but then I'd have to go back to Browserify for JS), I could do this with Webpack by itself (but webpack-dev-server is super opaque), but I couldn't just use NPM.
Gulp and webpack are also essentially just interfaces. They just make it easier to setup once you learn them.
This is really interesting! What would be even more interesting is seeing the results to this survey every month/quarter to see how things are trending over time. I would guess that jQuery usage is trending downwards.
Haha, the results look like I took the survey too (with the exception of using a task runner, I don't).
Any reason for that? Just curious about how do you deal with automation. I use Gulp myself and so far it's been working quite well for me.