返回

中年男人的技术忧愁:微前端,差点成了项目的“杀手”

前端

有那么一段时间,微前端一下子成了科技圈前端从业者的热门词汇,到处都在讲微前端有多么神奇,什么前后端分离不香了,微服务也有点落后了,现在就微前端最酷。

可是呢,到了我这样的年纪,我就很难为一些新技术而感到热血沸腾了。一方面,我所见过的各种“新技术”实在是太多了,很多吹嘘得天花乱坠的东西根本就没什么用,甚至还有可能成了“定时炸弹”,另一方面,各种新技术、新框架之间的差异实际上没有那么大,很多东西也只是换个名字而已。

所以,我看到微前端的时候,内心毫无波澜,甚至隐隐地觉得有些担心。原因很简单,微前端毕竟是“新技术”,我担心团队在使用微前端的时候会踩到各种各样的坑。

事实证明,我的担心并不是多余的。

公司的Saas系统之前一直使用的都是传统的单体架构,这种架构最大的问题就是前后端耦合度太高,开发起来非常不方便。而且,单体架构对于系统性能的扩展也非常不友好。

而微前端刚好可以解决这些问题。微前端可以将系统拆分成一个个独立的微应用,这些微应用可以独立开发、独立部署,而且还可以通过统一的网关来进行管理。这样一来,开发效率和系统性能都会得到很大的提升。

理论上是这样,但是我却差点栽在了微前端上。原因是,我低估了微前端的复杂性。

微前端并不是一门简单的技术,它涉及到前端、后端和运维等多个方面。如果团队对微前端不够了解,那么在使用微前端的时候很可能会遇到各种各样的问题。

举个例子,微前端需要使用到大量的组件库,这些组件库需要统一管理。如果管理不当,那么很容易就会出现组件版本冲突、样式冲突等问题。

再比如,微前端需要使用到统一的网关来进行管理。这个网关需要负责微应用之间的通信、安全验证、负载均衡等功能。如果网关设计不合理,那么很可能会导致系统性能低下、稳定性差等问题。

一开始我的信心是十分足的,在其他前端的同事的帮助下我们很快就把微前端的基础架构搭起来了,接下来就是拆分微应用了,我们对团队的任务进行拆分,我的任务是开发一个订单管理的微应用。

我们使用了一个比较流行的微前端框架,这个框架号称可以实现开箱即用,但是当我实际使用的时候却发现问题一堆。

比如,这个框架的文档十分简陋,我遇到问题的时候根本就不知道该怎么解决。再比如,这个框架的社区支持也很差,我发帖求助了很久,都没有人回复我。

最后,我还是靠着自己的摸索,才把订单管理的微应用给开发出来了。但是,这个微应用的质量却非常差,到处都是BUG。

更糟糕的是,我的团队其他成员在开发微应用的时候也遇到了各种各样的问题。结果,整个项目的进度都被拖慢了。

眼看着项目就要黄了,我急得像热锅上的蚂蚁。最后,我不得不向公司高层求助。

公司高层听说了我的情况之后,立刻成立了一个项目攻坚小组。这个小组由公司的技术大牛们组成,他们很快就把项目中的问题给解决了。

项目虽然是保住了,但是我却留下了深深的心理阴影。我意识到,新技术并不是那么好用的,在使用新技术之前,一定要做好充分的准备。

这次经历也让我明白了,技术选型是一件非常重要的事情。在进行技术选型的时候,一定要考虑到以下几个因素:

  • 技术的成熟度:技术的成熟度越高,就越稳定,也越容易使用。
  • 技术的社区支持:技术的社区支持越好,就越容易找到帮助。
  • 技术的学习成本:技术的学习成本越低,就越容易上手。
  • 技术的落地成本:技术的落地成本越低,就越容易推广。

只有综合考虑了这些因素,才能选择出最适合自己的技术。