預測一下前端開發的未來
大家好,我零一。
在 WWC22[1] 上,NPM
聯合創始人(當前是Netlify
的數據分析師)「Laurie Voss」 發表了對 「web 開發」 未來發展方向的預測演講。
Laurie Voss
本文讓我們來看看這位有 26 年web
開發經驗的數據分析師,會帶來哪些洞察。
太陽底下無新鮮事
未來 5 年 「web 開發」 會如何發展,在說出自己的預測前,「Laurie」 先表示:「在座各位,很可能討厭我的預測」。
因爲他自己就不待見這個預測結果。
那麼他預測的依據是什麼呢?簡單來說就是:
太陽底下無新鮮事
作爲一個有 26 年web
開發經驗的數據分析師,「Laurie」 總結了技術發展的模型。
簡單來說,一項技術的生命週期會經歷一個輪迴:
提出解決思路
最初,人們在項目開發時遇到一個問題,有部分人開始嘗試解決這個問題。
一旦某個人提出一個讓人覺得 「這個思路很棒」 的解決方案,當遇到類似問題時大家就會嘗試用自己的理解將這個解決方案落地。
比如,當Dan
提出Redux
模型時,社區還沒有更好的狀態管理解決方案,於是這個方案被廣泛接受,湧現出很多 「基於 Redux 模型的狀態管理方案」。
這是個不斷重複造輪子的過程(也是很多 KPI 項目的源頭)。
找出最佳實踐
隨着這套解決方案不斷實踐,會逐漸產生 「最佳實踐」。
當 「最佳實踐」 產生後,開發者通常會覺得無聊,因爲在這個方向沒有什麼可探索(可造輪子)的了。
這時候,某個無聊的程序員會想:我可以製造一個 「大而全」 的框架 / 系統 / 產品,一勞永逸的解決這類問題。
也就是說,將最佳實踐 「商品化」。
最佳實踐的商品化
「商品化」 過程通常是很激烈的,會有很多團隊 / 公司 / 個人參與其中,提出自己的產品,並抨擊競爭對手在某些方面的不足。
比如,各種前端框架,可以認爲是前端工程師這類消費者消費的商品。
消費者有自己的偏好,可能有人喜歡Vue
,有人喜歡React
。但作爲商品,最終會產生一個事實上的贏家。
這是一個不變的經濟規律 —— 要達到某個目的,可能有很多產品可供選擇,但一旦其中某款產品被更多人選擇:
-
作爲老闆,可以更容易招到 「會用這款產品的程序員」
-
作爲程序員,可以更好利用這個產品的社區生態
這又會反過來使得該產品被更多人選擇,最終馬太效應(強者愈強)產生。
比如,與Wordpress
同時期出現的,還有很多博客建站產品。
但到 2022 年的今天,全世界 43% 的網站是Wordpress
驅動的。第二名與他的差距恐怕都不是一個數量級的。
抱怨基礎欠缺
當某一產品成爲主流後,就會聽見一種聲音:不要光會用產品 / 系統 / 框架,你還得理解背後的原理。
當 「Laurie」 剛當開發時,主流的標記語言是 SGML%20is%20a%20standard%20for%20how,It%20is%20metadata.) (Standard Generalized Markup Language,標準通用置標語言)
HTML
僅僅是SGML
的一個微小子集,特點是規範比較鬆散,但比較易學。
如果你在當時使用HTML
,資深工程師會告誡你:不要光會用HTML
,還得理解背後的SGML
,要不然是做不長久的。
大規模應用
當某個產品成爲絕對主流,被大規模應用,以至於成爲事實上的 「基礎設施」 後,下一代技術人很可能不會再接觸上一代人所謂的 「原理知識」。
比如現在,HTML
已經成爲前端基礎設施了,誰還記得SGML
呢?
另一個例子,現在的老前端,很多都用過jQuery
。
在前端框架興起之前,大家都用jQuery
操作DOM
。面試時也會考察jQuery
源碼。
畢竟,大家都認可 —— 原生JS
纔是基礎。
jQuery
中的選擇器太好用,以至於主流瀏覽器都將他內置了,這就是querySelector
的選擇器語法。
最終,querySelector
成爲選擇DOM
時事實上的標準。誰會在意背後的原理呢?
回到原點
最後,在基於新的 「基礎設施」 的開發中又會遇到新的問題。於是,一切又回到了起點。
比如,最初開發者使用JSP
、PHP
開發前端頁面。
後來有了CSR
。
再後來爲了解決CSR
的各種問題,有了SSR
。
但從實現原理來說,JSP
、PHP
不就是SSR
麼。
Laurie 的預言
最後,基於上述輪迴模型,「Laurie」 提出了對 「web 開發」 的預言。
在 21 年的一次調查中顯示,有 68% 的開發者使用React
開發頁面。
「Laurie」 表示:在他的職業生涯中,能達到jQuery
那麼大的使用規模,React
是唯一一個。
沒準兒未來React
會被作爲基礎設施在瀏覽器中直接實現(就像jQuery
的選擇器一樣)。
但不是以 「直接集成 React 本身」 的方式,可能是將當前還不太好用的Web Components
重新設計爲類似React Component
的形式。
在當前,有很多新的框架基於React
實現,比如Astro
、Remix
、Next.js
、Solid.js
。
這些框架的開發者假設自己的用戶已經會用React
、喜歡用React
(否則也不會用他這款框架),這從側面反映了React
已經被作爲前端基礎設施。
如果接受了這個設定(React
會作爲前端基礎設施),那麼我們就回到了輪迴模型的起點。
有什麼事情是當前開發者用React
反反覆覆實現,又覺得很無聊的事呢?
一個答案是:寫組件。
所以,「Laurie」 認爲:未來 5 年,基於 「React 組件」 的可視化編輯器會成爲主流。
類似 React Bricks[2] 這款產品:
屆時,一部分開發者負責實現各種功能的React組件
,這類組件被稱爲Bricks
(磚塊)。
而大部分開發者則基於磚塊,用可視化編輯器拖拽實現不同頁面。
這類開發者甚至不會接觸到HTML
,在他們的基礎設施中,最小的單位是磚塊(React 組件)。
事實上,早期的瀏覽器(由 「Sir Tim」 開發的WWW
)就是用拖拽、輸入等方式實現的富文本編輯器。
呵,太陽底下無新鮮事。
總結
如果你看到這個預測後覺得挺討厭的 —— 就這?
就像文章開篇就提到的,「Laurie」 自己也討厭這個預測。
但歷史一次次證明,曾經被討厭的設計,最終很可能變成主流(比如 2013 年時,前端們對待JSX
的態度)。
26 年前的開發者會認爲只會HTML
,不會SGML
是不靠譜的。
10 年前的開發者會認爲只會jQuery
,不會原生JS
是不靠譜的。
現在的開發者會認爲只會前端框架,不懂實現原理是不靠譜的。
那有沒有一點可能,5 年後的開發者會認爲只會拖拽生成頁面,不懂開發組件是不靠譜的?
參考資料
[1] WWC22: https://www.youtube.com/watch?v=hWjT_OOBdOc
[2] React Bricks: https://reactbricks.com/
前端印象 零一,分享技術,不止前端
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/KH5vW6-jNnavaz6dg16F7g