Appearance
Preface
Micro-frontends are a fascinating architectural approach that enables teams to work on different parts of a frontend application independently. This architectural style can be particularly beneficial in organizations with multiple teams focusing on different features of the same application. In this book, we will explore some of the main concepts, benefits, and downsides of different patterns and architectural designs. We then implement a custom solution using a step-by-step approach, allowing us to make informed choices as we go and better understand the challenges we face.
Goal
The primary aim of this book is to guide you through the process of building a scalable micro-frontend architecture using effective project structure, file organization, naming conventions, state management, and type checking with TypeScript. We will also explore compositional approaches using hooks.
Throughout the chapters, we will develop our project into a robust micro-frontend foundation that is easy to expand and maintain. This foundation will showcase how patterns, conventions, and strategies can lay a solid groundwork, keeping the code organized and uncluttered.
IMPORTANT: Initially, we will write code that allows us to achieve the desired functionality quickly, even if it requires more code. However, we will constantly "rework" it (refactoring) to improve efficiency and find solutions that reduce the code footprint or organize it in a way that is clear, easy to expand, and maintain. Therefore, arm yourself with patience and prepare to delve deeply into the iterative process of software development!
About Me
I have been a software developer for over 20 years, transitioning from a full-time musician at the age of 30 to a graphic designer, and then to a web designer as the internet began to proliferate. Over the years, I have worked as a full-stack developer, utilizing technologies such as Microsoft .NET, JavaScript, Node.js, and many others. You can learn more about my journey and experiences on my personal website https://www.damianofusco.com and LinkedIn profile https://www.linkedin.com/in/damianofusco/.
Audience
This book is intended for developers ranging from beginners with some experience in MV* applications to intermediate developers. The format is akin to a cookbook; however, instead of individual recipes, we’ll go through creating a project and continue enhancing, refactoring, and improving it as we advance to more sophisticated chapters to showcase different patterns, architectures, and technologies.
Text Conventions
Throughout this book, I will highlight most terms or names in bold. This choice is made to simplify the formatting and focus on content clarity, whether discussing code, directory names, or other key concepts.