我接触前端的时间不长也不短,12 年入门,14 年初在百度实习,14 中正式参加工作,掐指一算 4 年整。然而这四年间前端的变化已经让很多人摸不着头脑。

昨天还发了一条状态,调侃 jQuery 是一个坚韧的社区,有人留言问我为什么这么说。

记得刚入前端这个坑时,jQuery 异常火爆,图书馆的相关书籍俯拾皆是,博客园上的文章介绍多若繁星,jQuery 插件铺天盖地,可谓盛况空前。然而,随着多端设备的兴起和界面需求的不断强盛,jQuery 几乎已经不能胜任日常开发了,时常会在加载缓慢的页面上看到一堆性能低下的 jQuery 组件,被胡乱地拼凑到一起,那场面,就像进入了一间很久没有打扫过的屋子,弥散着臭味和灰尘。

前端是一个喜欢发明问题和解决问题的物种,它干着杂乱无章的活儿,却又在用户的视角前凸显自己整洁。从缤纷的组件,到工程化、组件化,再到模块化,然后回归到语言本身的进化,紧接着又是一轮新的变革。技术在变,社区也在变,社区只是技术演变的一个容器,技术的终点是回归业务。

业务中出来的问题太多,而解决问题的方案则更多,每隔一小段时间前端就会突然蹦出几个新鲜的名词。把单词拆开来看每个字母都认识,但拼凑到一块儿,就只能眼睛瞪鼻子了。不管我们使出多少气力,投入多少时间,新的技术总是学不完,也学不通透,学透了却发现没有实践的场景。于是越来越多前端开始彷徨,“我是不是跑偏了?”,“这玩意儿要不要学?”,“这技术刚听说怎么就被淘汰了?”,“怎么出去旅个游回来感觉落后了半个世纪?”。

对,这就是前端圈子的现状。五年前,你可以说搞前端的很肤浅,而今天——你依然可以这么说🙈——前端的知识体量上升了一个台阶,但我们做的事情依然没变,切!页!面!只是我们发明了更多更丰富的切页面工具,让运营帮我们切,让程序帮我们切,让机器帮我们切。

在切页面的同时,我们的职能也发生了一些改变,我们需要掌握更多的工具和更多的语言,从客户端延伸到了服务端甚至运维层面,从前端资源演变成了产品的主导者,带着运营和产品经理玩游戏,我们甚至可以提供玩法,他们跳进来玩耍。

前端这几年变得丰满了许多,可以深入的方向更多了。无线、Node、类 React、模块化、工程化等等,开始出现了「前端领域」这个概念,它不再是笼统的 HTML/CSS/JavaScript 杂烩,每个领域都有专家,每个领域都有自己的研究方法。所以前端也出现了很多的机会,以及更多的趣味性——事实上,前端那种所见即所得的开发,本身就是一种趣味。

也有很多人不断地为前端圈地盘,在知识边界上开疆拓土,如 Docker、HTTPS、自动化、运维等等,甚至直接跨端跨界跨语言与其他方向擦出奇妙的火花。

前端演变很快很剧烈,找到自己的一席之地很重要。

那么文章的最后,抛出一串问题,在漫漫前端的发展史上,你经历过哪些?你学到了哪些?你属于哪个层级?你将要去哪里?