『前端技術』相比後端是否只能打輔助?

問題來源於知乎提問,截圖以下:前端

先後端如何定義 前端生存現狀 前端的下半場 前端的機遇vue

1.前端後如何定義webpack

論壇上人們常常會爲先後端的問題展開撕 x 大戰,不少時候問題的根源是沒有定義好先後端的概念.c++

由於這兩個詞自己就很籠統,就我我的而言我是這樣理解的git

狹義前端: 就是純粹的 Web 前端,基於瀏覽器技術是前端應用 狹義後端: 就是純粹的 Web 後端,基於服務器爲前端提供接口的後端應用程序員

因此在理清這些概念後咱們才能夠正常討論問題,一些後端把大數據和人工智能跟後端聯繫在一塊兒是很扯淡了,大數據開發有專門的數據工程師操盤,人工智能也有對應的算法工程師操盤,除了一樣運行在後端,跟web 後端是鄰居之外,沒有太大關係.github

一樣,前端也不能把什麼遊戲開發跟本身扯到一塊兒,web 端遊戲除了跟前端一樣運行在瀏覽器之外,也沒啥太大關係.web

2.國內前端生存現狀算法

目前的現狀也很明顯,以阿里爲首的淘系技術(類電商)其難點就是在於後端,前端僅僅是薄薄的展現層,好比玉伯的回答編程

一般一家公司,後端人數遠遠多於前端,後端項目的複雜度也遠高於前端,這是國內很現實的狀況.

一樣還有一個常見的說法,前端轉後端隔層山,後端轉前端隔層窗戶紙,不少後端程序員表示轉到前端發現工做輕鬆了不少,框架學得很快,兩天就上手工做了,其實這不是吹牛,這確實是當前的現狀.

那麼是否能夠作下定論了,前端確實只是負責渲染的展現層,做爲後端輔助是很正常的?

是的,在當前環境下這個說法無疑是成立的,但是咱們忽略了一個基本狀況,目前國內絕大部分企業都是面向 C 端企業,好比美團、滴滴、知乎、淘寶、百度、頭條等等,能數得上的巨頭企業無疑服務於 c 端用戶,若是你業餘對產品有必定研究就應該知道一個基本理念,c 端產品的設計必須越簡單越好,c 端產品必須基於一個基本假設--用戶都是傻子

舉個例子,即便現在淘寶註冊已經如此方便了,在 2017 年淘寶贊助的春晚當夜淘寶的客服炸了,緣由不是服務器頂不住,而是下沉到三四線甚至縣城的淘寶新用戶瘋狂打電話問淘寶客服如何綁定銀行卡?

因此在這種產品設計理念下,前端根本不可能作出什麼花樣來,由於前端產品的複雜度永遠不能超過 c 端用戶理解能力的下限。

並且巨頭們的產品形態也決定了其不可能有複雜的前端交互,美團、淘寶這種電商性質的網站自己就是展現商品的,其最複雜的點也不過是購物車的邏輯和下單邏輯,而知乎、頭條這種社區、新聞類的應用則更簡單,幾乎就是展現文章。

咱們能夠看到,目前巨頭們的產品性質和用戶羣體決定了前端的複雜度,在這種狀況下前端的的確確是打輔助的,後端承接了巨大的業務邏輯,並且又由於面向 C 端,其用戶量巨大、用戶敏感度極高,越是這種狀況下越要保證服務器的高可用和高併發,這個時候服務端的架構設計幾乎是決定了產品的生死,而前端是夠用就行。

因此,能夠給前端判死刑了?

竟然有之前端爲核心的商業產品?前端怎麼可能爲核心技術,並且是厚厚的一層? 一年多之前我曾經作過一個項目,裏面有一個需求就是在前端讀取本地 excel 文件渲染到瀏覽器裏,而且經過瀏覽器能夠作必定程度的計算、修改、排序等操做,這是我目前作過最複雜的前端項目了,雖然具體的技術細節早已經忘記了,可是我還記得當時急的撓頭的狀態,最終我也沒有作的很漂亮,從 github 蒐羅了各類開源項目拼湊成了一個可用的功能。

在那以前我我的對本身的技術能力仍是有必定信心的,可是那個功能把我搞得很狼狽,首先得分析一下這個需求:

從本地讀取 excel,這個時候就須要一個 excel 解析器,把 excel文件解析成 js 相關的數據結構。 渲染 excel,這個時候須要一個 excel-like 的前端組件,能將 js 相關的數據結構渲染成 table 表格。 操做 excel,這就得保證這個組件不只僅只是渲染,還得保證可編輯。

有人會說,這還不簡單,github 上搜相關開源項目組裝就完事了,但是問題就在於這個需求不是簡單的組裝,咱們還得考慮現實狀況。

本地 excel 可能會很大,有幾萬條數據,js 相關的 excel 解析器會在解析過程當中產生瀏覽器假死的狀況。 大量數據的 excel 在渲染過程當中會產生卡頓,不只如此,對上萬行數據進行排序也會產生卡頓。 如何保證數據安全,在編輯表格過程當中出現了斷網、瀏覽器閃退,數據怎麼辦? 你必定想知道我是如何解決這個複雜問題的。。。 其實我沒有解決得很優雅,由於這個需求的複雜度太高,若是完美解決甚至能夠單獨作一個創業項目了,最終我在web worker 中解析 excel,瀏覽器假死的狀況就迎刃而解了,排序和計算的卡頓我分了兩種狀況,在數據量低於 5000 的時候直接有主線程計算,超過這個數字一樣開啓 web worker,畢竟主副線程通訊也是要開銷的,表格儲存則更粗暴,直接在本地全量保存,每隔 10 秒鐘同步一次,上傳以後再在本地清除.

咱們試想下若是上述的需求不是一個簡單的功能需求,而是一個產品呢?若是把微軟 office 系列、Adobe 全家桶、ide 搬到瀏覽器裏會怎麼樣?

固然,我知道已經有公司作出相似產品了,這些產品就是所謂的前端核心技術產品,這些產品也有一個共同特色,用戶是專業人員或者 B 端用戶,這個時候產品的設計理念是儘量把功能作強大來知足專業人士的需求,而非 c 端儘量簡單來保證用戶能理解。

除此以外,這種形式的產品與 c 端產品還有一個巨大不一樣,那就是用戶數量,因爲面對專業人士這種小衆羣體,其用戶量在中前期並不會太多,甚至作到後面的用戶量可能都跟今日頭條差個數量級,這個時候後端的高併發彷佛並非最棘手的,而產品的核心賣家反而在前端的功能開發上。

  1. 前端的下半場

討論到這裏咱們是否是能夠達成一個共識?面對普通消費者的流量應用以淘寶、頭條爲首,其產品形態和用戶羣體致使其前端不可能作出太複雜的應用,而前端爲核心賣點的應用集中在相似於在線office這種面向專業人士的產品上。

那麼爲何如今的現狀是展現類的流量應用佔據絕對主導?

互聯網人口紅利效應,過去十年是互聯網人口紅利的十年,搞個APP ,靠砸廣告、砸補貼獲取廉價用戶,而後忽悠投資人融資上市圈錢,在獲取用戶如此方便如此廉價的年代,不多有人會靜下心來去經營那些面向專業人士的複雜應用。 瀏覽器技術的不成熟,過去十年咱們基本上消滅了 IE,可是不能否認在過去很長一段時間 IE 佔據不少份額,也不能否認前端技術也是最近幾年才發展起來,像 Gmail 那種應用放在當年也就谷歌那種超級巨頭 hold 住,即便如今若是沒有 WebAssembly 的加持咱們也很難開發出媲美photoshop的瀏覽器應用. 前端從業者的不成熟,不只指一線開發者更指一線管理人員,前端從業者從刀耕火種到如今溫飽奔小康也就這幾年的功夫,出個 vue3這種專爲下降框架使用門檻的框架都有喊學不動的,面對 Adobe 全家桶那種超級應用很難想象依靠目前的開發者來開發,這種級別的產品須要強大的軟件工程管理能力和紮實的軟件開發技能,從這一點上前端從業者顯然沒作好準備.

可是這個現狀不會維持過久,BS 架構早晚會進入這些超級應用的法眼,瀏覽器+雲會是這種產品的常態,會有愈來愈多的超級應用進入瀏覽器,前端這個年輕的行業也會正式進入下半場.

我是基於如下判斷:

互聯網人口紅利已經開始逐漸消失,固然拼多多這種將戰場下沉到四五線城市甚至農村的企業仍然能夠得到成功,可是目前來看拼多多已經一沉到底了,不可能再有新的紅利了,沒有了流量加持,c 端的機會愈來愈少. 一個產業成熟的標誌是出現了大量 B 端企業,當初的美國興起、日本興起都是從開始的代工廠(富士康)到組裝廠(聯想),可是真正在產業中佔據上游,佔據主導地位都是B 端廠商的大量出現,好比目前絕大多數國產手機的核心零部件都是受制於美日韓的 B 端巨頭,IT 產業不能只有頭條、淘寶、美團,也得有中國的微軟、Adobe 和Autodesk,可是目前來看尚未. 瀏覽器技術已經趨於成熟,目前瀏覽器還有兩個大招沒放出來,一個是尚未成熟的 WebAssembly,性能直逼 native,聽說 office 編譯成 WebAssembly 以後體驗絲絕不遜於原生,一個是今年下半年即將出場的 webgpu,他的出現能夠將瀏覽器的圖形計算提高到另外一個高度

因此,下半場的前端可能要求會愈來愈高,好比須要更好的基本功(算法功底),好比須要一門 native 語言(c/c++),好比須要良好的圖形技術(webgl、webgpu)。

  1. 前端的機遇

到如今爲何只看到了前端愈來愈重要,技術要求愈來愈高,不見漲工資?

目前前端職場其實也處於一個平衡期,由於前端紅利其實也在這兩年消失了,前端 leader 升職最快的那幾年剛好是前端工程化運動最熱烈的那幾年,2011-2016也正是三大框架前後發佈,ES2015 逐漸普及,Babel、webpack 這些事實標準誕生的時間段,那個時候把項目從 JQuery 重構到 React 就是大功一件,足以在升職答辯上賺足了眼球,那個時候在項目裏用上 Webpack 就叫工程化也是拿績效的利器,目前大部分前端 leader 就是靠着一波紅利走上個管理崗或者高 P,因此紅利期不只對於商業公司,對於職場人士也是適用的。

2016 年以後 IT 職場的紅利已經轉移到區塊鏈和人工智能領域,畢竟用 TensorFlow 調個參當調參小王子也能拿 50w 年薪的年代沒過去多久,這麼看 AI 的紅利可比前端大多了。

是否是能夠判斷,前端的職場新人空間已經被紅利期的老人們擠壓沒了?

在固定的產品需求下實際上是這樣的,一個企業一旦不擴大,你負責的業務也不增加,當前的產品形態也不變化的狀況下倒是機會並很少,畢竟升職加薪的前提是得有坑,而且你得有成績,在紅利期結束後雖然你還有機會,可是機會確實很小了,由於須要作出更有價值的事情。

可是大部分公司不可能一成不變,隨着咱們上節提到的前端下半場的到來,好比雲計算公司須要把開發者緊緊綁定在本身的雲端環境上,那麼他們就須要雲端的 WebIDE,這種 B端面向專業人士的複雜前端項目是否是就是個挑戰同時也是機遇?沒有必定技術儲備的前端根本 hold 不住這種項目,就如同我面對 excel 需求時那樣無力,一樣是寫新聞展現頁面你們的差距都不大,這個時候技術不重要,可是隨着項目複雜度的上升技術其實愈來愈重要了,這就是機遇。

「小編是從事了十年Web前端開發的前端開發工程師,如今整理了一整套系統的Web前端學習教程從最基礎的到框架再到項目實戰的學習資料都有整理,送給每一位小夥伴, 有想學前端編程的,或是轉行,或是大學生,還有工做中想提高本身能力的,正在學習的小夥伴歡迎加入學習。「

加微❤:QD_666_QD(領取)

總結 前端在面對 B 端專業用戶形態的產品下每每能起到核心技術的做用,可是同時對前端的技能要求也會更高,互聯網 c 端產品的紅利期即將結束,前端的下半場即將到來,咱們能作的是什麼? 深挖洞,廣積糧,緩稱王

相關文章
相關標籤/搜索