Last Updated on July 28, 2020
New languages, APIs and toolkits continue to emerge at a surprising frequency. Some of the new languages are created by large corporations looking to usurp their rivals’ languages, others have started as personal projects snowballing with contributions from other developers. Programming is constantly developing.
Node.js (commonly known as Node) is a modern, event based, asynchronous I/O software platform which is designed for scalable network and server-side applications. First released in 2009, it is released under the MIT license.
This platform helps developers write web application frameworks, middleware, high performance servers, other networking applications, and much more. Node runs JavaScript using Google’s V8 JavaScript engine and can compile and execute JavaScript extremely quickly. This is because Node compiles JavaScript into native machine code. Node applications run within the Node.js runtime on the main operating systems with with no changes. With HTTP and socket support, Node can act as a web server without additional web server software such as Apache.
The focus of this article is to select the finest Node books which are available to download for free. Most of the books featured here are brief introductory texts designed for individuals looking to get a flavor of what Node has to offer, although Up and Running With Node.js and Mixu’s Node Book add more meat to the bone.
We’ve published a series covering the best open source programming books for other popular languages. Read them here.
1. Mastering Node
Website: visionmedia.github.io/masteringnode/
Author: TJ Holowaychuk
Format: PDF, EPUB, MOBI, HTML
Pages: 21
Mastering Node is an open source eBook by node hackers for node hackers.
Readers of this brief introductory book will discover how to write high concurrency web servers, utilizing the CommonJS module system, Node’s core libraries, third party modules, high level web development and more.
Mastering Node is supplied with code samples. It offers an excellent introduction to the world of Javascript on the server.
Mastering Node is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
2. Up and Running With Node.js
Website: www.oreilly.com/library/view/node-up-and/9781449332235
Author: Tom Hughes-Croucher, Mike Wilson
Format: PDF
Pages: 204
This book introduces you to Node, the new web development framework written in JavaScript.
Readers learn hands-on how Node makes life easier for experienced JavaScript developers: not only can you work on the front end and back end in the same language, you’ll also have more flexibility in choosing how to divide application logic between client and server.
The book focuses on the following areas:
- Understand Node’s event-loop architecture, non-blocking I/O, and event-driven programming to build robust node applications
- Discover how Node supports a variety of databases including CouchDB, Redis, MongoDB, MySQL, and PostgreSQL, as well as data storage tools
- Learn best practices for writing easy-to-maintain code for Node
- Get concrete examples of how to use the various Node APIs in practice
- Take advantage of the book�s complete API reference examining events, HTTP, and I/O&
- Explore some of the popular modules for node examining Express, and Socket.IO
- Learn about the module system in Node
3. JavaScript and Node FUNdamentals
Website: leanpub.com/jsfun
Author: Azat Mardonov
Format: PDF, EPUB, MOBI
Pages: 32
JavaScript and Node FUNdamentals is described by its author as a collection of essential basics.
Topics:
- JavaScript FUNdamentals
- Expressiveness
- Loose Typing
- Object Literal Notation
- Functions
- Arrays
- Prototypal Nature
- Conventions
- No Modules
- Immediately-Invoked Function Expressions (IIFEs)
- Keyword “this”
- Pitfalls
- Further Learning
- Node.js FUNdamentals
- Read-Eval-Print Loop (a.k.a. Console) in Node.js
- Launching Node.js Scripts
- Node.js Process Information
- Accessing Global Scope in Node.js
- Exporting and Importing Modules
- Buffer is a Node.js Super Data Type
- __dirname vs. process.cwd
- Handy Utilities in Node.js
- Reading and Writing from/to The File System in Node.js
- Streaming Data in Node.js
- Installing Node.js Modules with NPM
- Hello World Server with HTTP Node.js Module
- Debugging Node.js Programs
- Taming Callbacks in Node.js
- Introduction to Node.js with Ryan Dahl
- Moving Forward with Express.js
- Express.js FUNdamentals
- Express.js Installation
- Express.js Command-Line Interface
- Routes in Express.js
- Middleware as The Backbone of Express.js
- Configuration of an Express.js App
- Jade is Haml for Express.js/Node.js
- Conclusion About The Express.js Framework
4. What is Node?
Website: shop.oreilly.com
Author: Brett McLaughlin
Format: HTML, ePub, Mobi, PDF, DAISY
Pages: 10
What is Node is a good (albeit brief) introduction to Node.js, a software platform for scalable server-side and networking applications.
If you only have an hour to spare but want to understand the basics of Node.js and what it offers, this overview will hit the spot.
The introduction offers a few basic examples, together with a quick line-by-line primer.
5. Mixu’s Node Book
Website: book.mixu.net/node
Author: Mikito Takada
Format: PDF, MOBI, EPUB, Single Page HTML
Pages: 78
Mixu’s Node Book is a short book which helps a beginner to Node.js learn how to write code.
This book covers the following areas:
- What is Node.js – explains how Node executes Javascript code illustrating this with an example of the event loop in a Node.js HTTP server
- Simple messaging application including building a simple server, writing the client, implementing long-polling on the server side, and implementing message receiving and broadcasting on the server side
- V8 and Javascript gotchas including why users sometimes need the self variable
- Arrays, Objects, Functions and JSON including searching the content of an array, and iterating through the properties (keys) of an object
- Objects and classes by example
- Control flow including specifying execution order
- Overview of Node: Modules and npm
- Node fundamentals: Timers, EventEmitters, Streams and Buffers examining the essential building blocks of Node applications (streams, buffers, events, timers, and C/C++ addons) and core modules
- HTTP and HTTPS modules
- File system module
- Comet and Socket.io deployment including an overview of the techniques to implement Coment, and introducing Socket.io