I am currently writing a book called Your first app: Node.js. I am self-publishing this book through leanpub.com. You can check it out here.
One cool thing about self-publishing on leanpub is that people can purchase the book early and receive all future updates as I write. Feedback from this process may also help me to revisit areas I’ve unintentionally left a little light or not explained very well.
The book is currently about 66% completed. I recently completed the chapters through the node.js API. To complement that API, I will be writing a chapter on creating an AngularJS front-end. Then I’ll explain how to deploy your application to Digital Ocean (although the steps will be similar for many other hosts). Finally, I will provide some suggestions for further learning.
Below is the book description as shown on leanpub.
ABOUT THE BOOK
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:
- encourages modularization
- has a fairly large community
- provides amazing throughput for data
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:
- express.js (node.js)
- grunt.js (node.js)
- mocha (node.js)
- Twitter’s Bootstrap (CSS)
- MongoDB (database)
- git (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.
Future chapters will focus on:
- ✓ git workflow
- ✓ project structure and setup
- ✓ setting up a database
- ✓ modeling a database “schema”
- ✓ creating a minimal API
- creating a front-end application
- asynchronous communication between client and server
- ✓ authentication strategies
- … more
As this book is written, I welcome your feedback and comments at email@example.com
This book is currently about 66% complete.
The final product is estimated to be between 200 and 250 pages in length (not including appendices).
Sample code for this book is located on github at jimschubert/yfa-nodejs-code.