前端沒(méi)了?也許是剛開(kāi)始
前段時(shí)間社區(qū)上大肆討論「前端已死」,各種唱衰前端的言論此起彼伏,真是聞?wù)呗錅I,聽(tīng)者傷心。
最近又聽(tīng)說(shuō)某大廠取消大前端部門,前端被拆分到各個(gè)業(yè)務(wù)組。很多前端高 P 或離職,或被裁,或轉(zhuǎn)后端。
這是前端的落日?
今天就瞎聊聊,聊到哪算哪。
前端技術(shù)發(fā)展趨于穩(wěn)定
過(guò)去前端最被開(kāi)發(fā)者詬病的是發(fā)展太快了,三天不學(xué)前端就跟不上了。
在我個(gè)人的前端經(jīng)歷中,技術(shù)棧從 Jquery 到 Angular,再到 React,前端技術(shù)快速切換,同時(shí)配套的前端研發(fā)體系也在不斷推倒重建。
僅僅 React,從 V14 到 V15,再到 V16,一路快速迭代,每一個(gè)版本都有質(zhì)的飛躍。尤其是 V16.8 hooks 出來(lái)之后,各種生態(tài)工具又得重建。
但最近幾年,前端技術(shù)發(fā)展似乎慢了下來(lái),React 16.8 版本還是 19 年發(fā)布的,距離現(xiàn)在已經(jīng)四年多時(shí)間了,在這四年多時(shí)間內(nèi),React 雖然發(fā)布了 V17、V18,但并沒(méi)有什么質(zhì)的提升。對(duì)于我而言,只要能用 Hooks,16/17/18 哪個(gè)版本無(wú)所謂。
前端生態(tài)趨于穩(wěn)定,是好事還是壞事?
我以前很羨慕 JAVA 開(kāi)發(fā)同學(xué),學(xué)習(xí)一套技術(shù)體系可以用到老。現(xiàn)在似乎前端也可以這樣了,我認(rèn)為這是一件非常好的事情,是前端成熟的標(biāo)志。
只有前端技術(shù)體系不再發(fā)展,前端工程師才能 100% 精力投入在產(chǎn)品建設(shè)上。不用總是分精力去學(xué)習(xí)新技術(shù),新輪子,最大程度復(fù)用過(guò)去的學(xué)習(xí)成果和基礎(chǔ)設(shè)施。
比如現(xiàn)在有個(gè)需求是計(jì)算 43??5 的結(jié)果,我們會(huì)使用現(xiàn)有的方法,計(jì)算出結(jié)果,而不是要去思考有沒(méi)有更好的計(jì)算方法。
本質(zhì)上是我們的計(jì)算方法已經(jīng)非常成熟穩(wěn)定了,我們只要專注需求本身。前端什么時(shí)候穩(wěn)定到這個(gè)程度,就皆大歡喜了。
公司中前端部門的發(fā)展
再聊聊一個(gè)公司中,前端團(tuán)隊(duì)定位的問(wèn)題。
- 公司發(fā)展初期,產(chǎn)品建設(shè)高速期,前端的首要目標(biāo)是建設(shè)產(chǎn)品,這時(shí)候前端通常在業(yè)務(wù)部門中,大家全力做產(chǎn)品。
- 隨著公司發(fā)展,產(chǎn)品越來(lái)越多,各個(gè)業(yè)務(wù)部門的前端交流少,使用的技術(shù)五花八門,重復(fù)造輪子。這時(shí)候公司通常會(huì)搞一個(gè)大前端部門,使其研制出來(lái)一套在公司內(nèi)成熟的前端解決方案,統(tǒng)一各種基建,提高人均效能。
- 當(dāng)前端解決方案統(tǒng)一到一定程度之后,大前端部門的使命就結(jié)束了,這時(shí)候前端又會(huì)被拆分到業(yè)務(wù)部門中。
這里說(shuō)說(shuō)阿里大前端部門拆分,我認(rèn)為原因有兩個(gè):
- 阿里前端基建相對(duì)已經(jīng)成熟,拆分之后對(duì)前端研發(fā)效能影響不大。
- 公司不掙錢,不吃大鍋飯了。以前是各個(gè)業(yè)務(wù)部門一起掙錢,一起養(yǎng)著大前端團(tuán)隊(duì)。現(xiàn)在公司不賺錢了,要改革,要求各個(gè)業(yè)務(wù)線自己掙錢自己花,所以前端開(kāi)發(fā)也要回歸到業(yè)務(wù)團(tuán)隊(duì)中。
最近并不只是「前端已死」了,我認(rèn)為各個(gè)工種都在面臨裁員潮,原罪是公司不賺錢了。在發(fā)展階段啥問(wèn)題都沒(méi)有,一旦發(fā)展停滯,那什么都是問(wèn)題,一個(gè)一個(gè)開(kāi)刀。
對(duì)于個(gè)體來(lái)講,如果想在這個(gè)公司發(fā)展,就要盡力幫助公司成長(zhǎng)。另外就是居安思危,提升個(gè)人競(jìng)爭(zhēng)力,只有跑的比別人快,才能在逆風(fēng)中活下來(lái),才能比別人更容易找到工作。
這里不得不吐槽下,很多人樂(lè)意躺平,你說(shuō)要學(xué)習(xí),要往前走一步,他會(huì)噴你卷,噴你帶壞了風(fēng)氣,噴你是資本主義的走狗。大無(wú)語(yǔ)~
一個(gè)前端創(chuàng)業(yè)機(jī)會(huì)
之前在螞蟻,前端基建非常完善,開(kāi)發(fā)者真正的只用關(guān)心業(yè)務(wù),不用去思考技術(shù)的東西。在公司內(nèi)部基本上做到了只用關(guān)心 43??5 這個(gè)需求,不用考慮該用哪種計(jì)算方法。
從螞蟻離開(kāi)后,非常懷念螞蟻的前端解決方案,但在社區(qū)上,并沒(méi)有類似的收費(fèi)或者免費(fèi)方案。據(jù)我所知,各個(gè)大公司,都會(huì)有自己的前端解決方案。但中小公司,基本上沒(méi)有能力去自建一套類似解決方案。
阿里的后端解決方案,有商業(yè)化的產(chǎn)品「云效」。
螞蟻的后端解決方案,有商業(yè)化的產(chǎn)品「SOFAStack」。
微軟的后端解決方案,有商業(yè)化的產(chǎn)品「Azure DevOps」。
為什么后端有,前端沒(méi)有呢?
我認(rèn)為是后端技術(shù)棧穩(wěn)定,基于這一套技術(shù)棧的生態(tài)也就穩(wěn)定,發(fā)展多年下來(lái)勢(shì)必會(huì)有成熟的解決方案。大公司產(chǎn)出商業(yè)化解決方案,給中小公司用。
前端技術(shù)棧過(guò)去發(fā)展快,生態(tài)不穩(wěn)定,大公司內(nèi)部的解決方案也是最近一兩年才出來(lái),所以前端目前還沒(méi)有類似的解決方案。
所以我認(rèn)為前端解決方案,是未來(lái)一個(gè)確定性的機(jī)會(huì)。
這個(gè)解決方案覆蓋前端研發(fā)的整個(gè)生命流程,包括不限于:
- 產(chǎn)品:埋點(diǎn)、數(shù)據(jù)分析等等
- 開(kāi)發(fā):迭代協(xié)作、腳手架、組件庫(kù)、邏輯庫(kù)、聯(lián)調(diào)、國(guó)際化、跨端等等
- 上線:灰度、回滾、CDN、監(jiān)控告警、性能、SEO、SSR、SSG、離線包、安全等等
希望未來(lái)前端解決方案,像乘法解決方案一樣,能成為行業(yè)統(tǒng)一規(guī)范,讓開(kāi)發(fā)者真正的只用關(guān)心業(yè)務(wù),不用關(guān)心技術(shù)。
前端的未來(lái)
說(shuō)幾點(diǎn)自己的思考:
- 前端技術(shù)趨于穩(wěn)定,開(kāi)始有商業(yè)化的前端解決方案出來(lái)。
- 前端不會(huì)消失,但門檻會(huì)進(jìn)一步降低,低端前端飽和。
- 高級(jí)前端依舊緊缺,因?yàn)楦呒?jí)前端并不是只是看前端技能,而是綜合考慮技術(shù)能力、業(yè)務(wù)能力、溝通能力、情商、職業(yè)素養(yǎng)、工作經(jīng)驗(yàn)等等,這個(gè)過(guò)去現(xiàn)在未來(lái)都不會(huì)變。
- 前端工程師可能會(huì)變成用戶體驗(yàn)工程師,后端考慮存儲(chǔ)并發(fā)等,前端考慮用戶體驗(yàn),為整體用戶體驗(yàn)負(fù)責(zé)。
- 前端會(huì)進(jìn)一步蠶食桌面端開(kāi)發(fā)、移動(dòng)端開(kāi)發(fā)的生存空間。
- AI 可能會(huì)改變前端研發(fā)模式。
總結(jié)
也許前端技術(shù)棧穩(wěn)定之后,才是真正的開(kāi)始。
文中所有觀點(diǎn)未經(jīng)論證,純屬 YY,歡迎理性討論。
關(guān)于作者
磚家,brickspert
前螞蟻集團(tuán)前端技術(shù)專家
開(kāi)源庫(kù) ahooks 作者,10k+ star ??
開(kāi)源庫(kù) antd mobile 前負(fù)責(zé)人,10k+ star ??