开发框架主要分三块,前端,web和持久化,三者是可以自由组合的。我分开来说。
web框架以前Java web框架还有struts1,struts2,springMVC可以选。
目前只有一个选择:SpringMVC,其它一个能打的都没有。无论是Play,GOG这类快速开发框架,还是spark(此spark非彼spark)这类轻量级开发框架,或者struts2这样的竞争对手。无论从使用人数还是生态上来看,和SpringMVC都不是一个量级。
其它框架宣传得再怎么好,都不建议投入大量精力。学习框架的设计思路可以,生产环境使用请直接使用SpringMVC。Spring系的基础设施不是其它框架可比拟的。要快速开发可以使用springboot,只需要pom依赖+一个enable注解就可以直接使用。
持久化框架目前主流的有两个JPA和MyBatis。
如果项目是数据建模,那么使用Mybatis;如果项目是对象建模,那么使用JPA。
这里还要提一下Spring。SpringBoot的spring-data子项目应该是想统一这两者。不止是这两者,它的野心更大,想统一所有的持久层,db,redis,elasticsearch全部都有对应的项目。它想将所有的持久化操作都抽象为Repository操作。如果成功的话,业务逻辑中就完全不需要关心持久层选型了,切换框架也很方便。
前端框架前端框架目前有三个可选项react,ag和vue。
react的语法个人很不喜欢,直接pass。。。。
ag国内热度好像不高,没太关注。
最终选的是vue,简单上手快。配套ui库也比较完善了。
如果项目中要开发小程序,建议使用vue,语法高度一致,会vue瞄一眼就知道怎么开发小程序了。