jsp實現(xiàn)前后端分離 現(xiàn)在流行的前后端分離項目都使用的是什么前后端框架?
現(xiàn)在流行的前后端分離項目都使用的是什么前后端框架?開發(fā)框架主要分三塊,前端,web和持久化,三者是可以自由組合的。我分開來說。web框架以前Java web框架還有struts1,struts2,sp
現(xiàn)在流行的前后端分離項目都使用的是什么前后端框架?
開發(fā)框架主要分三塊,前端,web和持久化,三者是可以自由組合的。我分開來說。
web框架
以前Java web框架還有struts1,struts2,springMVC可以選。
目前只有一個選擇:SpringMVC,其它一個能打的都沒有。無論是Play,GOG這類快速開發(fā)框架,還是spark(此spark非彼spark)這類輕量級開發(fā)框架,或者struts2這樣的競爭對手。無論從使用人數(shù)還是生態(tài)上來看,和SpringMVC都不是一個量級。
其它框架宣傳得再怎么好,都不建議投入大量精力。學(xué)習(xí)框架的設(shè)計思路可以,生產(chǎn)環(huán)境使用請直接使用SpringMVC。Spring系的基礎(chǔ)設(shè)施不是其它框架可比擬的。要快速開發(fā)可以使用springboot,只需要pom依賴 一個enable注解就可以直接使用。
持久化框架
目前主流的有兩個JPA和MyBatis。
如果項目是數(shù)據(jù)建模,那么使用Mybatis;如果項目是對象建模,那么使用JPA。
這里還要提一下Spring。SpringBoot的spring-data子項目應(yīng)該是想統(tǒng)一這兩者。不止是這兩者,它的野心更大,想統(tǒng)一所有的持久層,db,redis,elasticsearch全部都有對應(yīng)的項目。它想將所有的持久化操作都抽象為Repository操作。如果成功的話,業(yè)務(wù)邏輯中就完全不需要關(guān)心持久層選型了,切換框架也很方便。
前端框架
前端框架目前有三個可選項react,ag和vue。
react的語法個人很不喜歡,直接pass。。。。
ag國內(nèi)熱度好像不高,沒太關(guān)注。
最終選的是vue,簡單上手快。配套u(yù)i庫也比較完善了。
如果項目中要開發(fā)小程序,建議使用vue,語法高度一致,會vue瞄一眼就知道怎么開發(fā)小程序了。
如何正確理解軟件系統(tǒng)架構(gòu)的前后端分離?
首先:軟件系統(tǒng)架構(gòu)的前后端分離更多是在近幾年伴隨互聯(lián)網(wǎng)的盛行為提高前端與后端交互的響應(yīng)速率,提升用戶的體驗進(jìn)行衍生出了前后端分離架構(gòu)。如:Vue、NodeJS與微服務(wù)架構(gòu)結(jié)合。前端頁面進(jìn)行UI展示效果渲染,后端負(fù)責(zé)編寫API服務(wù)進(jìn)行數(shù)據(jù)提供,也可以引入NodeJS來作為橋梁架接后端API輸出的JSON,返回前端進(jìn)行頁面展現(xiàn)。
其次:基于前后端分離架構(gòu)一方面提升響應(yīng)速度,將數(shù)據(jù)計算的過程在中間層處理,前端進(jìn)行展示;避免傳統(tǒng)的大量數(shù)據(jù)請求服務(wù)器的壓力基于中間層在內(nèi)部處理拼接完成,性能得到了提升;以多組件、片段、卡片的模式實現(xiàn)并行的加載、顯示,在非WiFI的3G、2G的弱網(wǎng)絡(luò)環(huán)境下優(yōu)勢更為明顯,模板并行加載,優(yōu)先加載優(yōu)先顯示,提升用戶的交互體驗。
最后:從經(jīng)典的MVC架構(gòu)到SSM、SSH的Java框架時代,再到前端框架如:AngularJS、Vue等,雖然技術(shù)、架構(gòu)一直在演變進(jìn)步本質(zhì)上均是為了更方便的解決需求,前后端分離架構(gòu)更多的也是實現(xiàn)解耦的過程,不將前端與后端綁定,這也與SOA的理念是相吻合的,基于企業(yè)服務(wù)總線實現(xiàn)應(yīng)用系統(tǒng)對接的松耦合,以插拔的模式將應(yīng)用、單據(jù)、數(shù)據(jù)進(jìn)行有效的連通與對接,以組件構(gòu)建、平臺搭建、架構(gòu)支撐的模式共同鑄建企業(yè)的信息化建設(shè),以更專業(yè)的平臺實現(xiàn)其專業(yè)領(lǐng)域的工作,助力企業(yè)信息化的發(fā)展。
在前后端分離后,應(yīng)該用什么工具測試后端接口,postman貌似是不可以的,因為它測試的時候不存在跨域?
感覺跨域可以不用測,只要測試接口就可以了,主要測試請求參數(shù)、響應(yīng)參數(shù)的正確性、接口負(fù)載性能等