最近在搞微前端项目,接下来整体介绍一下微前端。
在现代 Web 应用程序开发中,微前端架构逐渐成为一种趋势,它可以帮助我们更好地管理和组织复杂的项目。qiankun(乾坤)是一个基于 single-spa 的微前端实现库,旨在帮助开发者更简单、无痛地构建一个生产可用的微前端架构系统。
一、qiankun 简介
qiankun(乾坤)这个名字来源于“小世界有大乾坤”,意味着在微前端这个小世界里,通过乾坤这个框架可以创造出一个宏大的架构。qiankun 的主要特点有:
简单:无论你使用什么技术栈,都可以轻松地将子应用接入到主应用中,就像使用 iframe 一样简单。
完备:qiankun 提供了丰富的功能,包括样式隔离、沙箱、预加载等,为开发者解决微前端架构中的各种问题。
生产可用:qiankun 已经在蚂蚁金服内部和外部的 200+ 应用中得到验证,是一个值得信赖的生产可用解决方案。
二、qiankun 的设计理念
qiankun 的设计理念主要体现在两个方面:技术栈无关和技术栈无关。
技术栈无关:qiankun 不限制子应用的技术栈,无论是 React、Vue 还是 Angular,都可以轻松地接入到主应用中。这样可以消除应用之间的隐性依赖,实现真正的技术栈无关。
接入简单:qiankun 的目标是让接入微前端的过程就像使用 iframe 一样简单,从而尽可能减少对旧应用的改造工作量。
三、qiankun 的技术实现与选择
qiankun 在技术实现上主要解决了两个问题:应用的加载与切换和应用的隔离与通信。
应用的加载与切换:qiankun 通过使用 single-spa,实现了应用的懒加载、路由处理和应用入口选择等功能。
应用的隔离与通信:qiankun 使用 JS 沙箱和样式隔离技术,确保子应用之间的 JS 和 CSS 不会发生冲突。同时,qiankun 提供了父子应用和子子应用之间的通信机制,实现了应用之间的数据传递和交互。
总结
qiankun(乾坤)作为一个微前端框架,为开发者提供了简单、完备且生产可用的解决方案。通过技术栈无关和接入简单的设计理念,qiankun 可以帮助开发者更好地管理和组织复杂的 Web 应用程序,实现高效的协同开发