隨著不同終端(pad/mobile/pc)的興起,對開發人員的要求越來越高,純瀏覽器端的響應式已經不能滿足使用者體驗的高要求,往往需要針對不同的終端開發定製的版本,為了提公升開發效率,前後端分離的需要越來越被重視,後端負責業務/資料介面,前端負責展現、互動邏輯,同乙份資料介面,可用於多個終端。
傳統的前後端:
後端是跟資料庫跟伺服器打交道的,前端是跟瀏覽器打交道的。但似乎他們的職責在以前甚至於現在都並不明確,雖然前端是跟瀏覽器打交道,但是最終瀏覽器拿到的頁面是伺服器通過模板生成的乙個臨時靜態頁面而已。所以,實際上後端也摻和進來了,因為他要處理模板。當然,一般傳統上的開發協作模式有兩種:
在做前後端分離時,第乙個關注到的問題就是渲染,也就是view這個層面的工作,模板引擎、前後端分離、單頁模式,它們本應是三個完全分離的概念,但確實有很多現代 web 專案同時使用了這些技術,於是它們的概念就經常被混淆。雖然它們各自並不閃耀,但當它們一起使用時確實可以成為現代 web 中一種優秀的實踐。
模板引擎
模板引擎是相當古老的東西了,現在能看到的很多後端程式語言其實都是基於模板引擎的。但這種語言級的模板引擎其實很難讓開發者滿意。以前寫 asp 的時候覺得用程式把資料庫查詢出來的資料填入頁面中是一件很痛苦的事情。不是寫出一堆凌亂的標籤就是程式裡做一堆字串拼接。如果再考慮上內容的安全性,要做各種過濾和轉義,簡直會讓人奔潰。
前後端分離
單頁模式是前後端分離的一種應用。而單頁應用最主要的特點就是區域性重新整理,這通過前端控制路由呼叫ajax,後台提供介面便可以實現,而且這樣的方式使用者體驗更加友好,網頁載入更加快速,開發和維護成本也降低了不少,效率明顯提公升。
前後端分離的實現對技術人員尤其是前端人員的要求會上公升乙個層次,前端的工作不只是切頁面寫模板或是處理一些簡單的js邏輯,前端需要處理伺服器返回的各種資料格式,還需要掌握一系列的資料處理邏輯、mvc思想和各種主流框架。
優勢與意義
1、徹底解放前端
前端不再需要向後台提供模板或是後台在前端html中嵌入後台**
2、提高工作效率,分工更加明確
前後端分離的工作流程可以使前端只關注前端的事,後台只關心後台的活,兩者開發可以同時進行,在後台還沒有時間提供介面的時候,前端可以先將資料寫死或者呼叫本地的json檔案即可,頁面的增加和路由的修改也不必再去麻煩後台,開發更加靈活。
3、區域性效能提公升
通過前端路由的配置,我們可以實現頁面的按需載入,無需一開始載入首頁便載入**的所有的資源,伺服器也不再需要解析前端頁面,在頁面互動及使用者體驗上有所提公升。
4.降低維護成本
通過目前主流的前端mvc框架,我們可以非常快速的定位及發現問題的所在,客戶端的問題不再需要後台人員參與及除錯,**重構及可維護性增強。
**:隨著不同終端(pad/mobile/pc)的興起,對開發人員的要求越來越高,純瀏覽器端的響應式已經不能滿足使用者體驗的高要求,往往需要針對不同的終端開發定製的版本,為了提公升開發效率,前後端分離的需要越來越被重視,後端負責業務/資料介面,前端負責展現、互動邏輯,同乙份資料介面,可用於多個終端。
傳統的前後端:
後端是跟資料庫跟伺服器打交道的,前端是跟瀏覽器打交道的。但似乎他們的職責在以前甚至於現在都並不明確,雖然前端是跟瀏覽器打交道,但是最終瀏覽器拿到的頁面是伺服器通過模板生成的乙個臨時靜態頁面而已。所以,實際上後端也摻和進來了,因為他要處理模板。當然,一般傳統上的開發協作模式有兩種:
在做前後端分離時,第乙個關注到的問題就是渲染,也就是view這個層面的工作,模板引擎、前後端分離、單頁模式,它們本應是三個完全分離的概念,但確實有很多現代 web 專案同時使用了這些技術,於是它們的概念就經常被混淆。雖然它們各自並不閃耀,但當它們一起使用時確實可以成為現代 web 中一種優秀的實踐。
模板引擎
模板引擎是相當古老的東西了,現在能看到的很多後端程式語言其實都是基於模板引擎的。但這種語言級的模板引擎其實很難讓開發者滿意。以前寫 asp 的時候覺得用程式把資料庫查詢出來的資料填入頁面中是一件很痛苦的事情。不是寫出一堆凌亂的標籤就是程式裡做一堆字串拼接。如果再考慮上內容的安全性,要做各種過濾和轉義,簡直會讓人奔潰。
前後端分離
單頁模式是前後端分離的一種應用。而單頁應用最主要的特點就是區域性重新整理,這通過前端控制路由呼叫ajax,後台提供介面便可以實現,而且這樣的方式使用者體驗更加友好,網頁載入更加快速,開發和維護成本也降低了不少,效率明顯提公升。
前後端分離的實現對技術人員尤其是前端人員的要求會上公升乙個層次,前端的工作不只是切頁面寫模板或是處理一些簡單的js邏輯,前端需要處理伺服器返回的各種資料格式,還需要掌握一系列的資料處理邏輯、mvc思想和各種主流框架。
優勢與意義
1、徹底解放前端
前端不再需要向後台提供模板或是後台在前端html中嵌入後台**
2、提高工作效率,分工更加明確
前後端分離的工作流程可以使前端只關注前端的事,後台只關心後台的活,兩者開發可以同時進行,在後台還沒有時間提供介面的時候,前端可以先將資料寫死或者呼叫本地的json檔案即可,頁面的增加和路由的修改也不必再去麻煩後台,開發更加靈活。
3、區域性效能提公升
通過前端路由的配置,我們可以實現頁面的按需載入,無需一開始載入首頁便載入**的所有的資源,伺服器也不再需要解析前端頁面,在頁面互動及使用者體驗上有所提公升。
4.降低維護成本
通過目前主流的前端mvc框架,我們可以非常快速的定位及發現問題的所在,客戶端的問題不再需要後台人員參與及除錯,**重構及可維護性增強。
**:
關於前後端分離
為什麼要前後端分離?記得大學時候剛開始接觸web開發時候,前端用的是html jsp,根本不懂得架構什麼的。直到畢業工作,入了第一家公司。趕上乙個專案,老框架的那種,有段時間我負責解bug。有些問題是頁面的問題,有些事dispatcher路徑沒有寫對,有些是引數格式不對。很煩的就是每次做完修改,都需...
關於API,前後端分離
而關於介面的規定,衍生出了一大堆問題,第一是關於空值的制定,是不輸出呢?還是輸出null,還是輸出 今天在除錯1688開放平台時,1688開放平台那邊出了兩套介面api給我們調,一套是舊的,用關鍵字deprecated標誌過時,而一套是新的,因為是最近才推出的吧。有點坑的是,新介面雖然變得簡潔了,但...
前後端分離與不分離
前後端分離 在前後端分離的應用模式中,後端僅返回前端所需的資料,不再渲染html頁面,不再控制前端的效果。至於前端使用者看到什麼效果,從後端請求的資料如何載入到前端中,都由前端自己決定,網頁有網頁的處理方式,有的處理方式,但無論哪種前端,所需的資料基本相同,後端僅需開發一套邏輯對外提供資料即可。在前...