从经典的JSP+Servlet+JavaBean的MVC时代,到SSM(Spring+Spring MVC+MyBatis)和SSH(Spring+Struts+Hibernate)的Java框架时代,再到前端框架(KnockoutJS、AngularJS、Vue.js、ReactJS)为主的MVVM时代,然后是Node.js引领的全栈时代,技术和架构一直都在进步。创新之路不会止步,无论是前后端分离模式还是其他模式,都是为了更方便地解决需求问题,但它们都只是一个“中转站”。前端项目与后端项目是两个项目,放在两个不同的服务器,需要独立部署,两个不同的工程,两个不同的代码库,不同的开发人员。前端只需关注页面的样式与动态数据的解析及渲染,而后端则专注于具体业务逻辑。
技术分析
前后端分离的核心思想是前端HTML页面通过Ajax调用后端的RESTful API并使用JSON数据进行交互。本项目采用前后端开发,后端使用Spring Boot+JPA,前端使用Vue.js+ElementUI来构建SPA。前后端分离并非仅仅只是前后端开发的分工,而是在开发期进行代码存放分离、开发职责分离,前后端能够独立进行开发测试。在运行期进行应用部署分离,前后端之间通过HTTP请求进行通信。前后端分离的开发模式与传统模式相比,能为我们提升开发效率、增强代码可维护性,让我们有规划地打造一个前后端并重的精益开发团队,更好地应对越来越复杂多变的Web应用开发需求。
项目构建