周末与华为小哥松山湖交流“微前端”

写在开头
  • 周末我带女朋友前往东莞松山湖自驾游

  • 微信上一位经常互动,在松山湖工作的华为小哥,与我约饭,于是有了这篇文章

正式开始
  • 冬天的松山湖,也很美

  • 我与华为小哥探讨的主题为“微前端”

微前端真正的兴起
  • 微前端的真正崛起我觉得是在2020年

  • 什么是微前端?

跟技术栈无关,能将任意前端技术栈融合在一起,看起来像一个系统

  • 如果你还不了解微前端的话,可以看我之前的文章

  • 这是主流微前端框架qiankun的逻辑

  • 那么微前端的主要实现原理其实就是:

    • 通过fetch加载子应用下的资源

    • 将子应用插入到基座中

    • 想学习微前端实现原理的可以看我这个框架chunchao,只有几百行代码就实现了微前端

开源的微前端框架chunchao源码地址 :https://github.com/JinJieTan/Peter-/tree/master/chunchao

什么是最好的微前端实现方式?
  • 我们先看看目前的几种微前端实现方式

目前的微前端实现方式
  • 通过a标签跳转

  • 通过iframe加载

  • 通过qiankun这种框架类似的形式去加载子应用的资源,然后插入到基座中

  • 通过git submodule形式实现

  • 通过mono-repo实现微前端(类似git submodule)

  • 通过web components

  • 通过ssr抹平框架间的差异

  • 通过webpack5的联邦模块

如果你不了解这些技术,没关系。你可以百度看看人家写的文章,这些都不重要,重要的是,我认为这些技术去做微前端,都不是很优雅,不那么简单

最主流的qiankun
  • 它目前跟webpack强关联,如果是用vite的项目,那么对人的要求就比较高,像__wepback_publicpath__这种,懂的人本来就少,更别说换个构建工具了

  • 更别说ssr和其他方式,对CI/CD环境要求更高的

什么样的情况下会需要微前端
  • 复杂、技术多样的老系统

  • 需要渐进式重构的

  • 多个技术栈不一样的系统需要部署成看起来像一个系统的

  • 多个系统想做成一个系统的体验的

  • ...等待大家补充

在我看来
  • 即使你有上面这些需求,微前端并不是必要的

  • 微前端的部署,不允许出现黑盒过程,不然复杂的部署必然会出现问题(一个非常重型的系统,部署必然会非常复杂),换而言之,不懂微前端原理,是不可能用好微前端的

  • 如果你的业务需求,一定要使用微前端,那么看我下面的建议

建议
  • 搞懂微前端的原理,可以看我的chunchao源码

  • 多个技术栈做一个系统,不如一个技术栈打造一个系统,这里我推荐React,就没有这个烦恼了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值