javascript - 問下大家對前后端分離,是怎么理解的
問題描述
后端只提供數(shù)據(jù),其他所有操作交給前端嗎
問題解答
回答1:后端只提供api、api包含數(shù)據(jù)、也包含對數(shù)據(jù)的整理和處理
前端負(fù)責(zé)呈現(xiàn)、和取數(shù)據(jù)
講一個前后端分離的三層結(jié)構(gòu)
復(fù)雜一點的會使用node+前臺為前端、
node只是一個簡單的express或者koa、用http請求java或者php服務(wù)端
這里肯定會想node用來做什么、沒錯、就是模版引擎
傳統(tǒng)的兩層架構(gòu)、模版引擎沒法做到分離的、jsp和java總是在一個項目中、耦合度太高
三層結(jié)構(gòu)、node的項目是單獨(dú)發(fā)到生產(chǎn)環(huán)境的、
然后用node請求遠(yuǎn)程的java或者php項目、node請求其他后臺屬于服務(wù)器之間的、所以沒有跨域一說
這樣前端只負(fù)責(zé)用node調(diào)api、前臺模版引擎render頁面、
一個項目、可以分開從多個java服務(wù)器或者php服務(wù)器拿數(shù)據(jù)、
比如20個java接口、20個php接口、node拿到的格式都是按文檔上來的
回答2:前后端的所有聯(lián)系都經(jīng)過API
回答3:后端只提供數(shù)據(jù),其他所有操作交給前端嗎,這樣理解基本沒錯。
回答4:http://blog.jobbole.com/65513/
回答5:理解的沒錯,簡單說下之前未分離時,模板在后端,js和css在前端,導(dǎo)致每次修改樣式和功能都需要改動到后端工程分離后,后端只提供api接口,前端處理模板和樣式再有就是前端利用nodejs做分離,通常這種情況下nodejs是很薄的一層,只負(fù)責(zé)路由,接口轉(zhuǎn)發(fā)、合并、清洗等簡單的功能
回答6:前端:負(fù)責(zé)View和Controller層,后端:只負(fù)責(zé)Model層,業(yè)務(wù)處理/數(shù)據(jù)等
