现代化开发模式
最近在开周会的时候,我问了大家两个问题:
我们现在的开发模式合理么?
你35岁的时候会做什么样的工作内容?
之所以问这2个问题,是因为就我观察到,公司目前大部分前端开发人员,都是在做体力活,陷入了无尽的业务开发中。这些低效的工作浪费了大家大量的时间。
当前的开发模式
公司的同事,大部分都是做业务开发,分属不同的业务团队。基本上就是:
产品经理出需求了
开发过完需求,基本不写方案设计,然后撸起袖子就开始以流水账的形式写代码
写完提测、改BUG、上线
进行下一个需求
这和流水线上的工人,其实本质上没啥区别。这样的工作,既缺乏产品层面的正向反馈(你走的只是普通的业务活儿,而不是一个牛逼的事情),技术上也难以得到提升。即使一个潜力不错的新人过来,做个一两年,也泯然众人矣。
从工种分类看开发模式的发展
我们即使做业务,肯定也不是从最底层开始写,而是基于一些框架,比如现在的Vue、React等等,来构建自己的业务。那么一般来说,前端的工种分类,至少有这几层:
最上层的业务
业务组件(比如涨跌分布、行情处理等)
非业务的通用组件(比如UI、数据通信、事件交互等)
业务框架(比入trois、react-three-fiber等,或者是和公司/团队业务特性紧密结合的框架)
非业务的通用框架(Vue、React等)
正常情况下,每个人都应该至少要做上面三层的内容;而现状就是大部分人只做了第一层的内容。我接触的同事,就有因为只做第一层,结果把自己做废的,完全没有程序设计和基建的意识。
来自Unreal Engine的想法
UE非常牛逼,其蓝图 & C++的设计令人惊叹,这也是我感觉最合理的现代化开发模式。
底层通过高性能的语言或者技术实现开发的基础框架和复用组件
上层用高效率的语言或者组件,以可视化搭建的方式快速开发Demo
Demo通过后,进行精细化的加工,生成成品
这种思路具有普适性。
比如我们今年做范式组件,整体结构也是类似的:
Demo校验通过后,在之前基础上进行精细化打磨
(未完成)通过可视化搭建平台,无代码/LowCode生成页面或者页面雏形,进行Demo展示
(未完成)上层业务以声明式的方式应用可视化组件,一行代码搞定
结合设计师进行可视化组件的标准化设计,我们基于StandardChart配置成范式组件
我们扩展ECharts的能力,形成通用的、业务无关的组件库StandardChart
底层直接采用ECharts组件库