为什么要折腾技术栈

在刚入职那会儿,这边都是 Angular 1.x 和 Vue 1.x,然后全部迁移到 Vue 2.x,再然后 Element 1.x 到 2.x,再到 React First,除了技术本身的新旧更替外,我觉得还有以下3个价值。

1、从个人角度,多尝试点技术栈

  • 可以体会到不同技术的特点,感受到技术的进步以及它所解决的问题。技术本身没有好坏,现在外面小公司还有很多 jQuery 一把梭的,不同技术间的比较是为了找到最适合当前问题的技术。
  • 可以减少工作的无聊,用 Vue 做增删改查已经写了2年了,再写下去经常就是 Ctrl+C+V 的操作,套接口、对字段,可以说是原地踏步。
  • 提升个人能力,了解不同技术栈有助于今后造轮子时产生更多想法,设计能力更强。当然以后工作机会也更多。

2、从团队角度

  • 技术储备,可以应对今后跨部门项目或项目交接时的技术风险。
  • 提前布局,在“政治正确”的方向上应对未来的风险,避免类似后端 python / go 转 java 的被动。
  • 鼓励探索,想法碰撞,激发潜能,有助于提升团队整体实力。

3、从公司角度

  • 如果要鼓励探索,那必先经历技术栈和轮子的百花齐放。一段时间后,优胜劣汰,为了降低成本,又会开始技术收敛和统一。
  • 「分久必合、合久必分」同样映射到大厂的技术圈,技术收敛后一段时间内是统一的,但会随着业务或技术本身的迭代渐渐又出现分歧,此时原本收敛的技术会进一步抽象,把其核心底层能力给抽出去,基于这个可复用的能力来做分歧。
  • 总的来说,公司对技术的期望是:1)快速支持业务,拿下业务价值;2)降低研发成本,包括不限于人力和硬件。

折腾的过程肯定不会一马平川,原本已经熟悉到不需要看文档就能盲打了,又得重新拾起文档一个个坑踩过来。但我听说过,集团中后台给运营小二使用的页面,绝不会投入专业前端同学,前端是稀有资源,那他们是怎么做到的呢?这里面肯定有我们不知道的玩法。

举个 uform 的例子,这类表单的轮子在集团能找出十几二十个,但我惊奇的是 uform 经历了3年且活了下来,还作为了集团前端“开箱即用”方向的表单标准(基于 uform 的底层来实现一套统一的 schema)。而我有幸参与的 tapas 项目,撑了1年半,感觉快死了,这里面就能看出 uform 有很多值得我们学习的地方。

所以说,虽然目前 fusion、uform、iceworks 会有一些坑,但我觉得有理由相信它们会越来越好!