大前端?/前端開發職位的未來方向/

/1/ 大前端的說法,是如何出現的?範圍是多“大”?

對於許多新人來說,他們最開始接觸前端這行,都是從前端開發工資高啊,好找工作啊,入門門檻低,這些方面開始瞭解的。當他們開始學習前端一段時間之後,許多人不可避免的開始迷失在前端技術棧之中。

任何行業都有一個時機的問題,你聽說前端的時候,前端還是html+css+js,等你準備好了加入前端行業的時候,它已經變成了nodeJs,Rn,pc,移動端等多平臺多設備的綜合技術棧。

但這個分水嶺,也就是大前端這個詞到底是什麼時候出現的,並沒有明確的說法,甚至是誰最先提出來的,都沒有定論。現在基本的認識就是,大前端包括一切跟前端沾邊的可能性。

/2/ 大前端的趨勢?

首先是前後端分離!!

大前端一般情況下不單獨出現,它基本都與nodejs一起出現,正因爲nodejs的出現,前端開發纔出現了真正的前後端分離,形成了真正獨立於後端的技術體系。

現在說的什麼模塊化,工程化,前後分離,在早期都是架設在後端程序的運行平臺之上才得已運行。直到nodejs的出現,可以說,沒有nodejs就沒有真正的大前端。

nodejs讓前端可以真正的去操作數據,而不是單向的獲取與提交數據。而是對數據本身進行再加工,這事實上把前端與整個底層連接了起來,而後端開發們的工作相對的更加純粹於底層邏輯的操作,不用再像以前那樣還要關注前端頁面的交互流程。

因爲前端通過nodejs獲得了操作數據的權力,從而得已真正的操作數據與工作流,所以前端構建工具開始大行其道。直白的講,啥叫前端構建?就是在服務器裏建立一堆相應的目錄,這在以前是不可能的,在一個.net或j2ee開發的系統中,前端相關的文件都是由後端程序員給你提前建立好的,然後他們通過郵件告訴你,什麼css放哪,js放哪,img放哪目錄。前端沒有自己設置目錄結構的權力。

自從有了nodejs之後,前端才真正的獲得了開發中的自由。當然nodeJs做服務端還是有各種不足,但最大的成果就是真正的前後端分離。

早期都是前端出靜態頁面,然後靜態頁面嵌入動態程序,然後前端開發在後端程序員們規定好的目錄結構中進行程序的開發。然後後端通過前端的頁面模板生成靜態頁面,然後有什麼問題了,再前端找後端,後端重生成,很麻煩的。

現在好了,後端只提供數據的接口,然後前端將nodejs做爲中間件,以它爲中介進行數據的獲取和操作,其中就包括頁面的生成,路由的控制,模塊的導入,內容的分發。

這時,這個前端開發他所做的工作,就是傳統的前端開發人員 + nodeJs,這是大前端的諸多定義中的一種。綜合來講,就是對頁面的控制更深到了數據的加工層面,前端的控制能力變大了。

前端與GUI交互:

移動端開始流行之後,移動應用的重要性不斷的提高。在移動端的前端開發中,一直以來比較流程的就是“混合開發”模式,Hybrid [ˈhaɪbrɪd] 混合開發。

早期主要是phoneGap框架開發移動端應用,再有就是嵌入到ios之中的webPage應用,然後是微信的小程序。這些都是前端可以涉足的地方。雖然現在一提手機端開發主要還是ios和安卓技術,但RN的出現直接改變了這一切,雖然RN的應用案例在總量上依然不多。但前端技術棧中又多了RN這個選項。

現在移動端、pc端、跨各種端,幾乎都有相對成熟的解決方案,就算一時沒有的,開發中的坑基本上也都被踩的差不多了。前端開發技術棧已經“工具箱”化,就是你不是採用這個框架,就是採用那個框架。你不是使用angular,就是ionic,要不就是React,反正不會讓你從頭開始自己“造輪子”。你說你不喜歡VUE?沒關係這還有Weex可以用。

未來的GUI交互方向,就是所有有圖形界面的地方,都是前端的工作場景。只要它們能夠運行js,那麼前端開發就可以伸手進去。

這就是在跨端,跨屏,橫向上來看的“大前端”。

/3/ 大前端的技術棧?

技術雖然是爲需求而服務的,所以具體到每個公司,每個團隊,它們的技術棧都不完全相同。雖然已經有很多團隊或部門稱自己爲大前端,但具體範圍和內容,也根據自己的業務有區別。

據說,

美團是前端,ios,安卓,前端工程化;

餓了麼是前端,nodejs,還有阿里的weex框架;

網易杭州大前端團隊主要是web端,客戶端和移動端

現在對於大前端的技術棧,並沒有一個明確的定義。並沒有說什麼樣的,哪些技術放在一起,就是大前端,目前沒有這樣的定義。

前端能做什麼呢?或是說前端能控制什麼?

顯示GUI界面,路由,接口來往數據,桌面webapp應用。。等這些前端都能做。

具體技術棧,目前看來,主要還是nodejs和html5的混合使用,現在移動端、pc端、跨各種端,幾乎都有相對成熟的解決方案,就算一時沒有的,開發中的坑基本上也都被踩的差不多了。

Reactjs 和 vue,angular,這三個框架,基本上都有各種生態圈,都有自己完整的解決方案,而且pc和mac電腦都可以使用。幾乎不用你再重寫什麼輪子了。

另一種大前端的技術棧就是微信小程序,它代表的方向就是“超級APP”,一個app就是一個操作系統。

/4/ 大前端背景下的前端開發工程師?

在十年前,也就是第一代iphone手機發布的那一天,Native和html5就開始了一場持續了十餘年的爭論,內容就是誰更有發展,誰纔是未來,誰會取代誰。也許是爭吵的時間太久了,相愛相殺,它們最終合二爲一,就是大前端。

在大前端的視野中,不分什麼pc端,移動端,native和webapp,未來只能一種開發,就是能在顯示屏上顯示出來的GUI界面。

現在的時代是碎片的時代,手機,眼鏡,vr,電視,手錶等等,它們都是設備,它們都是不同的終端,它們都加載不同的應用,但有一點是相同的,那就是它們都是屏幕,只是大小和形狀不同。

只要這個屏幕能用,它就一定是前端的舞臺。再加上未來的雲計算,前端會從架構,從量級上,越來越大,前端會真正的成爲一個巨系統。

可以說,國內移動端的開端,就是第一代iphone的發佈之日,到現在爲止,可以說需要被封裝的工具,被踩的坑,都已經差不多ok了,接下來的的日子裏更多的應該是各大廠的開源框架的標準化。就是說,以後應該吧,應該會越來越多的使用大廠的工具了。

所以我說,前端開發技術棧已經“工具箱”化。

就是你不是採用這個框架,就是採用那個框架。

/5/ 前端的春天,nodeJs

在以後吧,應該會在前端工程師之後,再出現一個更高層次的前端崗位。它所解決的業務需求就不單單是開發層面的需求。

而是從前端的角度 ,去解決具體業務在各個不同的終端平臺設備上的具體使用,給出跨平臺的前端架構解決方案。這個職位所要解決的問題,在具體問題之上。

所以以後,什麼全棧開發應該會過時,大前端會更有可操作性。因爲它直接與展示的視覺效果與用戶操作的交互體驗相掛鉤。

那說到這裏,前端開發的“上升通道”在哪裏?

要我說,上升通道在【跨端】二字。做前端的視野要放寬廣,不能緊盯着js,要把目光放在前端GUI所要展示的“端”上,也就是“應用場景”。

開發業務的需求分析,是解決前端怎麼寫js;而搞懂各種應用場景,是決定“屬於自己的第一步,該往哪裏邁”。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章