溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

web前后端分離實踐分析

發(fā)布時間:2021-12-07 14:43:15 來源:億速云 閱讀:160 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容介紹了“web前后端分離實踐分析”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

前后端分離實踐

  • 前端人員配備是否充足?

由于所在公司以往項目采用傳統(tǒng)開發(fā)風(fēng)格,即以后端 MVC 為主的開發(fā)模式,前端人員僅僅提供靜態(tài) html 頁面,其余工作皆由后端開發(fā)人員完成。采用前后端分離模式可以減后臺負擔(dān),加快研發(fā)效率,當(dāng)然,前提是前端能做好的話。

以往只需要提供靜態(tài)頁面的前端人員,在前后端分離模式中要負責(zé)項目的 view+controller 部分,即除了靜態(tài)頁面,還需要負責(zé)頁面的所有交互代碼、以及 nodejs 與視圖層以及后端 API 的交互工作,無疑增加了前端人員的學(xué)習(xí)成本,在沒有足夠知識和人才儲備的情況下,只能讓前端人員加班加點。

  • 前后端職責(zé)分配

很多公司認為采用前后端分離之后,前后端只需要通過指定 API 進行交互即可,前端負責(zé)頁面渲染, Nodejs 負責(zé)路由分配,后端提供 API 。忽視了大量關(guān)鍵工作,職責(zé)分配和細節(jié)處理沒有相應(yīng)文檔規(guī)定,緩存機制、圖片上傳下載、數(shù)據(jù)校驗、語言國際化等等并沒有出具相應(yīng)信息。另外,大量忽視了 nodejs 層的作用,僅僅把 nodejs 當(dāng)成一個路由中轉(zhuǎn),這一方面也是對 nodejs 技術(shù)的不熟悉導(dǎo)致的,其實 nodejs 能負責(zé)很多事,除了復(fù)雜業(yè)務(wù)邏輯處理和數(shù)據(jù)操作由 Java 負責(zé),大量工作完全可以在 nodejs 層處理。

  • 后端 API 是否 RESTFul 風(fēng)格?

很多公司采用了前后端分離模式后,后端 API 仍然采用以往的傳統(tǒng)風(fēng)格,這是不合理的。

RESTFul 風(fēng)格的 API 應(yīng)該是前后端分離的最佳實踐。RESTFul 推薦每個 URL 能操作具體的資源,而且能準(zhǔn)確描述服務(wù)器對資源的處理動作,通常服務(wù)器對資源支持 get/post/put/delete/ 等,用來實現(xiàn)資源的增刪改查。

前后端分離的話,這些 api-url 是對接的橋梁,采用 RESTFul 接口地址含義才更清晰、見名知意。

  • 前后端協(xié)作模式

前后端分離后,無論是 API 接口的對接還是測試工作,都涉及到前后端人員的溝通,很多公司采用前后端分離后,前后端協(xié)作模式配合力度低,互相等待,開發(fā)效率低下,反而不如傳統(tǒng)的開發(fā)模式。例如:當(dāng)后端 API 沒有編寫完成時,前端無法進行調(diào)試,這就導(dǎo)致了前端會被后端阻塞的情況。其實像這種互相等待的模式需要改進, Mock Server 可能可以解決一些問題。

  • 如何前后端分離?

怎么做前后端分離?大方向就是

  1. 后端專注于:后端控制層( RESTFul API) & 服務(wù)層 & 數(shù)據(jù)訪問層。

  2. 前端專注于:前端控制層(Nodejs) & 視圖層

本人認為的前后端分離模式應(yīng)該是這樣:

  1. 項目設(shè)計階段,前后端架構(gòu)負責(zé)人將項目整體進行分析,討論并確定 API 風(fēng)格、職責(zé)分配、開發(fā)協(xié)助模式,確定人員配備;設(shè)計確定后,前后端人員共同制定開發(fā)接口。

  2. 項目開發(fā)階段,前后端分離是各自分工,協(xié)同敏捷開發(fā),后端提供 RESTFul API,并給出詳細文檔說明,前端人員進行頁面渲染。前端的任務(wù)是發(fā)送API請(GET,PUT,POST,DELETE 等)獲取數(shù)據(jù)(json,xml)后渲染頁面。

  3. 項目測試階段, API 完成之前,前端人員會使用 mock server 進行模擬測試,后端人員采用 junit 進行 API 單元測試,不用互相等待;API 完成之后,前后端再對接測試一下就可以了,當(dāng)然并不是所有的接口都可以提前定義,有一些是在開發(fā)過程中進行調(diào)整的。

  4. 項目部署階段,利用 nginx 做反向代理,即 Java + nodejs + nginx 方式進行。

“web前后端分離實踐分析”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

web
AI