Building Your Own JavaScript Framework: Architect extensible and reusable framework systems

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Learn how to craft elegant and well-structured software frameworks in a variety of JavaScript environments with this handy guide Key Features Explore the gateway to the constantly evolving world of JavaScript frameworks Navigate the JavaScript development landscape and discover crucial software architecture patterns Build your own framework for a variety of work-related projects Purchase of the print or Kindle book includes a free PDF eBook Book Description JavaScript frameworks play an essential role in web application development; however, no single framework works perfectly for all projects. This book will help you understand existing projects, design new software architecture, and maintain projects as they grow. You’ll go through software architecture principles with JavaScript, along with a guided example of structuring your project and maintenance guidance. This book covers framework planning aspects, enabling you to identify key stakeholders, understand JavaScript API design, and leverage complex abstraction. The second part of the book takes a practical programming approach to building your own framework by showing you how to structure modules and interfaces. As you advance, you’ll discover how to develop data-binding components, work with JavaScript APIs, and much more. While writing a framework is half the job, continuing to develop it requires effort from everyone involved. The concluding chapters help to achieve this by teaching you the crucial aspects of software maintenance and highlighting the constants of framework development. By the end of this book, you’ll have gained a clear understanding of the JavaScript framework landscape, along with the ability to build frameworks for your use cases. What you will learn Expand your knowledge of JavaScript frameworks within different runtimes and ecosystems Get to grips with the technical aspects of structuring framework abstractions in JavaScript Gain an understanding of common patterns across various existing frameworks Discover the usage of existing tooling such as TypeScript and GraphQL Configure performance tests for your project and track down bottlenecks in the code base Understand how JavaScript and the web evolve and what these systems will look like in the coming years Who this book is for If you’re a JavaScript novice or an expert who wants to explore the world of JavaScript frameworks, this book is for you. This book introduces you to the history of frontend frameworks and guides you through the creation of your own framework. The chapters are designed to help developers build large projects for their full-time jobs and programmers who want to create open-source projects. A clear understanding of the JavaScript programming language as well as experience with existing software frameworks are all prerequisites.

Author(s): Vlad Filippov
Edition: 1
Publisher: Packt
Year: 2023

Language: English
Pages: 236

Cover
Title Page
Copyright and Credits
Dedication
Foreword
Contributors
Table of Contents
Preface
Part 1: The Landscape of JavaScript Frameworks
Chapter 1: The Benefits of Different JavaScript Frameworks
Technical requirements
The emergence of JavaScript frameworks
Frameworks outside the web browser
The evolution of code bases
Types of JavaScript frameworks and their benefits
Frontend frameworks
Backend frameworks
Native frameworks
Testing frameworks
Framework showcase
My experiences with frameworks
Contributing to new projects
Summary
Chapter 2: Framework Organization
Technical requirements
Learning about abstractions
Downsides of abstractions
Building blocks of abstractions in JavaScript
Frontend framework abstractions
Backend runtime abstractions
About debugging
Framework building blocks
Events
Components
Lifecycle methods
Router
Template engine
Networking
Differentiating modules, libraries, and frameworks
Modules
Libraries
Frameworks
Summary
Chapter 3: Internal Framework Architecture
Technical requirements
Exploring the core architecture
Patterns
Architectural patterns
Design patterns
The technical architecture
Packages
Scripts
Compilers
Summary
Chapter 4: Ensuring Framework Usability and Quality
Technical requirements
Development support
Documentation
Framework testing
Development tooling
Learnings from other architectures
Summary
Part 2: Framework Development
Chapter 5: Framework Considerations
Technical requirements
Determining project goals
Context
Stakeholders
Other considerations
Identifying framework problem spaces
Popular problem spaces
Other framework pathways
Technical architecture
Abstraction levels and flexibility
Environment compatibility
Utilizing libraries
Compiler tooling
Summary
Chapter 6: Building a Framework by Example
Technical requirements
Determining goals and stakeholders and framework branding
Goals
Stakeholders
Framework branding
Architecting the new framework
Selecting features
Identifying out-of-scope features
Designing the outline
Designing the interfaces and API
Implementing the new frameworks
Testing functionality
Creating a command-line tool
Browser testing workflow
Testing the framework
Framework packages
Summary
Chapter 7: Creating a Full Stack Framework
Technical requirements
Full stack framework goals
Frontend functionality
Backend functionality
Architecture
Entry point
Router
Configuration
Sensible defaults
Database
GraphQL support
Observability
Developer experience
Bootstrapping a new application
Scaffolding
File watching
Developer workflow
Framework distribution
New project requirements
Starting a project
Using the framework
Creating an API and a model
Expanding the API
Adding tests
Configuring environments
Deploying the application
Dependencies
Summary
Chapter 8: Architecting Frontend Frameworks
Technical requirements
Defining the frontend framework
Goals
Features
Architecture
Entry points
Reactivity
Improving components
SSR
Client router
Optimizations
Developer experience
Dependencies
Using the framework
Summary
Part 3: Maintaining Your Project
Chapter 9: Framework Maintenance
Technical requirements
The development cycle
Seeking user feedback
Formal feature definition
Release process
Change logs
Versioning
Simplifying releases
Continuous delivery
Licensing
Long-term maintenance
Security
Dependencies
Feature coverage and deprecation
Summary
Chapter 10: Best Practices
Technical requirements
Common themes
Modularity
Evolving design
Minimalistic approach
Build tooling
Performance improvements
Future of frameworks
Developer experience
Embracing new technologies
The use of large language models
Additional considerations
Time investment
User support
Financial backing
Summary
Index
About Packt
Other Books You May Enjoy