In collaboration with Sarah Fischer and Kalina Wu
Scaffolding Tools (for starting projects)
- Yeoman - Yeoman is a robust and opinionated client-side stack, comprising tools and frameworks that can help developers quickly build beautiful web applications.
Build Tools (automation)
- Grunt.js - The Grunt ecosystem is huge and it’s growing every day. With literally hundreds of plugins to choose from, you can use Grunt to automate just about anything with a minimum of effort.
- Pint.js (Grunt helper) - Pint is a small, asynchronous, dependency-aware wrapper around Grunt, attempting to solve some of the problems that accompany a build process at scale.
- Gulp.js - Gulp’s use of streams and code-over-configuration makes for a simpler and more intuitive build.
- Browserify.js (for browser) - Browserify is a development tool that allows us to write node.js-style modules that compile for use in the browser. Just like node, we write our modules in separate files, exporting external methods and properties using the module.exports and exports variables.
Package Management Tools
- Homebrew (Mac OS) - Homebrew installs the stuff you need that Apple didn’t.
- Apt (Ubuntu) - The apt-get command is a powerful command-line tool, which works with Ubuntu’s Advanced Packaging Tool (APT) performing such functions as installation of new software packages, upgrade of existing software packages, updating of the package list index, and even upgrading the entire Ubuntu system.
- NPM - npm is the official package manager for Node.js.
- Bower - Bower is a package manager for the web.
- Backbone.js - Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, and views with declarative event handling. It connects it all to your existing API over a RESTful JSON interface.
- Angular.js - AngularJS lets you extend HTML vocabulary for your application. The resulting environment is extraordinarily expressive, readable, and quick to develop.
- Handlebars.js - Handlebars provides the power necessary to let you build semantic templates effectively with no frustration. Mustache templates are compatible with Handlebars, so you can take a Mustache template, import it into Handlebars, and start taking advantage of the extra Handlebars features.
- Jade - Jade is a node template engine designed primarily for server-side templating in node.js.
- Eco - Eco lets you embed CoffeeScript logic in your markup.
- Express - Express is a web application framework for Node.
- MongoDB - MongoDB is an open-source document database, and the leading NoSQL database.
- Postgresql - PostgreSQL is a powerful, open source, object-relational database system.
- SQL - SQL is used to communicate with a database. According to the American National Standards Institute, it is the standard language for relational database management systems.
- RESTful - Representational State Transfer is an architectural style consisting of a coordinated set of architectural constraints applied to components, connectors, and data elements, within a distributed hypermedia system.
Functional Programming Tools
- Lo-Dash - Lo-Dash is a utility library delivering consistency, customization, and performance.
Have a tool you think should be on the list? Check out this article and the associated MindNode mind map (OPML) on Github. Submit a pull request and send us your suggestions to add new and popular tools!