如何處理好前後端分離的API問題

2021-03-03 21:00:14 字數 4783 閱讀 7225

1樓:奢v欣

像電商這種專案的前端部分,基本不存在元件的概念,在b類專案裡,前後端分離是共識,比如對前端人員的語言友好性,把各種**的資料整合到模板中,這個資料未必是json格式的。

如何處理好前後端分離的 api 問題

2樓:笑喘是病得抽

意義很大,但是你的問題本身認識有偏差。

對於前後端分離,認識上有個誤區,那就是很多人自稱:老早就分離了,全ajax,使用angular或者什麼什麼就可以了。

這個說法是不合適的,打個比方,別人問的是「如何解決家禽把蛋生在水草邊的問題?」,但實際上人家養的是鴨子,答題的卻是養雞的,所以回答「不讓去水邊就行了」,這顯然不在點子上。

這兩年業界說的前後端分離,是限於偏展示類的系統(用a代替),而不是應用、管控類web專案(用b代替),在b類專案裡,前後端是天然分離的,對此,除了少部分後端開發人員,基本所有人的認識都是一致的。上一段中這樣回答的人一般都是隻做b類專案,在b類專案裡,前後端分離是共識,不需要討論。

那麼,剩下的問題就是討論a類專案的前後端分離了。這個問題的核心在什麼地方呢,在於模板的與資料結合的位置,以及,模板的控制權在誰手裡。經過這兩年的討論,基本上我們可以達成的共識就是:

模板應當由前端人員去控制,主要原因有兩方面:

- 效能優化(尤其是外部資源的管理與釋出,請求合併等等)

- 協作的順暢性(已形成模板的介面片段的返工等問題)

那麼,模板到底應該在什麼地方跟資料結合?

這個問題就比較折騰了,有部分人嘗試像b類專案那樣,使用js模板,然後在瀏覽器端執行,這是存在一些問題的,比如說seo不友好,首屏效能不夠,尤其對於首頁dom量很大的電商類**,差距很明顯。

所以還是得把主要的模板放在服務端來執行。在這個過程中,阿里作了一些嘗試,那就是引入node層,在這一層把模板與資料進行合成,然後瀏覽器拿到的就是生成好的html了,但也不是所有html都是這麼生成好的,還是會有一些內容等到了瀏覽器之後,再用js去載入和生成。

關於api的前後端分離的糾結?

3樓:風花樹

意義很大,但是你的問題本身認識有偏差。

對於前後端分離,認識上有個誤區,那就是很多人自稱:老早就分離了,全ajax,使用angular或者什麼什麼就可以了。

這個說法是不合適的,打個比方,別人問的是「如何解決家禽把蛋生在水草邊的問題?」,但實際上人家養的是鴨子,答題的卻是養雞的,所以回答「不讓去水邊就行了」,這顯然不在點子上。

這兩年業界說的前後端分離,是限於偏展示類的系統(用a代替),而不是應用、管控類web專案(用b代替),在b類專案裡,前後端是天然分離的,對此,除了少部分後端開發人員,基本所有人的認識都是一致的。上一段中這樣回答的人一般都是隻做b類專案,在b類專案裡,前後端分離是共識,不需要討論。

那麼,剩下的問題就是討論a類專案的前後端分離了。這個問題的核心在什麼地方呢,在於模板的與資料結合的位置,以及,模板的控制權在誰手裡。經過這兩年的討論,基本上我們可以達成的共識就是:

模板應當由前端人員去控制,主要原因有兩方面:

- 效能優化(尤其是外部資源的管理與釋出,請求合併等等)

- 協作的順暢性(已形成模板的介面片段的返工等問題)

那麼,模板到底應該在什麼地方跟資料結合?

這個問題就比較折騰了,有部分人嘗試像b類專案那樣,使用js模板,然後在瀏覽器端執行,這是存在一些問題的,比如說seo不友好,首屏效能不夠,尤其對於首頁dom量很大的電商類**,差距很明顯。

所以還是得把主要的模板放在服務端來執行。在這個過程中,阿里作了一些嘗試,那就是引入node層,在這一層把模板與資料進行合成,然後瀏覽器拿到的就是生成好的html了,但也不是所有html都是這麼生成好的,還是會有一些內容等到了瀏覽器之後,再用js去載入和生成。

所以這一定會是一個混合方案,同一個系統中存在兩種模板,一種在服務端執行,一種在瀏覽器中執行,互為補充。

至於說這個方案中,是否中間層一定要是node,無所謂,只要是能正常做web專案的東西都可以,這個還是要看所在企業的技術積累方向,當然node做這塊是有一些優勢的,比如對前端人員的語言友好性,前後端模板的通用性等等,但這些都是細節,重點還是整體方案和流程。

這時候回頭看問題中的這句:

> 前後端分離的意思是,前後端只通過 json 來交流,元件化、工程化不需要依賴後端去實現。

相信這裡對前後端的限定是以瀏覽器為準的,但事實上,a類專案中,前後端的分界一定要延伸到伺服器端的模板層,也就是在這一層裡,把各種**的資料整合到模板中,這個資料未必是json格式的,會存在有json,xml,特定的二進位制等等。

元件化這個話題就更復雜了,在剛才組織形式中,很難說出究竟什麼才是元件。是某個商品的模板嗎?是資料嗎?

是資料和模板的結合體嗎?沒法回答。在此,說一句自己的看法:

像電商這種專案的前端部分,基本不存在元件的概念,甚至不存在元件化的價值,因為這裡面可複用的東西太少了,也不易提取,大多數東西都是不帶邏輯的介面模板。

最近因為reactjs的流行,帶來了一個isomorphic的概念,這是一種很有意義的探索,但是否能解決這類問題,尚不得而知,根據我的理解,它對b類專案是較好的補充方案,但對a類專案暫時還缺乏可用性,因為a類專案中,執行期的dom變更並不多,多是整片的改變,用這個方案去解決的話,有些牛刀殺雞的感覺。

4樓:百度使用者

這是初做前後端分離的團隊都有的疑問。

其實常用的方法是「基於文件程式設計」或者叫「基於約定程式設計」,這裡的「文件」或者「約定」就好像支付寶一樣,是買賣雙方都認可的平臺。

「文件」/「約定」也得是前後端都認可的內容,所以需要解決的問題是相互信任,大家先坐下來,共同商議下這個問題需要哪些api,這些api走什麼規範,欄位都是什麼。定下了如上問題後,就得把文件落地,之後就大家分開各自按照文件開工了。

因為文件已經固定,大家各自按照文件進行開發,聯調時,哪個部分出了錯,一目瞭然。無需扯皮。

當然,根據專案的進展,api可能隨時根據新需求變化,那定期的小會議用來sync各種資訊也是必要的。

如何處理好前後端分離的 api 問題

5樓:笑喘是病得抽

意義很大,但是你的問題本身認識有偏差。

對於前後端分離,認識上有個誤區,那就是很多人自稱:老早就分離了,全ajax,使用angular或者什麼什麼就可以了。

這個說法是不合適的,打個比方,別人問的是「如何解決家禽把蛋生在水草邊的問題?」,但實際上人家養的是鴨子,答題的卻是養雞的,所以回答「不讓去水邊就行了」,這顯然不在點子上。

這兩年業界說的前後端分離,是限於偏展示類的系統(用a代替),而不是應用、管控類web專案(用b代替),在b類專案裡,前後端是天然分離的,對此,除了少部分後端開發人員,基本所有人的認識都是一致的。上一段中這樣回答的人一般都是隻做b類專案,在b類專案裡,前後端分離是共識,不需要討論。

那麼,剩下的問題就是討論a類專案的前後端分離了。這個問題的核心在什麼地方呢,在於模板的與資料結合的位置,以及,模板的控制權在誰手裡。經過這兩年的討論,基本上我們可以達成的共識就是:

模板應當由前端人員去控制,主要原因有兩方面:

- 效能優化(尤其是外部資源的管理與釋出,請求合併等等)

- 協作的順暢性(已形成模板的介面片段的返工等問題)

那麼,模板到底應該在什麼地方跟資料結合?

這個問題就比較折騰了,有部分人嘗試像b類專案那樣,使用js模板,然後在瀏覽器端執行,這是存在一些問題的,比如說seo不友好,首屏效能不夠,尤其對於首頁dom量很大的電商類**,差距很明顯。

所以還是得把主要的模板放在服務端來執行。在這個過程中,阿里作了一些嘗試,那就是引入node層,在這一層把模板與資料進行合成,然後瀏覽器拿到的就是生成好的html了,但也不是所有html都是這麼生成好的,還是會有一些內容等到了瀏覽器之後,再用js去載入和生成。

如何處理好前後端分離的 api 問題

6樓:匿名使用者

對於前後端分離,認識上有個誤區,那就是很多人自稱:老早就分離了,全ajax,使用angular或者什麼什麼就可以了。

這個說法是不合適的,打個比方,別人問的是「如何解決家禽把蛋生在水草邊的問題?」,但實際上人家養的是鴨子,答題的卻是養雞的,所以回答「不讓去水邊就行了」,這顯然不在點子上。

如何處理好前後端分離的 api 問題

7樓:慧贍禹明

還是得把主要的模板放在服務端來執行。在這個過程中,阿里作了一些嘗內試,那就是引入容node層,在這一層把模板與資料進行合成,然後瀏覽器拿到的就是生成好的html了,但也不是所有html都是這麼生成好的,還是會有一些內容等到了瀏覽器之後,再用js去載入和生成。

如何處理好前後端分離的 api 問題

8樓:

你好,懷孕28周後胎兒的腎盂分離不超過10mm就算正常,羊水最大深度正常在40-80mm之間,羊水指數就是子宮內四個角的羊水深度相加,正常在8.0-18cm之間。

前後端分離 跨域問題?? 10

9樓:追著夢想奮鬥

建議不來要使用jsonp解決跨域,後端的入口自檔案可以加上下面bai三句話解du決跨域header('access-control-allow-methods:post,get');

header('access-control-allow-credentials: true');

header('access-control-allow-origin: *'); //*代表可訪問的地址,zhi可以設定指定域名dao

10樓:任然是我

用fromdata 一個新的方法,可以模擬表單,ajax提交檔案流

如何處理好教學與科研的關係,淺談如何處理好教學和科研的關係

教學與bai科研作為高校健康執行的基du本職能,兩者缺一zhi不可。dao 為了能進一步版處理好教學與科研工作,高校權教師應該清楚認識兩者之間的關係,並能進行正確的處理,保證教學與科研兩者協調發展。教學作為高校的中心工作,科研作為高校另外一項重要的日常工作,兩者應該相互促進,共同發展,相互融合,從而...

如何處理好愛情和學習的關係?如何處理好戀愛與學業的關係

處理愛情和學習的關係需要雙方擁有一定的規劃和協調能力,去合理安排時間,不能因為愛情而放鬆自己的學習。此外,在相互表白的過程中,可以坦誠相告,告訴對方自己的學習壓力,去讓對方更加理解自己,好好分配時間,儘量給彼此留出空閒時間,保持一定的距離,把學習作為優先事項,這樣才能使愛情和學習平衡發展。如何處理好...

如何處理好和老婆家人的關係,如何處理好老婆和家人的關係?謝謝!

既要與老婆處理關係,同時也要與她的家人處理好關係。要處理這樣的關係,你必須抓大放小,睜一隻眼閉一隻眼。大事件要有原則性,小事不能斤斤計較,要有寬廣的胸懷 同時要正確處理好你自已家庭的各方面關係。當然,這要具體看老婆一家人的處世方法和人際關係和家風。答 這裡旭哥給你一個核心概念,就是當你老婆與父母發生...