現(xiàn)在流行的前后端分離項(xiàng)目都使用的是什么前后端框架?
開發(fā)框架主要分三塊,前端,web和持久化,三者是可以自由組合的。我分開來說。
web框架以前Java web框架還有struts1,struts2,springMVC可以選。
目前只有一個(gè)選擇:SpringMVC,其它一個(gè)能打的都沒有。無論是Play,GOG這類快速開發(fā)框架,還是spark(此spark非彼spark)這類輕量級(jí)開發(fā)框架,或者struts2這樣的競(jìng)爭(zhēng)對(duì)手。無論從使用人數(shù)還是生態(tài)上來看,和SpringMVC都不是一個(gè)量級(jí)。
其它框架宣傳得再怎么好,都不建議投入大量精力。學(xué)習(xí)框架的設(shè)計(jì)思路可以,生產(chǎn)環(huán)境使用請(qǐng)直接使用SpringMVC。Spring系的基礎(chǔ)設(shè)施不是其它框架可比擬的。要快速開發(fā)可以使用springboot,只需要pom依賴+一個(gè)enable注解就可以直接使用。
持久化框架目前主流的有兩個(gè)JPA和MyBatis。
如果項(xiàng)目是數(shù)據(jù)建模,那么使用Mybatis;如果項(xiàng)目是對(duì)象建模,那么使用JPA。
這里還要提一下Spring。SpringBoot的spring-data子項(xiàng)目應(yīng)該是想統(tǒng)一這兩者。不止是這兩者,它的野心更大,想統(tǒng)一所有的持久層,db,redis,elasticsearch全部都有對(duì)應(yīng)的項(xiàng)目。它想將所有的持久化操作都抽象為Repository操作。如果成功的話,業(yè)務(wù)邏輯中就完全不需要關(guān)心持久層選型了,切換框架也很方便。
前端框架前端框架目前有三個(gè)可選項(xiàng)react,ag和vue。
react的語(yǔ)法個(gè)人很不喜歡,直接pass。。。。
ag國(guó)內(nèi)熱度好像不高,沒太關(guān)注。
最終選的是vue,簡(jiǎn)單上手快。配套u(yù)i庫(kù)也比較完善了。
如果項(xiàng)目中要開發(fā)小程序,建議使用vue,語(yǔ)法高度一致,會(huì)vue瞄一眼就知道怎么開發(fā)小程序了。