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