提起前端,大多數人都在兩種狀態中來回切換,“學不動了”和“扶我起來”,因為前端領域的新東西實在太多了。相比于之前幾年,今年前端領域的變化主要是來自兩方面的催生,一方面是疫情的發生給企業帶來了新的挑戰,企業對于研發效率的迫切需求促進了前端工程化領域的發展,另一方面是前端領域開始進入技術深水區,在全棧和多端的影響下,前端需要進一步突破瓶頸。
回顧 2020 年,前端領域發生了哪些讓人印象深刻的事情;展望 2021 年,前端領域又有哪些值得期待的新趨勢。InfoQ 采訪了騰訊前端技術專家 / 總監、IVWEB 團隊負責人劉恒兵(河伯),蘇寧消費者平臺研發中心前端技術總監禹立彬,阿里云智能云原生中間件前端負責人寒斜,請他們分享觀點、解讀趨勢。
1、2020 年即將過去,在今年大前端領域,您印象最深刻(或者認為最重要)的事情是什么?
河伯:回顧 2020,我印象比較深的有三件事:一是 TypeScript 的大范圍普及,二是工程化的發展,三是全棧深水區。
相比于 2019 年,2020 年 TypeScript 已經深入人心了,各前端框架對 TypeScript 的支持進一步推動了 TypeScript 的應用和普及,語言層面的發展能非??焖俚拇龠M一個領域的發展,正如 Node.js 促進前端領域發展一樣。
2020 年的疫情給整個社會帶來的新的挑戰,企業對于研發效率的迫切需求進一步促進了工程化領域的發展。以前工程化對于很多研發人員僅為了解或者認知僅限于工程構建。疫情期間的工程化已經演變為對企業效率的訴求,各個領域都需要工程化體系幫助遠程辦公、移動辦公提升效率。
2020 年,大前端全棧逐漸進入深水區,不再是僅僅滿足基本的 SSR/BFF 等訴求。對 Node.js 新的期待逐漸變多,承擔更多的場景。中臺化后統一的服務、網關都是需要 Node.js 去承擔,因此帶來的服務質量、容災等各方面訴求就對 Node.js 提出了新的要求,全鏈路監控、Serverless 服務質量 / 性能等都需要進一步建設和完善。當然,這些挑戰也會進一步促進 Node.js 的生態發展。
禹立彬:云開發的時代要到來了。2020 年年中作為評委參加了微信小程序大賽,其中大量參賽作品都使用了小程序云函數作為常用的小程序服務,例如登錄注冊、用戶信息存儲等功能。從比賽可以看出,對于不太復雜的應用,云開發已經完全可以滿足業務需求,并且由于無需具備服務端知識,因此大大降低了前端程序員開發應用的技能要求,雖然云開發在性能上還有一些提升的空間,但是已經具備了落地的能力。
寒斜:我印象最深刻的是 Severless 從最初的概念設想到大規模落地,這些落地不僅僅是各個業務方應用到實踐中,并產生了良好的成本和效率收益,也包括相關的配套工具開始慢慢完善??梢哉f今年是顯而易見的 Serverless 元年。
2、在您對大前端領域趨勢的預測中,今年與預期最相符的一個技術趨勢是什么?最超乎您預期的一個技術趨勢是什么?
河伯:前端領域的整體發展基本符合我之前所認知的發展方向,比較超乎預期的是工程化領域的開發需求和發展。當然這也得益于疫情的推動,在辦公協同領域有急切的訴求,針對研發人員有打造移動辦公、遠程辦公的工程化需求。圍繞 git 建設云 IDE、云工程化是今年大家逐漸認識到的需要加大投入的一個點。
禹立彬:在我看來,與預期最相符的技術趨勢是低代碼平臺,作為一家電商公司的前端團隊,我們也遇到了很多業務上大致類似的需求,以往都是通過組件化 + 手工修改發布來開發,今年通過低代碼平臺的嘗試,減少了前端程序員的工作量,達到了年初的預期。
最超乎預期的技術趨勢:電商促銷游戲的引擎化、3D 化。今年電商小游戲明顯比以前要精致,玩法也更復雜,比如天貓雙十一的養貓已經有了劇本和偽 3D,可以說電商小游戲已經向專業化靠攏,發展速度很快,超出了預計。
寒斜:在我看來,與預期最相符的技術趨勢是跨端技術的進一步普及,越來越多的前端開發者技能延伸到更廣的領域,不僅僅是停留在開發 web、h5、包括移動端、小程序、服務端、IOT 等都開始駕馭。
超乎預期的是 Serverless,猶記得去年剛開始有熱度的時候,大家對這個概念還是比較陌生,甚至會有些輕微抵觸。但今年再看的話,Severless 領域已經全面開花了,各大云廠商都在積極完善技術與生態,并且幫助其客戶進行大規模的業務落地。
3、根據您的觀察,2020 年企業的大前端實踐中,哪些技術或工具得到了最廣泛的落地?
河伯:如果從普及和廣泛度來說,我覺得還是 TypeScript、Node.js,因為這應該是所有大前端團隊都有涉及到的領域。未來的話,我期望在云 IDE、云工程化領域能夠取得較大進展。另外,對于年初大家提及比較多的 WASM 也期望能獲得性能上的突破,能夠真正的在 Web、H5 等場景商用化落地。
禹立彬:我認為主要體現在三個方面:
小程序成為 APP hybrid 的主要方案。蘇寧的 Hybrid 方案較多,H5+JSbridge、
Weex、React Native、小程序等都有涉及。2020 年,因為小程序性能較一般的 H5 好,并且蘇寧在微信、百度、支付寶等平臺也開發了小程序,因此,蘇寧 App 在實現小程序運行環境之后,小程序成為了主要的 Hybrid 方案。
低代碼平臺提升研發效率,根據蘇寧已使用的低代碼 / 無代碼平臺情況看,運行情況良好,成本節約明顯,以搭建促銷會場為例,已經從從 4-5 人的團隊降低到了 2 個人。
自建 IDE 對前端工程化的收益超出預期,2020 年,蘇寧嘗試了在前端內部使用 IDE 來集成前端開發環境,目前還處于早期階段,由于 IDE 成熟度還不夠,僅能做一些工程化的工作。未來將會在智能化代碼提示、自動化測試等方面繼續集成,發揮 IDE 更大的作用。
寒斜:說到“最廣泛”的話,我覺得還是跨端技術。隨著跨端技術的成熟,這是必然現象。工具側,目前到時候沒有看到比較大型的類似 VSCode 這樣的產品誕生。另外,Serverless 本身的落地情況也是不錯的,但我認為還沒有達到最廣泛這個詞的描述范圍,我覺得或許明年可以用這個詞。
4、預測 2021 年的大前端領域,您認為最值得關注的技術趨勢是什么?
河伯:在我看來,以下三個方向都很值得關注:
Node.js 全棧,當進入深水區之后,大家要研究的就是如何進一步突破瓶頸,包含當前遇到的 Serverless 性能(冷啟動、并發)的挑戰。
云工程化 (含 IDE),提升企業遠程辦公、移動辦公效率。
智能研發,改變研發模式,對于業務基礎的、通用的 UI 還原可以釋放資源,讓機器代替研發,提升效率。
禹立彬:2021 年最值得關注的技術趨勢是云開發,毫無疑問通過 Serverless 等技術的應用,會改變前端開發生態。實際上由于 Node.js 的引入,前端開發已經普遍具備全?;哪芰?,而門檻更多的是對服務器操作系統、中間件、網絡設備等知識儲備不足,云開發解決了這些問題后,前端領域會獲得更多賦能和空間。但同時看到,云技術對中小企業來說,是很難自建的,會不會導致新的技術鴻溝,還要繼續觀察。
寒斜:2021 年我覺得最值得關注的是云原生。前端同學可能對這個詞比較陌生,但是它的確跟我們將來的發展息息相關。云原生就好比是一個絕世武功,而前端目前只是一個江湖中等高手,如果能夠將云原生運用自如就可以變成一個絕等高手,可以駕馭更多更復雜的業務需求。
Serverless 技術本身就是云原生技術的其中一個范疇,除此之外,可觀測技術因其本身需要更多可視化的能力支持,對前端的要求很高,還有容器編排技術Kubernetes,倒不是說需要我們特別深入研究容器編排本身,而是借助他開發更多對公司有用的中臺產品。舉個例子,基于 webIDE 的領域研發平臺技術是離不開容器編排的,單點的 WebIDE 只是個玩具,但一但搭配上 Kubernetes 可以演變成重塑前端研發的技術中臺,對企業而言可以起到降本增效,沉淀數字資產的妙用,對前端個體而言增強業務生產力,鍛煉深入的技術能力。還有,Iac(基礎設施即代碼) 現在也已經發展到可以讓前端同學參與其中,這就意味著前端業務能力可以蔓延到云端基礎設施,擁有了面向云的開發能力,總之也印證了那句,凡是可以用 JS 實現的都會用 JS 實現。
對于端側技術,我個人并不關注其中的某個單點,而是會關注端云結合會產生的奇妙化學反應未來趨勢一定是云和端的緊密結合。
5、您認為對于前端從業者來說,明年可能面臨的最大挑戰是什么?
河伯:前端從業者一直面臨的挑戰應該就是不斷學習的能力,從歷史來看,新的技術層出不窮,需要保持不斷學習,那么明年或許一樣,也會有新的技術誕生。對于我們自身來講,保持客觀的心態,認知每一個新的技術、領域的時候需要從問題著手去了解(解決了什么問題,對當前業務的幫助),然后合理應用。
針對全棧領域進入深水區后,需要提出更高的質量標準要求,搭建工具并抽象解耦復用,提升服務質量。
禹立彬:隨著前端智能化的發展,低代碼 / 無代碼平臺的崛起,傳統的前端領域 ---- 切圖、寫簡單效果的前端工程師崗位將會銳減,前端開發的主要工作方式會轉換為制造工具,然后通過工具來支持業務,因此很多前端從業者會遇到轉型問題,我個人覺得 2021 年,大家都需要更多的儲備云知識、編譯知識。
寒斜:隨著云原生對后端能力的重塑,以往復雜的后端技術被打包成可用的能力給前端同學直接使用,意味著前端同學在業務職能上會得到加強。所以這個時候前端同學能不能接得住就是最大的挑戰,你不去學習新的知識,掌握新的概念就很可能被淘汰。
另外我個人覺得,隨著云原生收斂后端非業務性的技術難題(彈性,韌性,安全,可觀測,灰度等),會有更多的后端同學專注業務開發,那么也會增大他們延展到前端的概率,所以也會形成一些競爭。
采訪嘉賓
劉恒兵(河伯),騰訊前端技術專家 / 總監,IVWEB 團隊負責人,行業技術大會 TLC 發起人。2011 年加入騰訊,NOW 直播、QQ 群課堂、騰訊看點直播等移動直播產品技術負責人,負責整體架構設計和開發。有著多年 Web & H5 移動開發經驗,對移動監控和優化有深入研究并專注于全棧技術架構優化,推動組件生態,致力于打造高復用、高效率的全棧開發體系。同時,IVWEB 團隊是騰訊專業前端團隊之一,培養多位行業講師和技術專家,團隊致力于新技術研究及行業交流分享。
禹立彬,蘇寧消費者平臺研發中心前端技術總監,歷任西祠胡同前端負責人、途牛旅游網前端架構師等職務?,F負責蘇寧易購網站前端領域的技術管理工作。在基于 Node.js 的前后端分離,ReactNative/Weex 開發有豐富的技術實踐經歷。
寒斜,阿里云智能云原生中間件前端負責人, 16 年加入阿里中間件從事云產品企業控制臺研發工作,目前帶隊負責中間件 20 多款云產品的前端研發工作,主要技術棧為大前端通用技術包括 Node.js、TypeScript、React 、 Electron、ReactNative 等對前端研發效能提升,前端數字化體驗管理體系建設有多年的實踐經驗,目前專注在 Serverless 開發者工具鏈的建設,是云原生 Serverless Dev Tools 研發負責人之一。