某前端迟到的19年总结

354 阅读6分钟
原文链接: zhuanlan.zhihu.com

原计划是过年期间来写这篇文章的,拖拖拉拉的一转眼已经4月份了。

从18年回到众荟到19年底完成生命周期离开,回顾下自己做了哪些事,还有哪些应该做但是没有做完的事。

设计/交互

老系统设计风格升级优化。

早期由于产品层面规划的问题,各系统配色、交互、LOGO等由于不同的产品定位和不同产品经理的喜好问题都不相同。

老系统在配色相对的陈旧,我们通过一段时间的调研,以及和上级领导沟通在整体配色上进行了上面的调整和更新。并且对老系统的交互进行了改进,从而整理出一套完整的设计规范。

设计规范主要从 间距、对齐、颜色、布局、字体、图标、文案、数据录入、数据展示、数据可视化、信息反馈、微动效这几个方面进行了整理和约束。

在交互上调研了客服组、产品组和部分客户,以及参考了部分书籍整理出一套交互原则。

也整理出一套新的沟通流程。

组件化/微前端

为啥要把这俩个放一起,画一张图示意一下。

每一个竖列都是各自独立的系统(独立的域名、独立的模板引擎、各种前端的技术栈柔和在一起),各系统的配色、交互各不相同。

例如我们有个需求是修改某头部信息,最终我们发现所有的系统都要修改,统计了一下大概10多个系统要同时修改,带来维护、发布等等的问题。

所以在设计上做了上面的变更,在前端方面我们做个2块的事情。

组件化

B端的产品相对于C端来说主要以下这些区别:

  • B端产品更注重业务流程的清晰性度,当一个页面的业务复杂度很高的时候,组件之间的交互会非常复杂。这就使得组件类型和小动画特别多。
  • B端的产品一个页面上可能有几十个接口同时存在,并且为了保证服务端的简单性,后端提供的数据体积特别大。
  • 相对于C端的产品,B端的产品业务层次上更复杂,也就是数据结构与业务组件复用的难度。

所以做了如下调整

微前端

组件库开发完成以后,首要的任务就是如何快速的把组件换进去,并且出效果。

调研了当前的微前端方案,总共有几种方案:

  • 通过路由去分发。当前我们的系统就是通过路由分发,我们别不希望改变原有的路由。
  • 通过iframe去分发。我们的系统本身就有嵌入到友商系统中的情况,所以尽量不要有多层iframe嵌入的情况。
  • Web Components。

最后我们选择的是JQ、angularjs相关的项目以元件的方式嵌入进去,react相关的项目以组件的方式嵌入进去。

公共部分的元件/组件以react来编写,编译后支持JQ、angularjs。

这样就带来一个问题,公共部分分散到各个系统更新的话如何能保证上一次线,各个系统都更新掉?

如下图

APP设计

下半年我们接到了一个全新的任务要在现有产品的基础上来完成一版APP,并且把当前不同的产品线都合并到APP中去。

业务上

当前产品线

各个产品线都是独立的业务,可能也是独立的团队在负责,按照传统的模式的话,大家在同一个工程中反复的修改,带来很多沟通和配合的成本,代码也无法维护。

技术选型

调研后,我们分析

  • 原生。我们是前端团队,并且在方向上擅长前端和服务端这块,对于Android和IOS并没有技术储备和人员储备。
  • Weex。阿里为主,侧面了解了下,基本处于半更新状态。
  • hybrid模式。相对简单,并且容易上手,但是整体性能上略差,包的体积也略大。
  • RN。技术栈吻合,社区广泛,目前可参照的项目比较多。

最终我们决定使用RN来开发。对于我们来说开发的细节是可以攻克的,只是需要实现多业务的拆分。

最终的方案如下:

应用层

整个应用层的开发延续了之前文章中提到过的基础框架在这个基础上对整体架构做了一些改变。

直接贴一张画好的架构图吧

团队管理

算起来做Leader也5-6年了,人多的时候有20多个,少的时候2-3个总结一下自己的一些感触吧。

做技术or做管理

技术人都有一个很大的通病(我也是)那就是我觉得我自己的方案是最合适最牛逼的,这个人做的东西完全不符合我的想法,还不如我自己上手来的快。

其实在这个事情上没有谁对谁错,作为管理者我们要保证团队技术按照整体的规划延续下去,在其他方面要给予其他同学更多宽容和施展的空间。

作为一个管理者我们需要像家长一样去聆听每一个人的声音,扶持着每一个成长。

让大家做到能做、想做和需要做的,并且帮助团队成员找到团队中的位置和角色。

“重视前端”

这个话题在各种场景下都听到过,什么是被重视呢?其实就是话语权的问题。

要想拿到话语权首先要做到被依赖,我们的团队从最早3-5个人只负责前端相关的工作,逐渐的我们开始有自己独立的业务,直到我离开我们的开始负责整个应用层的开发。

关于“钱”

程序员的脸皮都很薄,在长薪这事上很少有人提及,之前也遇到过很多管理者,只要你不提,肯定不会为你争取的。

为什么会这样呢?无非就是怕麻烦领导,万一领导不同意对我有不同的想法呢?

在利益上牺牲自己一小部分利益去为团队争取利益,团队才能更加有执行力和凝聚力。

关于“上下级”

作为互联网人更多的应该是服务意识,到底谁才是上级谁才是下级,重要么???

总结:

感谢支持我团队的同学对我的支持,感谢我领导对我扶持。

很遗憾的是应用层那块的东西没有完全做完,前端工具链的工作也没有做完,希望团队同学继续做下去吧。

每个人在人生的某一个阶段总会有各种各样的原因离开或者留下,一路前行吧。

最后附上我们团队志明同学画的部分同学的头像(各种原因没有画完),加油ヾ(◍°∇°◍)ノ゙。