前后端分离和不分离的区别是什么
区别:前后端不分离中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,即后端需要控制前端的展示,前端与后端的耦合度很高。前后端分离中,后端仅返回前端所需的数据,不再渲染HTML页面,不再控制前端的效果,前端与后端的耦合度相对较低。
本文操作环境:windows10系统、thinkpad t480电脑。
相关推荐:《编程视频》
一、前后端分离的概念
1、前后端分离
- 前后端分离是一种架构模式,说通俗点就是后端项目里面看不到页面
(JSP | HTML)
,后端给前端提供接口,前端调用后端提供的REST
风格接口就行,前端专注写页面(html|jsp)
和渲染(JS|CSS|各种前端框架)
;后端专注写代码就行。 - 前后端分离的核心:后台提供数据,前端负责显示
1、软件架构模式
最熟悉MVC
设计模式,Model—View-Controller
模型-视图-控制器
- 它是怎么工作的?通俗来说:你在页面输入一个网址
(请求-Request)
,这个网址跑到哪里去了呢?就去调用接口(REST风格)
,这个接口其实就是访问后端的一段代码(方法),后端有很多方法。 - 如何确定访问的是哪个方法?就是接口定义好的,比如:
177.25.26.7/idp/user/login
,这里面的idp
就表示一
个服务(一个工程),user
表示一个类,login
表示具体要调用的那个方法,你一旦回车,就直接调用了后端这个方法,后端这个方法就去数据库(MySQL|Oracle|其他)
取数据,数据库表中每一行数据就表示一个对象,也就是一个JavaBean
,最终用pojo
方式存到集合框架(List|Map|Set|等)
中,方法把这个集合返回,那么调用这个接口的结果就是会响(Response)
给你一个结果集,前端就拿到了这个数据,然后通过页面(html|Jsp)
展现出来,这个用户看到的就是View
层做的事情。
2、前后端分离的原因
在以前,听说 TDD (Test-driven development,测试驱动开发)
可以改善代码的质量,我们便实施了 TDD
;接着,听说 BDD (Behavior-driven development,行为驱动开发)
可以交付符合业务需求的软件,我们便实施了 BDD;后来,听说 DDD (Domain-driven design,领域驱动设计)
可以分离业务代码与基础代码,我们便实施了 DDD
。今天,听说了前后端分离很流行,于是我们就实施了前后端分离——这就是传说中的 HDD(Hype-driven Development,热闹驱动开发)
。
过程: TDD -》 BDD -》 DDD =》 HDD
3、前后端分离的优点
前后端分离则可以很好的解决前后端分工不均的问题,将更多的交互逻辑分配给前端来处理,而后端则可以专注于其本职工作,比如提供API
接口,进行权限控制以及进行运算工作。而前端开发人员则可以利用nodejs
来搭建自己的本地服务器,直接在本地开发,然后通过一些插件来将api
请求转发到后台,这样就可以完全模拟线上的场景,并且与后台解耦。前端可以独立完成与用户交互的整一个过程,两者都可以同时开工,不互相依赖,开发效率更快,而且分工比较均衡。
总结优点如下:
- 提升开发效率
- 完美应对复杂多变的前端需求
- 增强代码可维护性
二、前后端分离和前后端不分离的区别
1、前后端不分离
- 在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高。
- 这种应用模式比较适合纯网页应用,但是当后端对接
App
时,App
可能并不需要后端返回一个HTML
网页,而仅仅是数据本身,所以后端原本返回网页的接口不再适用于前端App
应用,为了对接App
后端还需再开发一套接口。
2、前后端分离
- 在前后端分离的应用模式中,后端仅返回前端所需的数据,不再渲染
HTML
页面,不再控制前端的效果。至于前端用户看到什么效果,从后端请求的数据如何加载到前端中,都由前端自己决定,网页有网页的处理方式,App
有App
的处理方式,但无论哪种前端,所需的数据基本相同,后端仅需开发一套逻辑对外提供数据即可。 - 在前后端分离的应用模式中 ,前端与后端的耦合度相对较低。
- 在前后端分离的应用模式中,我们通常将后端开发的每个视图都称为一个接口,或者
API
,前端通过访问接口来对数据进行增删改查。
想要查阅更多相关文章,请访问PHP中文网!!
以上是前后端分离和不分离的区别是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

React前后端分离指南:如何实现前后端的解耦和独立部署,需要具体代码示例在当今的Web开发环境中,前后端分离已经成为一种趋势。通过将前端和后端代码分开,可以使得开发工作更加灵活、高效,并且方便进行团队协作。本文将介绍如何使用React实现前后端分离,从而实现解耦和独立部署的目标。首先,我们需要理解什么是前后端分离。传统的Web开发模式中,前端和后端是耦合在

如何使用Java处理前后端分离的表单数据交互?随着前后端分离架构的流行,前端通过AJAX请求向后端发送表单数据已经成为了一种常见的方式。在这篇文章中,我们将学习如何使用Java来处理前后端分离的表单数据交互。我们将使用SpringBoot作为后端框架,并通过一个简单的示例来演示整个过程。首先,我们需要创建一个SpringBoot项目并添加相关的依赖。在p

前后端分离是:软件技术和业务发展到一定程度,在项目管理工作上必须进行的一种升级,他是一个必然而不是一个偶然!说白了,就是公司部门架构的一种调整。

随着前端技术的不断发展,前后端分离的架构模式愈发流行。前后端分离的优点是显而易见的,前端和后端可以独立进行开发,各自有自己的技术选型和开发节奏,更能够提高系统的可维护性和可扩展性。而Vue作为当下流行的前端框架,更是能够带来更为优秀的用户体验。本文将详细介绍如何使用Vue实现前后端分离的架构模式,并演示接口对接的方法。一、后端实现对于后端的实现,我们可以选择

Vue.js与Java语言的结合:实现前后端分离开发前端框架Vue.js和后端语言Java都是目前非常流行和广泛使用的技术,它们各自在前端和后端开发方面都有很强大的能力。将Vue.js与Java语言结合起来,可以实现前后端分离开发,使项目的开发更加高效、可维护性更好。本文将介绍如何使用Vue.js与Java语言进行前后端分离开发,并给出相应的代码示例。创建V

随着互联网技术的快速发展,前后端分离的思想也越来越被开发者广泛应用。前后端分离可以使得前端和后台的开发分离并行,提高开发效率,降低了开发的复杂性,提升了系统的性能和可扩展性。在前后端分离的架构中,前端通过接口向后端请求数据,后端将请求的数据进行处理,然后返回给前端。在这个过程中,Nginx可以发挥作用,通过反向代理技术来实现数据的传递和转发。本文将介绍如何在

随着互联网的快速发展和数以亿计的用户日益增多,对于高质量、高性能的Web应用程序的需求也越来越大。在此背景下,前后端分离的PHP项目开发模式日益受到人们的青睐。本文将介绍前后端分离的PHP项目开发实践,包括开发流程、技术选型以及注意事项等方面的内容。一、前后端分离的概念前后端分离是指将Web应用程序的前端与后端分别开发、部署,并通过接口进行数据交互、业务逻辑

前后端分离开发中,Go语言和PHP、Java的选择之争随着移动互联网的迅猛发展,前后端分离开发模式正变得越来越流行。在这种开发模式下,前端负责用户界面的展示与交互,而后端则负责处理数据的逻辑和持久化存储。对于后端语言的选择,目前市场上较为常见的有Go语言、PHP和Java。那么如何在Go语言、PHP和Java之间作出选择呢?本文将从性能、开发效率和生态环境三
