Import It All
Books > Computers & Technology > Web Development & Design > Programming > JavaScript
Functional Design Patterns for Express.js: A step-by-step guide to building elegant, maintainable Node.js backends

Functional Design Patterns for Express.js: A step-by-step guide to building elegant, maintainable Node.js backends

Product ID: 113752681 Condition: New

Sold Out
Buy in USA

Product Description

Functional Design Patterns for Express.js: A step-by-step guide to building elegant, maintainable Node.js backends

<p><b>Learn the design patterns that transcend Express.js and recur throughout high-quality production codebases, with a step-by-step approach that teaches by <i>doing.</i></b></p><p><i>Wonderfully entertaining and illuminating. Guaranteed to induce frequent “ah-ha!” moments. <b>Easily one of the best treatments of backend programming with Node.js.</b></i></p><p>— Chris Aquino, author of <b>Front-End Web Development: The Big Nerd Ranch Guide</b></p><p>Express is arguably the ubiquitous library for building Node backends. As of mid-2019, it is a dependency of <i>3.75 million</i> codebases on Github alone. So if you hop into a Node codebase, chances are Express is part of it.</p><p><b>Good design in an Express.js backend is good design anywhere.</b> The patterns you learn to develop Node backends will outlive Express and influence your design approaches in unrelated platforms.</p><ul><li><b>Learn Express.js</b> by building a pure backend with authentication from scratch.</li><li><b>Apply best practices</b> to architect resilient, testable Node.js backends.</li><li><b>Discover functional design patterns</b> that transfer to any tech stack.</li></ul><h4>Who Is This Book For?</h4><p>Searching for an <b>Express.js</b> primer that isn’t another screencast or exhaustive reference guide? Whether you’re a seasoned backend developer, frontend developer or recent web bootcamp graduate, <b>this is the guide for you.</b></p><ul><li>Learn the intuitions of developing elegant, maintainable backends without the distractions of every tangential tool in the ecosystem.</li><li>Solidly grasp the motivation behind each concept as you build step-by-step.</li><li>Expand your design palate with patterns that will transfer to other platforms.</li></ul><h4>What You Will Learn</h4><p>This book focuses on best practice, conventional backend design for <i>pure</i> backend APIs. As we build a full-featured backend together, expect to:</p><ul><li>Demystify HTTP: the web’s core abstraction</li><li>Use telnet and Insomnia to test backend features</li><li>Refactor a vanilla Node.js http.Server into an Express app</li><li>Apply the Router design pattern to tease apart growing functions</li><li>Drop in Express’s Router factory with zero changes</li><li>Leverage JavaScript’s Function Objects to seamlessly upgrade middleware</li><li>Work with streaming, JSON and multipart request bodies</li><li>Build custom, decoupled middleware that’s trivial to reuse</li><li>Extract complex branch logic into dedicated middleware</li><li>When to use global, route or router middleware to prevent coupling</li><li>Handle exceptions with error handling middleware</li><li>Community middleware for static servers, file uploads, logging, body parsing, MIME types and more</li><li>Design perspectives on authentication vs. authorization</li><li>Build conventional authentication endpoints</li><li>Write loosely coupled username/password authentication middleware</li><li>Authenticate with JSON Web Tokens that coexists with other auth strategies</li><li>Create graceful global middleware</li><li>Currying, partially applied functions and other Functional Programming patterns</li><li>Customize middleware with Middleware Factories</li><li>Design patterns for elegant authorization logic</li><li>Split authorization into Policies and Enforcers</li><li>Guard routes with custom exceptions</li></ul><h4>What Do I Need to Know?</h4><p>You should have a strong hands-on foundation in JavaScript and Node.js, including:</p><ul><li>Callbacks, async functions and Promises.</li><li>ES2015, especially destructuring syntax and arrow functions.</li></ul><p>You don’t need prior backend experience. If you understand how servers and clients interact, experience from either side of the equation is sufficient.</p>

Technical Specifications

Country
USA
Brand
Majosta
Manufacturer
Independently published
Binding
Paperback
EANs
9781074005306

You might also like

Back to top