Node.js Design Patterns - Third edition: Design and implement production-grade Node.js applications using proven patterns and techniques
Casciaro, Mario, Mammino, Luciano
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.
- 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.
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
- 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
Who this book is for
This book assumes that you have an intermediate understanding of web application development, databases, and software design principles.
Mario Casciaro is a software engineer and entrepreneur. Mario worked at IBM for a number of years, first in Rome, then in Dublin Software Lab. He currently splits his time between Var7 Technologies-his own software company-and his role as lead engineer at D4H Technologies where he creates software for emergency response teams.
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.
- The Node.js Platform
- The Module System
- Callbacks and Events
- Asynchronous Control Flow Patterns with Callbacks
- Asynchronous Control Flow Patterns with Promises and Async/Await
- Coding with Streams
- Creational Design Patterns
- Structural Design Patterns
- Behavioral Design Patterns
- Advanced Recipes
- Scalability and Architectural Patterns
- Messaging and Integration Patterns