前后端分离用什么技术 如何正确理解软件系统架构的前后端分离?
如何正确理解软件系统架构的前后端分离?
首先:软件系统架构的前后端分离更多是在近几年伴随互联网的盛行为提高前端与后端交互的响应速率,提升用户的体验进行衍生出了前后端分离架构。如:Vue、NodeJS与微服务架构结合。前端页面进行UI展示效果渲染,后端负责编写API服务进行数据提供,也可以引入NodeJS来作为桥梁架接后端API输出的JSON,返回前端进行页面展现。
其次:基于前后端分离架构一方面提升响应速度,将数据计算的过程在中间层处理,前端进行展示;避免传统的大量数据请求服务器的压力基于中间层在内部处理拼接完成,性能得到了提升;以多组件、片段、卡片的模式实现并行的加载、显示,在非WiFI的3G、2G的弱网络环境下优势更为明显,模板并行加载,优先加载优先显示,提升用户的交互体验。
最后:从经典的MVC架构到SSM、SSH的Java框架时代,再到前端框架如:AngularJS、Vue等,虽然技术、架构一直在演变进步本质上均是为了更方便的解决需求,前后端分离架构更多的也是实现解耦的过程,不将前端与后端绑定,这也与SOA的理念是相吻合的,基于企业服务总线实现应用系统对接的松耦合,以插拔的模式将应用、单据、数据进行有效的连通与对接,以组件构建、平台搭建、架构支撑的模式共同铸建企业的信息化建设,以更专业的平台实现其专业领域的工作,助力企业信息化的发展。
现在流行的前后端分离项目都使用的是什么前后端框架?
开发框架主要分三块,前端,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瞄一眼就知道怎么开发小程序了。
前后端分离用什么技术 为什么要前后端分离 如何实现前后端完全分离
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。