什么是前后端分离与前后端不分离

  我起初认为前后端分离是,在软件开发过程中前后端分工就叫做前后端分离,其实是前端所有用到的数据都是后端通过异步接口的方式提供的,前端只管页面的展示及效果。

  前端和后端不分离的时候,前端的页面也是由后端控制渲染的,两者的耦合度非常高。在业务逻辑复杂的系统里,我们最怕维护前后端混杂在一起的代码,因为没有约束,M-V-C每一层都可能出现别的层的代码,日积月累,完全没有维护性可言。这个时候出现了前后端分离这种模式,虽然前后端分离没办法完全解决这种问题,但是可以大大缓解。

  那该怎么做到前后端分离呢?

  前端:负责View和Controller层。

  后端:负责Model层,业务处理/数据等。

  试想一下,如果前端掌握了Controller,我们可以做url design,我们可以根据场景决定在服务端同步渲染,还是根据view层数据输出json数据,我们还可以根据表现层需求很容易的做Bigpipe,Comet,Socket等等,完全是需求决定使用方式。

  前后端分离的好处有哪些?

  首先,前端代码中不再需要嵌入后端的代码,降低了前后端的耦合性,也使前端代码的可读性大大提高了。

  其次,前后端分离使得双方的任务更加的明确,并且开发时可以前后端并行开发,使得开发效率更高,也更灵活。

  最后,因为双方的分工明确,代码可读性提高,也降低了后期的维护成本

  

  小结:

  我觉得前后端分离的好处很多,但是也不一定适合全部的情况,具体前端和后端是否分离还是要视情况而定。

原文地址:https://www.cnblogs.com/peculiarKnight/p/10263857.html

时间: 2024-10-07 14:55:24

什么是前后端分离与前后端不分离的相关文章

前后端分离与前后端不分离

前后端不分离 在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高. 这种应用模式比较适合纯网页应用,但是当后端对接App时,App可能并不需要后端返回一个HTML网页,而仅仅是数据本身,所以后端原本返回网页的接口不再适用于前端App应用,为了对接App后端还需再开发一套接口. 请求的数据交互如下图: 前后端分离 在前后端分离的应用模式中,后端仅返回前端所需的数据,不再渲染HTML页面,不再控制前端的效果.至于

为什么要前后端分离?前后端分离的好处和坏处是什么?

刚入职新公司,新公司的前端技术栈除了支付宝小程序,其他项目都是jquery+html 写的.领导想让我推一下vue+vue-cli+webpack,前后端项目的想法,我正在做整理资料,我便想到了前后端分离项目的必然性的特点,和传统技术的优势: 总结的最完美的一句话我觉得应该是前后端分离的主要概念就是:后台只需提供API接口,前端调用AJAX实现数据呈现!!!完美啊.后台只注重算法,向前端提高接口,前端根据接口显示数据,只需要处理前端的业务逻辑,界面优化等等 我刚上手的第一个前后端项目的时候,后台

关于Web实现前后端分离,前后端解耦

一.前言 ”前后端分离“已经成为互联网项目开发的业界标杆,通过Tomcat+Ngnix(也可以中间有个Node.js),有效地进行解耦.并且前后端分离会为以后的大型分布式架构.弹性计算架构.微服务架构.多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础. 前后端分离(解耦)的核心思想是:前端Html页面通过Ajax调用后端的RestFul API并使用Json数据进行交互. 注:[在互联网架构中,web服务器:一般指像nginx,apache这类的服务器,他们一般只

nginx反向代理前后端分离项目(后端多台)

目前软件架构都比较流行前后端分离,前后端的分离也实现了前后端架构的分离,带来的好处 —— 整个项目的开发权重往前移,实现真正的前后端解耦,动态资源和静态资源分离,提高了性能和扩展性. 通常SpringBoot与vue 进行前后端分离,主要有两种方式: 1.打包(npm run build命令)vue项目出来的dist文件夹拷贝到springboot项目的static文件目录,部署到tomcat即可. 2.利用nginx的反向代理. 本文主要讲解第二种 首先打包前端项目到指定目录:E:\fjgh\

【转】Web实现前后端分离,前后端解耦

一.前言 ”前后端分离“已经成为互联网项目开发的业界标杆,通过Tomcat+Ngnix(也可以中间有个Node.js),有效地进行解耦.并且前后端分离会为以后的大型分布式架构.弹性计算架构.微服务架构.多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础. 前后端分离(解耦)的核心思想是:前端Html页面通过Ajax调用后端的RestFul API并使用Json数据进行交互. 注:[在互联网架构中,web服务器:一般指像nginx,apache这类的服务器,他们一般只

简单了解动静分离和前后端分离

一.前端和后端的概念(怎么区分是前端还是后端) 什么是前端? 这又可以分解成几个小问题. 1.JS是前端么? 2.只要用JS写的,都是前端么? 3.只要是前端工程师写的,都是前端么?4.大前端就是指的用JS语言写的前端,哪怕它是运行在服务器那一端么? 5.App算前端么? 6.Html+CSS算前端么? 7.小程序算前端么? 8.ReactNative算前端么? 通常情况下,我们说的前端,都是指浏览器这一端,浏览器这一端,又在通常情况下,都是用JS来实现的,所以又会引申为,用JS写的大部分程序都

前后端分离与前后端不分离的区别

前后端不分离 在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高. 这种应用模式比较适合纯网页应用,但是当后端对接App时,App可能并不需要后端返回一个HTML网页,而仅仅是数据本身,所以后端原本返回网页的接口不再适用于前端App应用,为了对接App后端还需再开发一套接口. 请求的数据交互如下图: 前后端分离 在前后端分离的应用模式中,后端仅返回前端所需的数据,不再渲染HTML页面,不再控制前端的效果.至于

说说售前,关于售前,售前软件工程师----写的很好

说说售前(一):售前的作用 在ITPUB上有个哥们问做售前最需要什么,大多数答:“忽悠”.应该说,很有意思的印象词.    浓缩的是精华,细想一下,如果用两个字给售前定性的话,还真找不出另外的更合适的词.但“忽悠”本身就是一种能力,常听到人说某人太能忽悠了,到底怎么样才算是能忽悠呢?这一点倒是很难总结,可以说是一个综合的能力.    在IT行业呆了很多年,几乎已经是骨灰级元老了,虽然主业还是产品研发,但是售前也是工作的另一个组成部分,经常写各个城市的印象,其实就是这种工作所赐.在售前的工作中,有

php 显示某一个时间相当于当前时间在多少秒前,多少分钟前,多少小时前

/* *function:显示某一个时间相当于当前时间在多少秒前,多少分钟前,多少小时前 *timeInt:unix time时间戳 *format:时间显示格式 */ public function timeFormat($timeInt,$format='Y-m-d H:i:s'){ if(empty($timeInt)||!is_numeric($timeInt)||!$timeInt){ return ''; } $d=time()-$timeInt; if($d<0){ return

java实现几分钟前,几小时前,几天前的代码

代码下载地址:http://www.zuidaima.com/share/1550463224564736.htm 原文:java实现几分钟前,几小时前,几天前的代码 可以根据当前时间计算出距离某个时间点是几分钟前,还是几小时前,几天前 纯java实现的:几秒前,几分钟前,几小时前,几天前,几月前,几年前的实现 由最代码官方编辑于2014-2-24 11:35:49 1个评论 1个牛币 标签: prettytime 几秒前 几分钟前 几小时前 几天前 几月前 几年前话题: 语言基础 脚本和工具