Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Channels ▼

Jolt Awards: The Best Books

, September 23, 2014 The best books of the past 12 months.
  • E-mail
  • Print

Jolt Finalist: Automate With Grunt

by Brian Hogan

Given enough time, every language develops its own build utility. C and C++ have the many make variants. Java has Ant and Maven, Groovy has Gant, Ruby has Rake, and so on. While in theory, one tool could be used across multiple languages, the reality is that each language's ecosystem has different conventions and different ways of delivering the final distributable executable package.

Now that JavaScript is both a client and server solution, it needs a sophisticated build tool as well. While there are several products that have tried to address this need, the leading one is surely Grunt. Grunt performs many of the JS-specific tasks you'd encounter in normal Web app production: linting, minification, testing, and so on. In addition, Grunt has a growing ecosystem of plugins that help to integrate it into modern toolchains.

What Grunt has lacked is a useful manual with documentation of not only common tasks, but common build situations. This book, published by the Pragmatic Programmers, is precisely that guide. It's a practical guide to building applications in JavaScript, a manual for Grunt, and a reference that provides recipe-like solutions. Explanations of how to work with plugins and tutorials on how to write your own task templates complete this intensely hands-on book. In addition, it's well written. It is, in sum, precisely the book you wish you had for each of the major tools you use in software development.

In discussing this book, one of the Jolt Award judges lamented that there were not more inexpensive, single-topic, hands-on manuals that give you all you need to know in a direct and approachable style. This observation is spot on in this era of carelessly written manuals and defective documentation. However, Automate With Grunt is one of the few manuals that amply fulfills this simple mission. If you write apps primarily with JavaScript, this is the book to get and keep within reach.

— Andrew Binstock

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.