
Node.js Design Patterns: Design and implement production-grade Node.js applications using proven patterns and techniques, 3rd Edition Paperback – 29 July 2020
-
10% extra discount with Citibank. Enter code CB10JAN at checkout. Discount by Amazon.
10% extra discount each month. Use code CB10JAN this December (minimum spend of AED150, max discount of AED50) when using Citi Mastercard credit card. For details visit: www.amazon.ae/citi. Discount by Amazon. Here's how (restrictions apply)
Enhance your purchase
Learn proven patterns, techniques, and tricks to take full advantage of the Node.js platform. Master well-known design principles to create applications that are readable, extensible, and that can grow big.
Key Features- Learn how to create solid server-side applications by leveraging the full power of Node.js 14
- Understand how Node.js works and learn how to take full advantage of its core components as well as the solutions offered by its ecosystem
- Avoid common mistakes and use proven patterns to create production grade Node.js applications
In this book, we will show you how to implement a series of best practices and design patterns to help you create efficient and robust Node.js applications with ease.
We kick off by exploring the basics of Node.js, analyzing its asynchronous event driven architecture and its fundamental design patterns. We then show you how to build asynchronous control flow patterns with callbacks, promises and async/await. Next, we dive into Node.js streams, unveiling their power and showing you how to use them at their full capacity. Following streams is an analysis of different creational, structural, and behavioral design patterns that take full advantage of JavaScript and Node.js. Lastly, the book dives into more advanced concepts such as Universal JavaScript, scalability and messaging patterns to help you build enterprise-grade distributed applications.
Throughout the book, you’ll see Node.js in action with the help of several real-life examples leveraging technologies such as LevelDB, Redis, RabbitMQ, ZeroMQ, and many others. They will be used to demonstrate a pattern or technique, but they will also give you a great introduction to the Node.js ecosystem and its set of solutions.
What you will learn- Become comfortable with writing asynchronous code by leveraging callbacks, promises, and the async/await syntax
- Leverage Node.js streams to create data-driven asynchronous processing pipelines
- Implement well-known software design patterns to create production grade applications
- Share code between Node.js and the browser and take advantage of full-stack JavaScript
- Build and scale microservices and distributed systems powered by Node.js
- Use Node.js in conjunction with other powerful technologies such as Redis, RabbitMQ, ZeroMQ, and LevelDB
This book is for developers and software architects who have some prior basic knowledge of JavaScript and Node.js and now want to get the most out of these technologies in terms of productivity, design quality, and scalability. Software professionals with intermediate experience in Node.js and JavaScript will also find valuable the more advanced patterns and techniques presented in this book.
This book assumes that you have an intermediate understanding of web application development, databases, and software design principles.
- ISBN-101839214112
- ISBN-13978-1839214110
- Edition3rd
- PublisherPackt Publishing Limited
- Publication date29 July 2020
- LanguageEnglish
- Dimensions19.05 x 3.81 x 23.5 cm
- Print length660 pages
- Print length660 pages
Frequently bought together
- +
- +
Customers who bought this item also bought
Special offers and product promotions
- 10% extra discount each month. Use code CB10JAN this December (minimum spend of AED150, max discount of AED50) when using Citi Mastercard credit card. For details visit: www.amazon.ae/citi. Discount by Amazon. Here's how (restrictions apply)
Product description
About the Author
Luciano Mammino wrote his first line of code at the age of 12 on his father's old i386. Since then he has never stopped coding. He is currently working at FabFitFun as principal software engineer where he builds microservices to serve millions of users every day. Luciano also runs bespoke training courses to foster serverless adoption and Fullstack Bulletin, a free weekly newsletter for full-stack developers.
Product details
- Publisher : Packt Publishing Limited; 3rd edition (29 July 2020)
- Language : English
- Paperback : 660 pages
- ISBN-10 : 1839214112
- ISBN-13 : 978-1839214110
- Dimensions : 19.05 x 3.81 x 23.5 cm
- Best Sellers Rank: #40,854 in Books (See Top 100 in Books)
- #75 in Web Programming
- #122 in Computer Programming Languages
- #274 in Internet & Social Media
- Customer reviews:
Customer Reviews
Top reviews from other countries

I'm an experienced engineer with a history in Java, Go and Javascript (NodeJS), I'm currently over halfway through and this book has massively stood out as one of the best NodeJS books on the market at the moment.
The code examples are very detailed and reflect potential real-world examples. You frequently find yourself going "Oh that must be how XYZ framework/library handles it".
Thanks to this book, It has allowed me to be able to take a deep dive into projects like React or Fastify and instantly understand what's going on.
For the reader, I would expect you to be able to write Javascript code at a minimum and have an understanding of NodeJS from at least a Junior/mid-level engineer. (IE - what it is, how to write basic code, how to look up the documentation)

First off, the book's title seriously _undersells_ this book. It covers way, _way_ more than design patterns.
Now, given how central Node is to ALL JavaScript development workflows these days (ie. anyone using Webpack/React, etc.), I'd strongly suggest anyone who writes JS in any serious way should read this book. For Node devs, again, it's a must. I had read the 2nd edition, and even so this 3rd edition was worth the read (they've updated everything for ES6, reorganized, and added a bunch of new material).
The authors start at the fundamentals of how Node itself works (single thread, non-blocking I/O, etc.), then take a bottom-up approach to teach you not just Node, but the very fundamentals of asynchronous JS coding - going into great detail on each of the 4 core pillars of async JS code (events, callbacks, promises, and async/await).
They completely explain the JS Module systems used in Node, explaining both CommonJS and ES6 modules, as well as the key similarities/differences of how they are loaded and execute at runtime (or bundle-time), where each type can/can't be used, how to use each type in Node, and so on.
Even tho most Node devs may not use Streams much, this book does a whole chapter in fantastic detail to explain how they work, why they are so central to Node, and why that's such a strength of the platform. Of course they then explain a variety of example uses/patterns built on Streams, to drive the points home.
The rest of the book is mostly design patterns from there. Each pattern is well explained, with ample example code and diagrams to clarify all you need to know. You may know all of them already (unlikely), but even if you do there are tips and tricks you can pick up along the way.
Lastly, the final chapter is a rewrite (as I recall) of their prior coverage of messaging patterns, completely updated to reflect the growth and prominence of microservices. They give 75 pages to cover all the essential messaging patterns you'll probably need, and include numerous really solid (tho not prod-ready) examples using ZeroMQ, RabbitMQ, and even Redis Streams (which could apply to Kafka, etc. conceptually as well).
OK, I'll stop gushing. I'll just close to say that coming in at over 600 pages, this book is a commitment, for sure. Once you start reading it, though, it flies by (I read it in a week). The writing is clear, the diagrams and code examples are great, and the value is self-evident.
Buy it. Read it. Thank me later. ...You're welcome. ;-)

The previous edition was good but this one is just out of this world.

