我为何会思考这个问题?这得从一篇演讲稿提及:前端
上文最初大概是在2020年四、5月份的时候看到的(当时仍是在语雀上,不过如今连接已经失效,好在知乎上面还找获得),做者在上述演讲稿中详尽地介绍了其团队在一年多的时间内如何从零到一构建了庞大的前端基础设施体系,以及这些基础设施到底起到了多大的做用;整篇演讲稿看完真是使人恍然大悟,原来前端能够如此高效以及成体系,看完后我真是对该团队拥有的前端基础设施垂涎三尺,而后臆想了一下在如此高效的前端体系中工做应该是一件很幸福的事情。
后端
不过,考虑到文中这种庞大的、成熟的前端基础设施是创建在庞大的前端团队以及超多的前端业务场景的积累下建设而成的,那么小团队怎么办?架构
因而很天然地我就想到了这个问题,也在一直试图寻找这个问题的答案;在通过2020年内大半年的在团队内部的基建实践(比较初级)后,我想也许是时候回答和整理这个问题的思路了。ide
考虑到现实,毕竟大多数前端团队不像大厂那样有丰富的团队人员配置,大多数仍是很小的团队,小团队在实施基建时就不可避免的遇到很现实的阻力:函数
综合上面的现实问题,是否就能够认为前端基建就是大厂/大团队的专属权利和义务呢?毕竟看起来有点没法下手和吃力不讨好的样子;工具
在我看来,所谓的基建就是一切能够提高编码效率、团队协做效率及业务鲁棒性的工具和方法的集合;只要是项目还在迭代、扩展,就不可避免地遇到新的问题以及效率瓶颈,更不用说不少项目内的业务痛点;目前不少的项目内问题解决路径就是:直到问题出现才会去解决问题(甚至是到问题严重的时候才会去解决问题);post
这就是基建最核心的价值:帮助业务更好的活在将来。1编码
我很认同上面这句话,基建不只能够帮助提高当下的效率,还能够避免一些问题的出现,以便业务更好地可持续发展;设计
考虑到基建的必要性和小团队的现实问题,我给出的答案是:代码规范
在设计工具的相关交流中,咱们还发现了有的团队开始把交互相关的功能也作了进去,例如将页面跳转,后端处理流程逻辑等进行了可视化编辑,自动生成相应的接口和流程代码。这种探索能够归纳成:“局部研发链路的自动化”。它是一个初期提效颇有用的方法。在对外交流中咱们发现了两点有用的建议:
一是任何团队均可以而且也都应该作,没必要以为本身团队研发实力不够,等大公司推出相应方案。局部自动化的关键其实对本身的业务和人员分工的一种总结和思考。在技术上,当本身的业务相对肯定时,经过一些简单的方法就能实现。而大公司要考虑的大而全,不必定适合。在人员组织上,几乎全部的自动化方案都有必定的分工要求,这也是因组织而异的。局部的自动化是以后总体架构变革的关键前提。2
说了这么多,那么如何在项目中实施前端基建呢?这里以我在内部的某个项目实践为例:
上图就是我在项目中大概作的一些基建相关实践的概况;
在项目中积极实践/推动基建后我才发现,原来尝试基建能够收获到不少东西:
简言之,积极尝试基建不只能够对当下项目提效,还能提高自我解决问题的能力;在这不到一年的实践中脑海里已经闪出了各类各样的解决方案,有的是已经应用了,更多的则是还在探索和检验中,总之收获了不少灵感:
我我的以为只要是项目还在发展/迭代,基建就没有终点;这一点从大厂的实践来看也是同样的,大厂们正齐步从可视化搭建(半自动化)迈向智能化搭建(全自动化)的探索之路;