题图:from Zoommy
最近「极客时间」App 的热点专题更新了一个主题「走向大前端」,做为一个老程序员,看完之后颇有点老泪纵横的感觉。程序员们以前总是为年龄所累,被迫成为吃青春饭的,这个误解还没消除干净,现在又陷入了各种职业纷争和角色认知的漩涡。全栈工程师很是流行了一阵子,后来大家终于认识到全栈并不是用 Python 或 Ruyb 语言写个个人博客就可以了。现在大前端的概念又横空出世,这让我想起了之前写过的「后端工程师的危机」,今天写写前端吧,我这里说的危机,可能并不是你想的那样。
什么是大前端工程师呢?其实就和打仗攻城掠地没什么太大区别,前端工程师们似乎对 JavaScript、CSS、HTML 以及层出不穷的前端框架有点不耐烦了,他们希望把移动工程师和后端的一部分工作和前端的工程化工作都拿过来,史称大前端工程师。比如,大前端与以前的 Web 前端的区别是,大前端将做更多的终端开发和工程化等工作,而不仅仅只是开发 Web 页面。大前端工程师将能搞定所有端上 —— 注意这里是所有,谁知道未来还会出现什么端 —— 的开发。与充满争议的全栈工程师相比,它更具可操作性。
注1:这意味着以前的前端工程师不仅要掌握 JS 相关的技术、标准、引擎和框架之外,他们还需要精通 iOS 和 Android 平台的技术,写到这估计很多工程师们已经在庆幸 WP 的倒掉了,毕竟可以少学一种技术体系:)
注2:很具备可操作性吗?我怎么没看出来呢,这还意味着,如果移动工程师 —— iOS 和 Android 工程师们 —— 如果不想被淘汰,就需要深入到乱花渐欲迷人眼的前端领域,又是一场血腥的技术争夺战。
但是前端工程师并不管这些,他们认为,大前端工程师将会是一个拥有强大生命力的职业 ,未来显示终端设备的生命力会越来越强,全息影像的设备,穿戴设备,人机接口等技术,最终都将归于端内。人类的信息获取有 80% 以上是通过视觉,无论 Amazon Echo 这样的语音交互设备如何演化,显示终端都会有一席之地,大前端才是永远不会失业的职业:)
这一点我从极客时间的前端主程涛哥身上可以看出一些端倪。最初我准备做原生的 iOS 和 Android 应用,涛哥说我们用 Vue.js + Weex + 原生开发吧,应该没问题,一套代码多平台使用,效率妥妥滴。然后他在钉钉上扔给了我一条「一切尽在掌握」的表情。我并没有完全相信他,考虑到阿里开源的尿性,我特意咨询了淘宝的 Weex 团队,Weex 这事你们到底能不能一管到底?天猫扛把子恩阳和 Weex 的老大天施、小风、肯纷纷表态:池老师你敞开用,出了问题我们全力协助解决。
为啥不是没问题你敞开用呢?当时我并没有想到这个问题。
开发过程曲折而艰苦,涛哥带着前端团队从一切尽在掌握降级到了快掌握不住了,但毕竟还掌握着,他们艰难前行,解决着产品研发中的一个又一个问题。涛哥做为一个典型的前端工程师,不仅对 Node.js 和服务器端颇为熟悉,在与移动端程序员配合的时候还经常对 iOS 编程和 Android 技术表现出浓厚的兴趣,不时去写一些原生代码,并发出啧啧的赞叹声。看着移动工程师幽怨的表情,我仿佛在涛哥身上看到了大前端的影子。
说了这么多,危机在哪呢?
1、这个时代终究是个分工合作的社会,每个人发挥自己最强的那部分,才能做出最好的产品,即使你是大前端,也不可能从都到尾负责所有的终端产品开发,你一样要和别人去配合完成自己最擅长的内容。否则前端有可能成为最大的瓶颈,除非你自己是个独立软件开发者。
2、要成为大前端,原来的 Web 工程师需要学习原生应用的开发,移动工程师则需要进入 JavaScript 这个极为复杂的 Web 领域,对双方来说都是挑战,也是机遇。
3、除了技术,大前端还需要你能更好的理解产品和用户体验,并与产品经理、设计师和交互体验师进行顺畅的沟通,这里面要学习的知识并不比技术领域少。毕竟端永远是和用户最贴近的。
你有能力有时间去学习和掌握这么多的知识并熟练应用么?如果你能的话,恭喜你,你已经是个大前端工程师了。其实大前端工程师哪有什么危机,就像我从来没看出道哥安姐这样的神童有什么危机。危机永远是给普通人准备的,是那些还没有成为大前端的 Web 工程师和移动工程师,毕竟,从软件架构的发展趋势来看,前端会越来越「大」,在整个系统中也越来越重要,单纯的技术体系是无法满足产品需求的。
那你危机了吗?
更多内容,可以下载「极客时间」阅读「走向大前端」,比我写的精彩。
最近文章:
我们为程序员做了一款产品
临大战前有静气
马云也许是最懂技术的人
点击 阅读原文,下载极客时间 iOS 版。
文章评论