Yes, seriously. So by your logic we should be listing the browsers, the operating systems, the compilers, the linkers.
No. The title is misleading, I clicked on it expecting a good breakdown of the current can't-do-without javascript libraries for web application programming.
MongoDB? PostgreSQL? Why don't we mention Python too since not every Javascript programmer is using NodeJS, oh wait - maybe we should start mentioning Haskell to JS compilers too, yes, because those are Javascript tools and libraries.
All of those things are interesting but the title mislead me and I made note of it.
>MongoDB? PostgreSQL? Why don't we mention Python too since not every Javascript programmer is using NodeJS, oh wait - maybe we should start mentioning Haskell to JS compilers too, yes, because those are Javascript tools and libraries.
I don't understand this slippery slope argument. One can mention tools relevant to JS developent that are not themselves written in JS, without going to the extreme of listing everything under the sun.
Even if it's a little fuzzy when you stop, MongoDB is known to be a great tool for NodeJS projects, whereas everybody understands that the linker and the compiler is not really relevant to the discussion.
It's pretty easy to understand and it's not a slippery slope; what is slippery is bringing in tools and libraries that have nothing to do with Javascript.
Also, this whole argument has gone on far more than I intended - simply pointing out that the title was misleading and the reason why I thought it was misleading has suddenly turned into a holy jihad (proof given by the downvoters) to defend MongoDB's inclusion in the list (which is sad because MongoDB isn't a great DB either but that's not part of this argument).
I hold on to the fact, though, that it was indeed misleading and my desire for clarity is important to me and meaningful writing; when people criticize my writing for the smallest or the largest of reasons I want to hear it. Misleading title? Okay, why and what would you suggest?
I did not find this list particularly useful. It is a nice attempt, but the way it categorizes libraries can be deceptive. I do not think anyone would consider bower and npm to be comparable projects, except in the most abstract sense. The same applies with node and express; one may as well conflate ruby with rails.
That said, a lot of the tools are really good. I would, personally, argue that underscore is the most important javascript library in existence. It transcends frontend and backend, server and client. It is data manipulation at its finest. It brings functional programming paradigms to javascript. It is beautiful.
After spewing this mantra, one of my colleagues wrote a blog post about it that presents a nice introduction[1]. I would also highly recommend Michael Fogus's book, Functional Javascript[2], that heavily relies on it.
When I went to that list I was specifically looking for underscore.js and date.js. Seeing a serious project that does not use these libraries makes me twitch.
Yeah, underscore was there but date wasn't. I guess my point was that there wasn't a date.js or some reasonable equivalent time library because date/time programming sucks.
They're not very different but I use lodash instead of underscore. Is this "six of one and half a dozen of the other", or is there good reason to stick with underscore?
I was pleased to see Knockout.js listed (inappropriately as an MVC framework) on the image, but then there was no mention of it at all in the descriptions section. For a list sluggedly touting itself as the 'complete-list-of-javascript-tools', it really is missing a lot of information.
How come nobody looked at this list and said, "Holy shit, why do need 6 templating libraries?", or "Why is it we have 6 libraries that are build tools?"
At some point I would've thought some of these would get consolidated, but instead all we have is more and more and more libraries popping up. Instead of just building in features, we're just simply building new libraries to address some need a developer had which wasn't in an existing library.
I'm all for an awesome set of tools, but at some point, shouldn't we really think about combining some of these and just build one or two tools with all the features a developer needs?
- Assertion libraries aren't a backend thing. Jasmine is very useful on the front-end
- If you're gonna have underscore under templates, and underscore and lodash under "functional programming", you better put lodash under templates too ;p
- I wouldn't call Knockout a MVC framework, it's really just a 2-way data binding library.
Nice list, I've used most of those tools at the previous startup I worked at. Shameless plug: You might find this tool I wrote useful in plenty of situations: https://github.com/SGrondin/bottleneck
34 comments
[ 2.6 ms ] story [ 94.0 ms ] threadNo. The title is misleading, I clicked on it expecting a good breakdown of the current can't-do-without javascript libraries for web application programming.
MongoDB? PostgreSQL? Why don't we mention Python too since not every Javascript programmer is using NodeJS, oh wait - maybe we should start mentioning Haskell to JS compilers too, yes, because those are Javascript tools and libraries.
All of those things are interesting but the title mislead me and I made note of it.
Get off my back.
I don't understand this slippery slope argument. One can mention tools relevant to JS developent that are not themselves written in JS, without going to the extreme of listing everything under the sun.
Even if it's a little fuzzy when you stop, MongoDB is known to be a great tool for NodeJS projects, whereas everybody understands that the linker and the compiler is not really relevant to the discussion.
Also, this whole argument has gone on far more than I intended - simply pointing out that the title was misleading and the reason why I thought it was misleading has suddenly turned into a holy jihad (proof given by the downvoters) to defend MongoDB's inclusion in the list (which is sad because MongoDB isn't a great DB either but that's not part of this argument).
I hold on to the fact, though, that it was indeed misleading and my desire for clarity is important to me and meaningful writing; when people criticize my writing for the smallest or the largest of reasons I want to hear it. Misleading title? Okay, why and what would you suggest?
That said, a lot of the tools are really good. I would, personally, argue that underscore is the most important javascript library in existence. It transcends frontend and backend, server and client. It is data manipulation at its finest. It brings functional programming paradigms to javascript. It is beautiful.
After spewing this mantra, one of my colleagues wrote a blog post about it that presents a nice introduction[1]. I would also highly recommend Michael Fogus's book, Functional Javascript[2], that heavily relies on it.
1. http://singlebrook.com/blog/simplify-your-javascript-with-un... 2. http://shop.oreilly.com/product/0636920028857.do
http://momentjs.com/
http://javascriptjabber.com/079-jsj-lo-dash-with-john-david-...
by Google trends it should be second after AngularJs
At some point I would've thought some of these would get consolidated, but instead all we have is more and more and more libraries popping up. Instead of just building in features, we're just simply building new libraries to address some need a developer had which wasn't in an existing library.
I'm all for an awesome set of tools, but at some point, shouldn't we really think about combining some of these and just build one or two tools with all the features a developer needs?
- Assertion libraries aren't a backend thing. Jasmine is very useful on the front-end - If you're gonna have underscore under templates, and underscore and lodash under "functional programming", you better put lodash under templates too ;p - I wouldn't call Knockout a MVC framework, it's really just a 2-way data binding library.
(nevermind the fact that this has nothing to do in a list of javascript libraries/tools, why not add Vim, and Unix, then?)