web前后端怎么交互 我現(xiàn)在在做一個(gè)系統(tǒng),用vuejs調(diào)用Python算法,對(duì)上傳的圖片進(jìn)行處理。問(wèn)一下前后端交互怎么處理?
我現(xiàn)在在做一個(gè)系統(tǒng),用vuejs調(diào)用Python算法,對(duì)上傳的圖片進(jìn)行處理。問(wèn)一下前后端交互怎么處理?一個(gè)非常好的問(wèn)題。主要開發(fā)的是一個(gè)典型的靜態(tài)和動(dòng)態(tài)分離架構(gòu)的網(wǎng)站,前端和后端通過(guò)restapi進(jìn)行
我現(xiàn)在在做一個(gè)系統(tǒng),用vuejs調(diào)用Python算法,對(duì)上傳的圖片進(jìn)行處理。問(wèn)一下前后端交互怎么處理?
一個(gè)非常好的問(wèn)題。主要開發(fā)的是一個(gè)典型的靜態(tài)和動(dòng)態(tài)分離架構(gòu)的網(wǎng)站,前端和后端通過(guò)restapi進(jìn)行交互。
Python不僅用于開發(fā)AI算法,還用于開發(fā)網(wǎng)站。Django或flash是一個(gè)公共框架,它封裝了用于前端調(diào)用的rest接口。
JavaScript在各種開發(fā)框架中很常見(jiàn),如react和Vue。以fetch庫(kù)調(diào)用API為例:
我是一個(gè)工作了多年的web應(yīng)用程序架構(gòu)師。請(qǐng)關(guān)注我,了解更多。
Web項(xiàng)目開發(fā)為何要走前后端分離模式?
要獨(dú)立開發(fā)前端和后端,將其放在兩個(gè)不同的服務(wù)器上,需要獨(dú)立部署,兩個(gè)不同的項(xiàng)目,兩個(gè)不同的代碼庫(kù),不同的開發(fā)人員,前端和后端工程師需要在交互界面上達(dá)成一致,實(shí)現(xiàn)同步開發(fā)。開發(fā)完成后,需要獨(dú)立部署,前端通過(guò)接口調(diào)用后端API,前端只需要關(guān)注頁(yè)面風(fēng)格和動(dòng)態(tài)數(shù)據(jù)的解析和呈現(xiàn),而后端則關(guān)注具體的業(yè)務(wù)邏輯。具體好處如下:
1。完全解放前端
前端不再需要提供模板到后臺(tái)或嵌入后臺(tái)生成前端HTML
2。提高工作效率,使分工更加清晰
前后端工作流的分離可以使前端只關(guān)注前端,后端只關(guān)心后端的工作。兩者的開發(fā)都可以同時(shí)進(jìn)行,而且沒(méi)有時(shí)間在后端同時(shí)提供接口,前端可以將數(shù)據(jù)寫入死機(jī)或調(diào)用本地JSON文件,并且頁(yè)面添加和路由修改不需要麻煩后臺(tái),因此開發(fā)更加靈活。
3. 本地性能提升
通過(guò)配置前端路由,可以實(shí)現(xiàn)頁(yè)面的按需加載。它不需要在加載首頁(yè)開始時(shí)加載網(wǎng)站的所有資源,服務(wù)器也不需要解析前端頁(yè)面,提高了頁(yè)面的交互性和用戶體驗(yàn)。
4. 降低維護(hù)成本
通過(guò)目前主流的前端MVC框架,我們可以快速定位和發(fā)現(xiàn)問(wèn)題,客戶端的問(wèn)題不需要后臺(tái)人員參與和調(diào)試,代碼重構(gòu)和可維護(hù)性得到增強(qiáng)。
5. 實(shí)現(xiàn)高內(nèi)聚、低耦合,降低后端(應(yīng)用)服務(wù)器的并發(fā)/負(fù)載壓力。
6. 即使后端服務(wù)暫時(shí)超時(shí)或宕機(jī),也可以正常訪問(wèn)前端頁(yè)面,但無(wú)法提供數(shù)據(jù)。
7. 它可以使后臺(tái)更好地追求高并發(fā)性、高可用性和高性能;使前端更好地追求頁(yè)面性能、速度流暢性、兼容性、用戶體驗(yàn)等。