- Create HTML documents programmatically
- Define the view with virtual DOM
- Update the HTML efficiently with reconciliation algorithms
- Create two-way communication mechanisms between components in a hierarchy
Whatever your experience level, you'll be able to start building your framework with this guide. All you need is some core skills in HTML, CSS, and JavaScript. And once you've learned how frameworks function, you'll be able to work with them more efficiently, troubleshoot bugs more effectively, and even customize them for your specific needs! Purchase of the print book includes a free eBook in PDF and ePub formats from Manning Publications. About the technology You use frontend frameworks every day, but do you really know what's going on behind the API? Building your own framework is a great way to learn how they interact with the DOM, generate page views, route data between components, and communicate with the underlying operating system. With this interesting and entertaining book, you'll build your own web framework step-by-step in JavaScript, ready to share with the world as an NPM package! About the book Build a Frontend Web Framework (From Scratch) guides you through a simple component-based frontend framework that borrows from React, Svelte, Angular, and other familiar tools. You'll learn how a modern framework operates by adding features like component state and lifecycle management, a virtual DOM, and reconciliation algorithms to update the HTML efficiently. You'll appreciate how each critical concept is broken down into easy-to-digest chunks and explained with engaging graphics. What's inside
- Create HTML documents programmatically
- Define the view with the virtual DOM
- Implement a component lifecycle scheduler
For web developers familiar with JavaScript and Node. About the author Angel Sola Orbaiceta has worked in the software industry for over a decade, creating software for the cloud, macOS, and Windows desktop applications. Table of Contents PART 1
1 Are frontend frameworks magic to you?
2 Vanilla JavaScript--like in the old days
PART 2
3 Rendering and the virtual DOM
4 Mounting and destroying the virtual DOM
5 State management and the application's lifecycle
6 Publishing and using your framework's first version
7 The reconciliation algorithm: Diffing virtual trees
8 The reconciliation algorithm: Patching the DOM
PART 3
9 Stateful components
10 Component methods
11 Subcomponents: Communication via props and events
12 Keyed lists
13 The component lifecycle hooks and the scheduler
14 Testing asynchronous components
Appendix