Mastering Node.js - Second Edition: Build robust and scalable real-time server-side web applications efficiently
<p><b>Expert techniques for building fast servers and scalable, real-time network applications with minimal effort; rewritten for Node.js 8 and Node.js 9</b></p><h4>Key Features</h4><ul><li>Packed with practical examples and explanations, Mastering Node.js contains everything you need to take your applications to the next level.</li><li>Unleash the full potential of Node.js 9 to build real-time and scalable applications.</li><li>Gain in-depth knowledge of asynchronous programming, event loops, and parallel data processing.</li><li>Explore Node's innovative event-non-blocking design, and build professional applications with the help of detailed examples.</li></ul><h4>Book Description</h4><p>Node.js is a modern development environment that enables developers to write server- and client-side code with JavaScript, thus becoming a popular choice among developers.</p><p>This book covers the features of Node that are especially helpful to developers creating highly concurrent real-time applications. It takes you on a tour of Node's innovative event non-blocking design, showing you how to build professional applications. This edition has been updated to cover the latest features of Node 9 and ES6. All code examples and demo applications have been completely rewritten using the latest techniques, introducing Promises, functional programming, async/await, and other cutting-edge patterns for writing JavaScript code. Learn how to use microservices to simplify the design and composition of distributed systems. From building serverless cloud functions to native C++ plugins, from chatbots to massively scalable SMS-driven applications, you'll be prepared for building the next generation of distributed software.</p><p>By the end of this book, you'll be building better Node applications more quickly, with less code and more power, and know how to run them at scale in production environments.</p><h4>What you will learn</h4><ul><li>Build an Electron desktop app using Node that manages a filesystem </li><li>Explore Streams and understand how they apply to building networked services</li><li>Develop and deploy an SMS-driven customer service application</li><li>Use WebSockets for rapid bi-directional communication</li><li>Construct serverless applications with Amazon Lambda</li><li>Test and debug with headless browsers, CPU profiling, Mocha, Sinon, and more</li><li>Scale applications vertically and horizontally across multiple cores and web services</li></ul><h4>Who This Book Is For</h4><p>This book is targeted at JavaScript developers who want to take an in-depth look at the latest Node.js framework to create faster, scalable, real-time backend applications. Basic JavaScript programming knowledge - and also some previous Node.js development experience - are mandatory to get the best out of this book</p><h4>Table of Contents</h4><ol><li>Understanding the Node Environment</li><li>Understanding Asynchronous Event-Driven Programming</li><li>Streaming Data across Nodes and Clients</li><li>Using Node to Access the File System</li><li>Managing many simultaneous client connections</li><li>Creating Realtime Applications</li><li>Utilizing Multiple Processes</li><li>Scaling your Application</li><li>Deploying Microservices</li><li>Testing your Application</li><li>Appendix A : Organizing Your Work into Modules</li><li>Appendix B : Creating your own C++ Add-ons</li></ol>