Overview of Garfish Micro-frontend Framework
mainGarfish is a micro-frontend solution designed to decompose large, monolithic web applications into smaller, independently deliverable frontend applications. It allows multiple applications to be developed, tested, and deployed independently while appearing to the user as a single, cohesive product.
Key Features
- Framework Agnostic: Supports sub-applications built with any framework or technology stack.
- Independent Lifecycle: Enables independent development, testing, and deployment for each sub-application.
- Performance Optimization: Features powerful preloading capabilities that learn user loading habits to reduce application switching time.
- Dependency Sharing: Supports sharing dependencies to reduce overall bundle size and prevent redundant loading.
- Multi-instance Support: Allows running multiple sub-applications simultaneously on a single page.
- Observability: Built-in data collection to monitor application status during runtime.
Core Modules
- Loader: Supports both
HTML entryandJS entryfor easy integration. - Router: Provides route-driven rendering and isolation between main and sub-app routes. Users only need to configure a route table to handle rendering and destruction.
- Sandbox: Provides runtime isolation for JS and CSS to prevent side effects between applications.
- Store: A simple mechanism for data exchange and communication between applications.
- Plugin System: A highly extensible mechanism to meet custom business requirements.