Your First App: Node.js

Jim Schubert
0 ratings

This is the official release version of Your First App: Node.js.

For a preview of the first two chapters, please visit the Github Pages hosted preview.

This book is intended for professionals or students who have a comfortable working knowledge of JavaScript, HTML, CSS, and the stateless nature of HTTP. If you're not comfortable with JavaScript, I highly recommend reading both JavaScript: The Definitive Guide and JavaScript Garden. Although I'll quickly go over some necessary fundamentals for beginners, it will be difficult to become a 'node.js developer' without a solid foundation in JavaScript. HTML, CSS, and client-side JavaScript will be necessary for the presentation of your application, while understanding the stateless nature of HTTP will make some of the techniques discussed in this book easier to learn.

Why this book?

Many books on a given technology focus on really digging into a certain framework or a few simple concepts. Node.js is an interesting technology for many reasons, including:

  • it popularized server-side JavaScript
  • encourages modularization
  • has a fairly large community
  • provides amazing throughput for data

I have read many technology books and yet I've always felt like there was a gap between books covering a given technology and how you'd actually undertake creating a full application on your own. When I realized that node.js is attracting a lot of front-end developers and hobbyists to the community, I understood what that missing "gap" was: the application life cycle. For developers without a degree in Computer Science or Information Systems, it may be difficult to figure out how to actually start creating a full application. I hope to address this in the text by providing some simple guidelines that help to lay out a clear path between the starting point and the finished product. The intended audience for this book is anyone familiar with HTML, CSS and JavaScript. You don't need to be a professional engineer or even have years of experience. In early chapters, I discuss the aspects of JavaScript that I feel are crucial to understanding how to write an application in node.js. Where I feel newer developers may benefit from further reading, I suggest online or print resources that I've found helpful.

What makes this book different?

When working with Junior developers, I try to avoid the sink or swim mentality that many Seniors seem to have. Instead, I like to explain why I've chosen one thing over another. In this book, I include an entire chapter to discuss development considerations which are usually omitted from mainstream texts. For instance, when was the last time you read a book that suggested a build automation tool? I can't remember any book that clearly explained why a sample application was written to use MongoDB instead of Redis or MySQL. These are things I attempt to cover in this book before diving in to the meat of the text you'd find in similar books. I even have a short prototyping chapter for readers who are unfamiliar with the technologies used in the book to try some hands-on code before applying this knowledge to the sample application.

These are all things people with professional full-stack (e.g. client-server-database) experience do on a regular basis. With such a fresh, young community being attracted to node.js application development (many without server-side or database experience) I think this book's early focus on process and maintainability are important aspects for any beginner to pick up.


Writing an application requires a developer to pick up skills in multiple technologies for frameworks. I plan to at least cover the basics of all the tools necessary to create a full node.js application. Some of the technologies covered in this book are:

  • node.js v0.12.0
  • express.js v3.2.6 (node.js)
  • grunt.js v0.4.1 (node.js)
  • mocha v1.12.1 (node.js)
  • Twitter's Bootstrap v3.2.0 (CSS)
  • AngularJS v1.2.24 (client JavaScript)
  • MongoDB v2.6.12 (database)
  • git latest version (source control)

The intention is not to fully teach a developer everything about every one of these technologies, but I will go over the basics for everything that is not considered node.js and go over the node.js technologies in greater detail.

While the technologies targeted in this book are years old, the concepts can easily be applied to the latest versions of those technologies -- often with minor changes.

File Formats

Your purchase includes the following file formats:

  • PDF
  • MOBI
  • EPUB 3
  • Kindle Format 8 (as .epub)

The PDF file can be opened on almost any device using a pdf viewer. The PDF is the preferred format, as the display quality of others is heavily dependent on software and hardware.

The MOBI and EPUB 3 files are supported by nearly all e-readers. You can easily send these to your Kindle device by following the instructions here:

The Kindle Format 8 versioned epub is an optimized Kindle format, supporting a subset of the EPUB 3 standard. You may need to rename the file extension to .azw before emailing to your device if you experience issues.

Gumroad App

Gumroad also offers iOS and Android applications in which you may download or read this book directly. 




You may read this book in-browser at Login to your account and click Read next to a supported format.

Powered by


Your First App: Node.js

Enter your info to complete your purchase of No Access


You'll be charged US$9.99.