过去十年,是前端觉醒的十年。

前端这个行业很年轻,更早时候其实是有前端工作但是没有前端岗位。大家觉得这个东西程序员做也行,设计师做也行。前端工作一直存在,但是没有人认为它是一个独立的工种和岗位,也没有人去发展它的工程体系,更没有人去找它的核心价值。所以如果说过去十年前端是什么样的十年,我认为是觉醒的十年。

在过去十年中,前端技术的发展大致经历了三个阶段:

首先是青铜时代,就是 2008 年前后那段时间,前端圈子里流行的是各种特效,比如鼠标跟随、Flash,当时觉得非常炫酷,今天看来有点 low。

其次是白银时代,大约是 2009 年到 2011 年这段时间。大家的观念开始转变了,从单纯的说我要做一个什么样的效果,开始关注我怎么样做这个效果能够更方便。如果回头来看,jQuery 抓的两个点是很准的:第一点叫做 API 的应用性;第二点叫做浏览器的兼容性。jQuery 以这两点为核心,打造了一套这样的开发框架,白银时代其实就是最终以 jQuery 大获全胜落幕。

另外就是黄金时代,也是移动前端开始抬头的时间点。这个时候不管是移动前端还是桌面开发前端,都开始进入到了一个正规化阶段,开始关注工程体系,开始关注自身价值,开始关注质量与效率,同时这个时期也是 Node.js 崛起的时期。

在毕业找工作的时候,就有意识地去看前端岗位,但是因为那个时候前端岗位级别不高、工资跟客户端也有差距。

前端 Leader 的焦虑感:为什么没了你不行,有了你一定能有什么东西?

在阿里有几个大的前端团队,这些大的前端团队的 Leader,其实内心的焦虑感是很强的——前端作为一个新生职能,怎么才能够像服务端、客户端一样,给团队找到核心价值?如果你的团队只是接需求、做需求,技术再好的人,最后也会变成一个“看摊儿”的人。

这个里面有一定的必要性,就是说没了你不行;当然还要有一定的充分性,就是有了你就有了什么东西。所以说前端团队其实可以分成两条线,一条是对内的工程上面的一些操作和一些设施的建设,这样能够提升效率,你工程上做得越深越好,结构越合理,你最后的产出就越多,这个是针对必要性的;还有一条线就是充分性,我们做性能、做跟客户端的融合,这些能够给公司带来新的价值。

工程思想在大公司萌芽,仅靠管理方法吃不开。

其实相对于大公司来说,社区产生的还是一些工具的思想,工程的思想还是在大公司产生,主要是因为会有一个大型团队协作上的需求倒逼你一定要这么做,而社区其实是通过规则来保证团队协作的。

靠规则建立协作,太慢,大公司是接受不了的,它一定需要强有力的推动。比如说我们今天用的东西版本太旧,是不是大家要统一升个级?如果我们用纯粹的管理方法,我写一封邮件要求大家都升级,不升级的今年没有奖金,这是管理的思想。但是其实我们工程团队还有更好的办法,干脆就是对你用的旧版本给你提示,甚至强行推荐你在网上下载最新版本。这个工程思想对于前端行业来说意义深远,但其实前端行业在这个上面已经有点太晚了。另外,未来伴随项目复杂性的提升,工程思想一定还会再进化,再去衍生出更多新的想法。

全栈不是把别人的东西抢过来,而是把自己的东西赋能出去。

工程之后,还有一块比较重要,就是全栈。其实全栈这个想法也是从社区逐渐渗透到公司里的,一开始大家对全栈的理解是很狭隘的,一些前端同学觉得现在有 Node.js,他们也能写服务端的东西。后来发现出现了不可调和的矛盾,尤其是在阿里这样的公司,服务端这么多年下来有很多很重要的基础设施,你去 Node.js 体系下再发展一遍,一是没有必要,二是没有资源,阿里有很多中间件团队,你不管怎么做,都不可能有他们的深度。

另外这也是我当时犯的一个很基础的错误:前端本来就缺人,你把前端转成全栈去做服务端的事情,你前端更缺人了。后来发现逐渐有人探索出一条路:全栈不是说把自己的能力堆上去,而是你要把自己强势的东西给它赋能出去,让别人具有全栈的能力。

圈儿里很多人开玩笑说你们现在都是“钱“端了,因为挣钱多。实际上现在看一个同等水平的前端,他的价格还是略低于服务端的,不过前端最近可以说是涨得快,而且前端胜在竞争少。虽然前端基数大,但是实际上真正懂技术、会写代码的前端非常少。大部分前端就是市场上的前端,基本上是切个图,做一些机械性劳动,对于大企业来讲,是不要那种单纯只会去做机械性劳动的前端的。

今天我们很多人其实是在尝试把“钱端”的天花板弄得再高一点。其实我更愿意这样看:其实 前端本身不是你的天花板,你的个人能力才是你的天花板。

今天很多前端同学其实就是关注如何把设计师的设计稿变成一个用代码写出来的样子,那么你对业务的介入是浅的,你也就这样了。其实工程师应该做什么?从工程方面来讲,你怎么样能让更多的团队、更大规模的团队一起去协作?怎么样做出来更大规模的产品?其实还是需要我们把视角转一下——你能够真正以公司利益、以公司业务为导向,去思考你应该做什么,才能真正有晋升机会。

前端未来:没有什么东西是做不了的

如果让我来展望前端发展的话,我认为有两个方面不容忽视:

一是 AI 与前端的结合,智能研发是我非常看好的领域。我们技术圈里有一个比较流行的观点:一切机械劳动最终都是可以被计算机替代的。

另一个我比较看好的发展领域就是图形学。因为前端相对来说是一个在封装好的环境下去工作的一个代码环境,所以我认为前端未来应该会更下沉,跟图形学有更多的结合。今天我们前端还是有很多东西说我做不了,当你能够去从更底层去做的时候,就没有什么东西是你真正做不了的。我们就不会看到一个 C++ 的程序员说这个东西我做不了,因为理论上讲它可以操作计算机的所有部件,而且能以非常高的性能去做。

前端很有意思,它充满着工程上面妥协的味道

你做技术总是希望尽善尽美,希望把每个细节都做到最好,但其实 前端是一个建立在标准之上的工作,标准本身又是工业化之后的一个妥协的产物,所以前端的 API 也好,语言也好,包括今天很流行的一些开源实践项目也好,里面有大量今天去看非常差的设计。

这些比较遗憾的东西,将来始终会作为一个包袱让我们背负着前进,这是前端的一个无奈。我们为了一些事情去付出这样的代价,但是大家还是会尝试逐步去解决这些陈旧的问题,今天我们已经看到很多旧的问题不是说把旧的改掉,而是设计一些新的东西来逐步替代它,它是一个很漫长的过程。所以有人说前端程序员喜新厌旧,说前端同学追新追的很厉害,新框架基本上隔个 4、5 年就出一个新的工具,所以很多人抱怨学不过来了。

虽然有很多不完美,但是前端也带来了很多新机遇。怎么说呢,这就是前端了。

编程学习,关注微信公众号ID:mtbcxx


程序员阿宇
3.2k 声望791 粉丝

前端学习交流群:784783012 欢迎新手,进阶者