关于“前端又出新框架了”的思考

一转眼2018就已经到来,来不及转身思考,已过了自己工作之后的三个年头。这几年我对自己的总结是:接触得多,得到的不一定多。公司需要我,我就去做,一直在各种研发方向间切换,让我有些不明白自己擅长什么。

从当初开发上线第一款iOS App,我以为我是一个 iOS 开发工程师了,然额…自动15年中进入目前的公司。。。首先是公司IM智能客服产品的需求,学了两个月,用C++做了一个websocket服务端,将业务转发给具体的消息服务。服务端搭好了,不满足于仅依赖前端网页接入的单一模式,需要开发Android和iOS两个品台的App,我都有经验,于是屁颠屁颠地花了两个月率先把Android版的给上线了,由于赶得紧,功能不是很完善,而后立马就折腾iOS版去了,又花了两个月左右,从申请账号到打包上线,总算也给折腾出来了。由于我们是SaaS平台,所以必不可少的就是各自平台的SDK了,提供客户接入的Android和iOS SDK也在16年一一上线了,做得比较粗糙。好在这几个产品都采用了相似的架构,全都采用websocket作为主要通信方式,折腾多了也就觉得大体也就是那么回事。由于当初比较着急上线,问题还是不少的,于是整个2016年几乎都在这几个产品间修复bug和重构。

直到快年底了,16年九、十月份吧,公司前端离职了,这个活又抗我肩上了,在大学以及之前的开发中有过一点点前端的接触,还是可以完成这个任务的交接的。但是,推开前端的大门后,发现这些玩意,和我以前见过的好不一样了,有点像iOS和Android开发一样,有了工程化和组件化的味道。这一下,让我眼前一亮。接触一段时间后发现,前端真好!不过,js的无类型和脚本语言的特性,还是容易出很多幺蛾子,经过一系列的项目更新和功能升级后,这些算是一点一点地慢慢把坑填了,渐渐熟悉了前端开发的思路和写法,也逐渐发现自己很难回到App开发时那种要写个冗长的语句。这一年来,重构了SPA客户端网页和网页端插件,设计了一些插件开放接口,以及把座席端做得更加强大和易用,也算是把前端运用得比较熟练了。

前端发展得很快,尤其是这两年来,不断涌现的框架以及nodejs的壮大,使得前端全栈开发成为一种流行。这一年,我听到或看到的最多的一句关于前端的话就是 “前端又出新框架了”,从AngularJS到React的大火,以及快速杀出的Vue,而后又是next.js,脸书团队的框架尤其之多,他们还推出了Reason并可以和React绑在一起,以及GraphQL(API的查询语言,可以看成是REST的现代版)。当然不得不提的是最流行的打包工具webpack,以及让我们可以使用更多EMCAScript新特性的babel。2017年,他们大放溢彩,现今的2018,亦会是群贤毕现的一年。当然这其中有很多的学习成本,不断学习与时俱进你才能保持作为远程开发者的竞争力,但快速的发展和推动着技术的革新和进步,实际有利于我们的生产和生活。

我觉得技术人每一年要提高的不是知识量多少,而是要提高学习能力,提升思考问题的方式和一些方法论的理解,毕竟万变不离其宗。

比如前端的世界里,知识量是会不断增长的,各种不同的框架,新的语言特性等等。我们要做的不是每一个框架都去学习一遍,没必要这样,反而是浪费时间,技术的最终目的是为了提高生产力,了解这些框架或者技术的适用范围,他们的优点,在你的业务里是否适合,而后才选择去学习去接触,深入应用到你的应用开发中。而后,当你理解了这些框架或者工具的设计思想和程序架构,你可以参考着去做适合自己业务需求的开发框架,能够灵活运用获取到的知识,才是体现能力的地方。让自己慢慢地从一个使用轮子的人,升级到一个创造轮子的人,学会思考多于复制,便是提高。