Mỗi micro-frontend được đóng gói thành một custom element (ví dụ <team-cart>), shell chỉ cần đặt thẻ đó vào DOM là xong — đây là cách chuẩn hoá interface giữa các framework khác nhau.
- Custom Elements cộng Shadow DOM cho phép tách biệt style một cách tự nhiên, và giao tiếp với khung qua attributes (vào) và DOM events (ra).
- Rất hợp khi cần trộn React, Vue, Angular.
- Hạn chế: SSR và hydrate phức tạp hơn, một số framework cần wrapper để xuất ra custom element.
- Lưu ý: Shadow DOM tách biệt style nên design system/theme chung khó lọt vào — dùng CSS custom properties hoặc
::part()để cho phép tuỳ biến xuyên qua ranh giới shadow.