Appendix C. Picking your build tool
Deciding on a technology is always difficult. You don’t want to make commitments you can’t back out of, but eventually you have to choose something. Committing to a build technology is no different in this regard: it’s an important choice and you should treat it as such.
For the purposes of this book, I decided on Grunt as my build tool of choice. I made an effort to not go overboard on Grunt-specific concepts, but rather to explain build processes in the grand scheme of things, using Grunt as an accessory—the means to an end. I chose Grunt for several reasons; a few of these are shown in the following list:
- Grunt has a healthy community around it, even on Windows.
- It’s widely popular; it’s even used beyond the Node community.
- It’s easy to learn; you pick plugins and configure them. No advanced concepts are used and no prior knowledge is needed.
These are all good reasons to use Grunt to teach build processes in a book, but I want to make it clear I don’t think Grunt is the single best option out there; other popular build tools might fit your needs better than Grunt.
I wrote this appendix to help you understand the differences between the three build tools I use most often in front-end development workflows:
- Grunt, the configuration-driven build tool that you use throughout this book
- npm, a package manager that can also double as a build tool
- Gulp, a code-driven build tool that’s somewhere between Grunt and npm