一
2024年12月。
还有几天,24年就要结束了。想找一个词来总结下24年,却感觉很难找到合适的。你说艰难?但是似乎也艰难了很久了,和23年比,又更加艰难吗?你说,希望?似乎现在说这个还为时尚早吧。
年纪一天天大了,记性有时候就会变得不好。已经记不太清楚到底什么时候前端开始变成现在这样的。完全是一潭死水。在经历需求萎缩、低代码和ai等一系列,企图消灭前端的事件之后,似乎世界发生了一些变化,但是又没有完全发生变化。前端还活着,但是前端似乎又已经死了。
当然,前端不会完全死去。只要这个世界还有人,还有需求。但是未来的前端,会以什么样的形式活着呢。
二
还是会想起2014年。
那一年的二月份。尤雨溪上线了自己独立开发的个人项目-vue。这一国人开发,有着友好的中文文档以及双向绑定特性的前端框架,很快开始在国内前端圈子里开始流行。
当然,尤雨溪并非最早尝试双向绑定的前端程序员。更早些时候,科技巨头google就已经推出angular。angular不仅有着双向绑定的特点,还借鉴了许多其他语言的设计模式,例如依赖注入等。很快占领了市场。那种只需要修改变量就可以操作dom的编程方式,甚至一度被大部分程序员认为已经是最好的解决方案。 此外,facebook也13年5月份时候就开源了一个叫做react的框架。让我们可以在js中编写html标签形式的代码,并通过简单的setState去更新网页内容。 而在2014年vue的发布之后,未来统治前端界的三大巨头,正式聚齐。开启了一段长达十年之久的大前端时代。
三
我常常在说,我们这个时代的前端程序员,真的应该对react和vue心存敬畏,应该感谢这些开发者们,因为正是有了react和vue,前端才具备了开发复杂也业务需求的能力。也正是有了react和vue,前端才从原来的切图仔,变成了前端开发程序员,前端也迎来了那些年的辉煌(当然,从时代发展的角度,可能没有react和vue,也会有其他的框架,但是事实是,前端当前的大厦,是建设在以react和vue为基础的地基上的)。
jQuery本来还是前端界的唯一王者。那个以“write less do more”为设计宗旨,且几乎可以完美的适配所有浏览器的前端框架,很大程度上已经近乎完美的解决了那个时代前端程序员们的困扰。链式调用、跨浏览器的事件兼容和dom选择器,以及一系列功能强大但是却完全没有任何冗余的api,让程序员们只需要几行代码就可以写出原生js(也就是拜jQuery所赐,那个时代的js有着这样一个叫法)难以实现的功能。但是尽管如此,随着前端需求的日渐复杂,jQuery还是渐渐的开始变现出了心有余而力不足。
于是越来越多的程序员始思考如何能够更好的解决前端的问题。在这个背景下,催生了一系列号称前端mvc框架的东西。angular、vue和react都是在这个背景下诞生的佼佼者。他们以划时代的想法,把前端带到了另外一个高度。
四
2014年,美团还没有上市,字节还名不见经传。百度依旧是中国市值最高的三家互联网公司之一。BAT,依旧是中国互联网最辉煌的代名词。表面上看你似乎一切都没有什么变化。但是互联网的格局和战场,已经在发生变化了。
那年,阿里巴巴在纽交所上市,市值突破2000亿美元。腾讯虽然在港交所上市,但是近几年也是一路向上,市值来到了1400亿美元左右。而同期的百度,依旧在600亿美元上下徘徊。三年前,大家一起从500亿美元出发。三年后,似乎只有百度依旧在原地。腾讯、阿里和百度这三家互联网巨头之间的差距已经慢慢拉来。腾讯和阿里分别依靠微信和手淘,在移动互联网时代站住了脚跟。而百度,却依旧在苦苦寻找着自己移动互联网时代的入场券(寻找了十年,依旧没有找到,似乎现在也不再寻找了)。时代变了,那个pc时代的流量王者,在失去了移动端这个主战场之后,似乎已经无法拿捏新时代的用户了。
而在这个时候,很多当年体量上完全无法和百度媲美甚至连仰望百度的资格都没有的公司,却正在慢慢崛起。
五
外部环境的变化,已经如山崩海啸般涌来。智能机和4g网络的普及,催生了数以几十亿计算的天量用户。和天量的用户相比,移动端到处都是蓝海。无数的资本涌入,催生了无数的公司。个个都渴望着成为下个时代的BAT。在这个背景下,前端程序员开始变的稀缺。前端程序员的身价也开始水涨船高(当然其他相关从业人员也是,环境如此)。更多高端人才也开始涌入前端行业。从业人员的数量和人才密度提升的同时,也给前端带来了需求新的技术趋势。虽然这其中大部分都是从其他语言借鉴来的。
在这个背景下,全栈、bff、微前端等很多全新的概念被提出,并在很多场景都被尝试落地。也诞生了ssr(nextjs、nuxtjs为代表)、hybrid(react-native)、devops等很多新的技术方向。js不仅仅是一门浏览器语言,”任何可以用js实现的,最终都会被js重写“这个预言似乎正在一点点被实现。
这个时代的前端程序员是幸福且幸运的。他可以很轻松的找到工作,并且可以用自己的喜欢的语言在这片技术蓝海中,尽情的畅游。
六
2018年11月29日,react发布了16.8。
这是一个值得纪念的版本。因为在这个版本里面,react引入了一项革命性的新特性:hooks。
虽然当时它的引入,在很多一线程序员看来,不过时给FC这种老旧的东西增加了一些能力。而这写能力,class Component都具备,且我们已经用的很成熟的。但是,很快在实际业务中,我们就发现了,hooks如同一种魔法,它改变了后续react的整个生态链。
虽然react后续的版本中,还引入了很多强大的能力,但是如果要我选react发展史上最重要的事情,我会把hooks排第二。第一,当然是react的诞生。
七
2018年前端依旧辉煌。天猫双十一首日,仅仅用了2分05秒,成就额就突破了百亿。全天总成交额达到了2135亿。而这个数字,在2017年仅仅只是1682亿。
虽然这一年,我们经历了互联网金融行业的暴雷时间。很多互联网金融公司倒闭、老板跑路。大量的前端程序员一时间失去了工作。但是整个经济的大趋势上是向上的。这点从天猫双十一的成交额上就有可以窥见一斑。互联网金融暴雷释放出来的人员很快就被其他互联网公司吸纳,很多程序员甚至拿到了比之前更好的薪资待遇。
但是事情,不总是那么好的。任何事物,有繁荣的时候,自然就有衰败的时候。
2019年末,一场新的疫情发生在了武汉,我们开始了长达数年的新冠疫情抗争之路。
在新冠疫情的影响下,实体经济首先受到的冲击。随后开始慢慢向互联网行业蔓延。
这个趋势下,很多原本还在扩张中的公司,开始冷静了下来,对未来的趋势和发展做了重新的判断。
2021年的夏天,其实基本还是朝着好的方向发展的。但是那时候其实已经有些苗头了,首先一些大的公司在重组自己的业务线,其次,行业一些巨头的掌门人们,已经开始发出了些警示性的语言。尤其是以华为为代表的寒冬言论,当时是引起了不小的冲击。到了21年的年末的时候,市场似乎真的就进入到了冬天。我记得很清楚的是,但是我们公司还规划了较多的hc准备扩大规模,但是突然一个周末之后,我们就接到了通知,不仅所有hc冻结,可能还要砍掉一些人。
随后,就是每况愈下的前端市场和不断涌现的前端已死的声音。
八
24年,在我看来,前端环境其实是比23年更差的。但是体感上,似乎又没有那么差。可能是因为经历了22、23年,我们慢慢习惯了这样的环境和压力。不过另外一个角度是,市场已经这样了,那么,还能这么样。
有些事情,随着时间的发展,也慢慢的有了答案。
22、23年,市场环境变化因素太多,其实很多人都一下看不到前端这个行业的未来了。我们究竟会朝着哪个方向发展。尤其是ai出来之后,我们还能做什么。但是现在答案渐渐清楚,ai是无法完全取代程序员。程序员和ai应该是和谐共处。ai在某些场景可以提高效率,解放生产力,但是有些场景,还是需要程序员。
前端的发展是什么呢,一方面围绕ai去做生态是必然的趋势。在方向上,短期内应该是在研发侧打通以ai为基础的研发流程为主。毕竟,单靠chat的方式,其实离业内大家的预期和目标都很远。而在这个方向上,cursor无疑是佼佼者。但是也仅仅只是开始。最终由于ai的侵入,前端整个devops可能都会有很大的改变。
另外一方面,ai的诞生在音视频侧解放的生产力,最终也会被释放到前端上。如何把这些释放出来的生产力转化成商业价值呢。当然是要把这些东西呈现给用户,以ui、交互、或者素材的形式。那么,如何让这些东西更好、更高效的呈现给用户呢。技术上,可能更多的3d场景和素材会需要研发来支撑,而这背后,带来的问题性和性能问题,也依然有很大的技术空间。
此外,5g,已经普及了这么久,未来6g或者5g+的时代已经不远了。网速越来越好的背后,又会给前端带来什么呢。
九
回头看,如果没有当时的新冠,前端行业会比现在好吗。我觉得,不一定,但是大概率不会。原因是,前端从移动互联网诞生至今,已经度过了之前的野蛮生长期,在没有新需求诞生的情况下,前端回归冷静、回归理性,是一种必然的趋势。不确定的原因是,可能没有经历新冠,一些新的需求会提前诞生。
当然前端必然不会死去,只是那个只会react和vue就能轻松找到工作的时代必然是一去不复返了。野蛮生长期过后,前端会开始进入稳定期,继而进入成熟期。新时代下,前端的挑战也在随着改变。对前端程序员的要求会越来越高,无法适应时代变化的程序员必然会被淘汰。而新的技术也会继续出现。
而我们能做的,除了紧跟行业趋势之外,也要更深入的理解用户需求,以及理解在新的业务需求下,前端程序员,能做哪些。
这在我看来,是一个比之前任何时候,都更具备挑战的问题。等这个问题的答案渐渐浮出水面的时候,那就是前端另一个繁荣期的到时候。
只是不知道那个时候,我们又在做什么呢。