前端目前的问题和2021的计划

问题

资源一定是永远不够的;如果能感觉到资源过剩,那就会出现裁员了。

资源不足的情况下,业务方肯定是不满于开发进度的,这种情况下,我们做的东西一定要考虑好如何做量化的价值体现,否则做了说不清,等于白做,业务方只会感觉开发一直都不靠谱。

基建问题

基建不完善,没有形成一个完整体系,涵盖整个产品开发和运行周期

我们的基建都很散,很多都是针对某个具体的小点的,而没有形成一个系统。我们去年之前,连一个大家达成共识的基建架构图都没有;后来有了架构图,但是里面也有很多东西还没实现,且可能部分内容也过期了。

这样会导致我们的基建比较零散,缺乏整体目标,东搞搞西搞搞,头痛医头脚痛医脚。最终发现好像投入了不少精力,但是整体的情况并未得到很大的改善。

就像去年年初我们针对前端问题的改进,也做了一些事情,但是好像也并未带来很大的改变。

基建不够智能化、工具化、自动化

现在每个组的很多基建和经验,都是绑定在人或者文档上面的,接入成本高,且容易过期或者丢失。

我们应该把基建中的很大一部分,绑定在我们的开发流程和发布流程中不可跳过的一些环节。比如代码规范,完全可以通过 git hooks 在提交的时候保持一致性;代码质量和安全检查,也可以在 CI/CD 环节自动处理掉。这些其实早就有人提了,但是一直没有真正落实下去。

像我们的各种组件库(UI 组件、业务组件、可视化组件、SDK),也完全可以通过 VSCode 插件在项目初始化的时候就进行推广使用。

非专人推进和开发,资源不稳定

我们都是业务优先,业务需求比较紧张的时候,负责基建的人就去搞业务了,导致进展非常缓慢。这种情况从组件推进上就能很清晰的感觉到。

缺乏前瞻性

我们探索性的内容很少,基本上都是外面有了成熟的,我们再引入进来;这样当业务和规模高速发展的时候,就会感觉技术的提升速度跟不上业务的扩展速度了。

高手太少

业务开发之外的能力较差

从我们前端平时的一些分享也能感觉到,有厉害的人,但是前端人员整体的水平确实有待提升。

人员流失严重

技术稍微好一点的人员,频繁流失。

跳不出“前端”的限制

后端有很多开发都了解或者会一些前端,但是反过来,前端开发人员绝大部分都局限于前端,对于后端的内容基本不了解,对于整体的业务和技术架构也不了解。

形成对比的就是阿里的前端,不只是前端,更是“工程师”。

没有前端驱动的“产品”,导致前端受重视程度不高

参考阿里设计体验部,由前端驱动产出了各种产品(ToC 的语雀、ToB 的 DataV、面向开发人员和运营人员的 ice work、设计语言和组件库 Ant Design 等等)。

2021 可以做的事情

基础组的人员吸收机制

从业务开发中,发现有潜力、有想法、感兴趣的人,加入基础组(虚拟组也行),逐渐专职进行基础工具平台的开发和推广。

否则我们有那么多想法,没人做,也没用。

从今年组件推广的过程中,是能感知到有一些同事是对基建感兴趣的(比如基金的胡佳磊、猎金的周继源等),只是由于组内业务开发的压力较大,抽不出来太多精力做。

统一的知识搜索工具

这是为了解决两个问题:知道与一致性。

知道是指每个人遇到问题的时候,都能够快速找到解决方案或者至少明白该从哪里、从谁那里寻找答案。

一致性是为了让大家知道我们已经有哪些轮子了,都采用一致的规范、组件、工具、平台,避免大家自己重复去造轮子。

我们可以不限制文档的编写工具,但是提供一个统一的搜索平台,可以接入公司不同文档系统的搜索功能;另外可以考虑统计常用的搜索问句,这些常用的问题应该就是我们要优先解决的问题。

这里有个案例:我们组的新同事有一些项目遇到了移动端兼容性问题,然后处理起来非常头疼,没有一个地方能找到高质量的、完善的和公司业务结合的移动端兼容性问题的解决方案(常见问题有哪些、出现问题该怎么定位、该用什么工具平台调试、这些工具平台该怎么用等等),顶多能找到零零散散的一些文档,而且就这也还得靠运气。

基建

脚手架/VSCode 插件

做这些的目的主要还是解决一致性问题,包括编码规范、组件应用等等。

编码是开发人员跳不过的一个东西,我们可以用这个做很多事情,比如项目初始化、规范嵌入、组件和工具的推广、更新提醒、自定义的检查等等。

组件库

这是前端提效和提质性价比最高的内容。去年年初我们就已经分析讨论过了。

四大组件分类(UI 组件、业务组件、可视化组件、各端 SDK)。

这个可以找一找去年分的类别。

这块经过去年的努力,虽然还不完善,但是也算有一定基础了,2021 年肯定要继续重点做下去。

发布流程

这一块也是不可跳过的环节,很多内容可以放这里执行。

目前已经有了,只是在易用性和规则上,还需要完善。

用户体验

产品化