關於前後端分離與模板引擎
阿新 • • 發佈:2018-12-31
隨著不同終端(Pad/Mobile/PC)的興起,對開發人員的要求越來越高,純瀏覽器端的響應式已經不能滿足使用者體驗的高要求,往往需要針對不同的終端開發定製的版本,為了提升開發效率,前後端分離的需要越來越被重視,後端負責業務/資料介面,前端負責展現、互動邏輯,同一份資料介面,可用於多個終端。
傳統的前後端:
後端是跟資料庫跟伺服器打交道的,前端是跟瀏覽器打交道的。但似乎他們的職責在以前甚至於現在都並不明確,雖然前端是跟瀏覽器打交道,但是最終瀏覽器拿到的頁面是伺服器通過模板生成的一個臨時靜態頁面而已。所以,實際上後端也摻和進來了,因為他要處理模板。當然,一般傳統上的開發協作模式有兩種:
-
一種是前端先寫一個靜態頁面,寫好後,讓後端去套模板。靜態頁面可以本地開發,也無需考慮業務邏輯只需要實現View即可。不足是還需要後端套模板,這些前端程式碼後端需要瀏覽一遍,以免出錯。
-
另一種協作模式是,前端直接去寫模板,這樣做的問題在於,前端編寫過程中很依賴與後端環境,如果當後端沒寫完的情況下,前端幾乎沒法幹活。
模板引擎
模板引擎是相當古老的東西了,現在能看到的很多後端程式語言其實都是基於模板引擎的。但這種語言級的模板引擎其實很難讓開發者滿意。以前寫 ASP 的時候覺得用程式把資料庫查詢出來的資料填入頁面中是一件很痛苦的事情。不是寫出一堆凌亂的標籤就是程式裡做一堆字串拼接。如果再考慮上內容的安全性,要做各種過濾和轉義,簡直會讓人奔潰。前後端分離
單頁模式
單頁模式是前後端分離的一種應用。而單頁應用最主要的特點就是區域性重新整理,這通過前端控制路由呼叫AJAX,後臺提供介面便可以實現,而且這樣的方式使用者體驗更加友好,網頁載入更加快速,開發和維護成本也降低了不少,效率明顯提升。 前後端分離的實現對技術人員尤其是前端人員的要求會上升一個層次,前端的工作不只是切頁面寫模板或是處理一些簡單的js邏輯,前端需要處理伺服器返回的各種資料格式,還需要掌握一系列的資料處理邏輯、MVC思想和各種主流框架。 優勢與意義 1、徹底解放前端 前端不再需要向後臺提供模板或是後臺在前端html中嵌入後臺程式碼 2、提高工作效率,分工更加明確 前後端分離的工作流程可以使前端只關注前端的事,後臺只關心後臺的活,兩者開發可以同時進行,在後臺還沒有時間提供介面的時候,前端可以先將資料寫死或者呼叫本地的json檔案即可,頁面的增加和路由的修改也不必再去麻煩後臺,開發更加靈活。