# jd-opensource/micro-app

A simple, efficient and powerful micro front-end framework. 一款简约、高效、功能强大的微前端框架

Repository: https://github.com/jd-opensource/micro-app
Canonical: https://ross.abutalabs.com/products/micro-app
Homepage: https://jd-opensource.github.io/micro-app/
Language: CSS
License: MIT
License Family: permissive
Topics: javascript, micro-frontend, microapp, webcomponents
Last push: 2026-06-25T10:33:36+00:00

## Health v2 (maintenance only)
Score: 92/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 89, release rhythm 90, longevity 100
- inputs: {"age_days": 1896, "days_push": 69, "days_rel": 69, "gap_med": 16.0, "n_releases_24m": 23}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 6252, forks 638 (observed 2026-08-28T04:09:41.026813+00:00)

## What it is
micro-app is a micro front-end framework from JD that renders sub-applications via webcomponent-like custom elements, so a base app can embed any framework's app with a single <micro-app> tag and one start() call. It bundles a JS sandbox, style and element isolation, preloading, resource address completion, a plugin system, and cross-app data communication.

## Use cases
- migrate a large monolithic frontend to micro frontends incrementally
- embed a react app inside a vue base application
- run multiple frontend frameworks together in one page
- isolate javascript and css between independently deployed frontend apps
- integrate legacy frontend apps into a new codebase with minimal changes
- adopt micro frontends with the lowest possible integration cost
- split a frontend into independently developed and deployed sub-applications

## When to choose
- You want a low-effort micro frontend setup - one npm package, one component tag, no invasive changes to sub-apps
- Your base and sub applications use different frameworks or versions and need framework-agnostic composition
- You need sandboxing, style/element isolation, preloading, and data communication built in rather than hand-rolled

## When to avoid
- You are building a single small application with one team and no need for independent deployment
- You prefer build-time code sharing like webpack Module Federation over runtime embedding of whole apps
- You need only shared UI components rather than full independent micro applications

## Facets
- artifact type: framework
- maturity: active
- function: frontend-framework, plugin-system
- domain: web-development, frontend
- platform: browser
- tags: micro-frontend, web-components, javascript, js-sandbox, style-isolation, frontend-architecture, sub-application-embedding

## Member repositories
- jd-opensource/micro-app (main) score 92

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:41.026813+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:47:08.560738+00:00, confidence not recorded.
  - readme: https://github.com/jd-opensource/micro-app (fetched 2026-08-28T04:09:41.026813+00:00, sha a1c6a7731a88)
  - homepage: https://jd-opensource.github.io/micro-app/ (fetched 2026-08-29T08:43:15.110297+00:00, sha a41946b17f8a)
- Data as of 2026-08-30T08:39:29.467469+00:00.
