關於「先後端分離」,這個概念已經出來好幾年了,國內外有不少公司和產品採起了這種方式。這是一種在我看來較爲先進的開發方式,它改變的不只僅是一個 web 應用的系統架構,還有 web 工程師之間的協做方式,對「前端工程師」這個職業的發展產生了很大的影響。前端
我所理解的「先後端分離」,在以前寫的文章中有提到——node
「前端」和「後端」並不該該用設備、平臺來劃分,而應以關注點和職責來劃分——與人機交互及數據展示相關的都算是「前端」,即 Controller 層和 View 層;與業務邏輯及數據存儲相關的都算是「後端」,即 Model 層。web
若是這種劃分方式真的成爲主流,現在的「前端工程師」將會脫胎換骨,成爲相似於客戶端工程師的存在。至於爲何不是成爲「客戶端工程師」的一個細分職業,是由於網頁畢竟不是直接運行在操做系統上,而是在其餘的應用軟件當中。後端
咱們想作先後端分離的緣由有不少,但這畢竟是前端團隊發起的,要想在整個開發團隊中推進並得到後端開發人員乃至上級的認同,必須得舉着「大義」的旗幟。前端工程師
做爲一家電商行業的互聯網公司,活動相關的需求老是源源不斷的。雖然已經有個叫作「簡易活動模板」的可以讓運營童鞋本身動手建立活動頁的系統,但設計師的思惟是活躍的,不必定何時腦子忽然「噼咔噼咔」一下就想出了一堆「好玩兒」的點子,設計出單憑那「簡易」的模板系統已經沒法知足的頁面。這時,就得人肉切圖了。架構
切圖不要緊,切就切唄!只要不考慮 SEO 問題,祭出咱們前端的絕技「三刀切」大法,三下五除二就切好一個頁面。然而,如今不少活動頁是內嵌在 APP 中的,須要讀取一些後端數據,這就要有後端開發人員進行配合了。兩我的吭哧吭哧好不容易聯調結束,走一遍 Git Flow 流程將代碼合併進 master 分支後讓後端開發人員經過發佈系統部署到線上。前後端分離
沒過多久,也許是幾分鐘,沒準是幾小時,有多是幾天,運營童鞋悄悄地來到身邊靜靜地蹲下,頗有禮貌地開口了:「**須要小小地調整一下,這個地方沒多少改動,應該很快能改好(上線)吧?」但是,他們所獲得的回覆基本是:「這個得跟今天晚上的發佈一塊兒上線。」在聽到這句話後,我能想象得出他們的表情——post