Book Image

JavaScript Design Patterns

By : Hugo Di Francesco
Book Image

JavaScript Design Patterns

By: Hugo Di Francesco

Overview of this book

Unlock the potential of JavaScript design patterns, the foundation for development teams seeking structured and reusable solutions to common software development challenges in this guide to improving code maintainability, scalability, and performance. Discover how these patterns equip businesses with cleaner and more maintainable code, promote team collaboration, reduce errors, and save time and costs. This book provides a comprehensive view of design patterns in modern (ES6+) JavaScript with real-world examples of their deployment in professional settings. You’ll start by learning how to use creational, structural, and behavioral design patterns in idiomatic JavaScript, and then shift focus to the architecture and UI patterns. Here, you’ll learn how to apply patterns for libraries such as React and extend them further to general web frontend and micro frontend approaches. The last section of the book introduces and illustrates sets of performance and security patterns, including messaging and events, asset and JavaScript loading strategies, and asynchronous programming performance patterns. Throughout the book, examples featuring React and Next.js, in addition to JavaScript and Web API examples, will help you choose and implement proven design patterns across diverse web ecosystems, transforming the way you approach development.
Table of Contents (16 chapters)
Part 1:Design Patterns
Part 2:Architecture and UI Patterns
Part 3:Performance and Security Patterns


As this ebook edition doesn't have fixed pagination, the page numbers below are hyperlinked for reference only, based on the printed edition of this book.



using, in asynchronous cancellation and timeouts 196-200

Adapter pattern 44

implementation 44-47

improvements/limitations 49-52

use cases 48

Angular 84

applications, composing with Next.js zones 150, 151

/checkout app, adding 157-162

/search app, adding 154-157

root app 151-154

team scaling, benefits 162, 163

asset loading optimization

async, using 262-267

defer, using 262-267

preload, using 267, 268

preconnect, using 267

prefetch, using 269

async/await syntax

used, for controlling sequential asynchronous operations 184-189

automatic static generation 119, 120

Automatic Static Optimization

reference link 119

AWS Simple Storage Service (S3) 112


backend for frontend (BFF) 150

batch function 205, 206...