浅析前后端分离

大家好,初来乍到,有点小紧张,写得不好的请各位大佬多多批评指正。

我老板是个不懂技术的 boss,前天他找我去负责一个新项目,我内心一想,劳资早受够了这些老古董项目的苦了,这次肯定要按我想法来搞了,开心。这里说一下,我是写Java的,之前一直在公司一直是维护别人写的项目,祖传代码那种,啥玩意都丢在jsp里面,一坨坨的,每天让我在里面改哪些不可描述的代码,此处手动微笑。

第二天,我屁颠屁颠地拿着俺的计划和方案给他看,老板看完眉头一皱,这种前后端完全分离的开发方式我们没做过,为什么要选择这种方式?前后端分离对实际开发有什么好处?还有后期维护怎么保证呢?哔哩哔哩,老板日常的三连问,瞬间让没有准备的我尴尬了三秒,还好我机智,编了个分析文档放在我私人MacBook的借口,赶紧溜掉,回到位置的我以迅雷不及掩耳之势找到了资料,给他发了过去,然后再走过去,开始安利。

为什么选择前后端分离?

这种搞法早已成为互联网项目开发的业界标准使用方式,你这山村野夫真落后!那究竟前后端分离有什么优势呢?看看张大佬是怎么描述的。

1、为优质产品大招精益团队

通过将开发团队前后端分离化,让前后端工程师只需要专注于前端或后端的开发工作,实现前后端工程师实现自治,培养其独特的技术特性,然后构建出一个全栈式的精益开发团队。

2、提升开发效率

前后端分离以后,可以实现前后端代码的解耦,只要前后端沟通约定好应用所需接口以及接口参数,便可以开始并行开发,无需等待对方的开发工作结束。与此同时,即使需求发生变更,只要接口与数据格式不变,后端开发人员就不需要修改代码,只要前端进行变动即可。如此一来整个应用的开发效率必然会有质的提升。

3、完美因对复杂多变的前端需求

如果开发团队能完成前后端分离的转型,打造优秀的前后端团队,开发独立化,让开发人员做到专注专精,开发能力必然会有所提升,能够完美应对各种复杂多变的前端需求。

如何做到前后端分离?

任何一项技术以及架构都不是适用于任何场景,前后端分离同样也是如此。虽然前后端分离架构能带来许多的好处,但前提是建立在开发团队合适的基础上的。当我们前端比较重,也就是说页面布局和业务逻辑复杂,渲染数据量大的时候,就应该使用前后端分离架构。

1、数据接口规范

在开发期间前后端共同商定好数据接口的交互形式和数据格式。然后实现前后端的并行开发,其中前端工程师再开发完成之后可以独自进行mock测试,而后端也可以使用接口测试平台进行接口自测,然后前后端一起进行功能联调并校验格式,最终进行自动化测试。

2、并行分离开发模式

前端的主要工作是在实现整一个前端页面以及交互逻辑,利用ajax和服务端进行交互,而后端主要为前端提供API接口,与数据库进行交互。前后段分离不仅仅只是工程师的分工开发,更重要的意义在于实现了前后端的并行开发,简化了开发流程。

3、部署分离

前后端分离之后,应用在部署时也需要进行前后端分离。在进行前后端分离方案选择时,需要结合项目的实际情况和用户来考虑。

对后期项目维护有什么好处?

前后端分离后,应用的代码不再是前后端混合,只有在运行期才会有调用依赖关系。其实,后端和前端工程师的追求点不同,分离开发有助于专精,前端模块化,后端系统进行分布式和微服务架构等等。分离之后应用代码将会变得整洁清晰,不论是代码阅读还是代码维护都会比以前轻松。

最后,老板满意的点了三下头,脸上还挂着一丝不可描述的微笑,仿佛在告诉我,劳资已经对这个项目的了如指掌了,你可以滚蛋了。呵呵哒,反正老板同意了,我就开干了,和那些老古董分开的感觉真好,身心愉悦!说到这里就差不多结束了,对编程有兴趣的盆友可以关注我的公众号 “实训邦”哦!

原文地址:http://blog.51cto.com/13680689/2116799

时间: 2024-10-09 16:34:04

浅析前后端分离的相关文章

前后端分离的一些尝试

背景 目前使用SpringMVC框架进行开发,用户访问controller的url,controller收到页面数据后分发给serverice做处理,处理完后在controller中根据页面所需要的数据进行整合,最后将打包好的信息发给指定的页面. 根据上图我们可以看到,数据的整合是在controller层上做处理的,而页面则对整合的数据进行对应的显示,两部分需要对应好,如果增加一个对应的控件涉及到后台的数据,则页面和后端都需要修改,即使该空间的service已经存在,也需要在controller

利用grunt-contrib-connect和grunt-connect-proxy搭建前后端分离的开发环境

前后端分离这个词一点都不新鲜,完全的前后端分离在岗位协作方面,前端不写任何后台,后台不写任何页面,双方通过接口传递数据完成软件的各个功能实现.此种情况下,前后端的项目都独立开发和独立部署,在开发期间有2个问题不可避免:第一是前端调用后台接口时的跨域问题(因为前后端分开部署):第二是前端脱离后台服务后无法独立运行.本文总结最近一个项目的工作经验,介绍利用grunt-contrib-connect和grunt-connect-proxy搭建前后端分离的开发环境的实践过程,希望能对你有所帮助. 注:

前后端分离的方法

网站前后端分离的方法 如何进行前后端分离: http://blog.csdn.net/github_26672553/article/details/51864112 https://segmentfault.com/q/1010000004494530 解释了前后端的分离方法 http://www.csdn.net/article/2015-10-25/2826033

[转]从MVC到前后端分离

从MVC到前后端分离 来源:csdn 发布时间:2015-10-26 阅读次数:1680 1. 理解MVC MVC是一种经典的设计模式,全名为Model-View-Controller,即模型-视图-控制器. 其中,模型是用于封装数据的载体,例如,在Java中一般通过一个简单的POJO(Plain Ordinary Java Object)来表示,其本质是一个普通的Java Bean,包含一系列的成员变量及其getter/setter方法.对于视图而言,它更加偏重于展现,也就是说,视图决定了界面

前后端分离

Swagger - 前后端分离后的契约 前后端分离 按照现在的趋势,前后端分离几乎已经是业界对开发和部署方式所达成的一种共识.所谓的前后端分离,并不是传统行业中的按部门划分,一部分人只做前端(HTML/CSS/JavaScript等等),另一部分人只做后端(或者叫服务端),因为这种方式是不工作的:比如很多团队采取了后端的模板技术(JSP, FreeMarker, ERB等等),前端的开发和调试需要一个后台Web容器的支持,从而无法将前后端开发和部署做到真正的分离. 通常,前后端分别有着自己的开发

关于大型网站技术演进的思考(十七)--网站静态化处理—满足静态化的前后端分离(9)

前后端分离的主题虽然讲完了,但是前后端分离的内容并没有结束,本篇将继续前后端分离的问题,只不过这次前后端分离的讲述将会围绕着本系列的主题网站静态化进行.在讲本篇主题之前,我需要纠正一下前后端分离主题讲述中会让朋友们产生误导的地方,这种误导就是对时下流行的一些前后端分离方案(没有使用nodejs的前后端分离方案)的评价问题,其实本人任然觉得不管什么样的前后端分离方案只要成功被实施,并且产生了良好的效果,那么它就是一个成功的前后端分离方案,前面我以一种批判的角度讲述这些前后端分离方案,并不是想在否定

运用NodeJs环境并依赖第三方库,框架等实现网站前后端分离报错问题及处理方法

运用NodeJs环境并依赖第三方库,框架等实现网站前后端分离报错问题及处理方法 问题一: SyntaxError: missing ) after argument list in .....\views\user\index.html while compiling ejs. 语法错误:失去右括号)在参数列表后面,在.....\views\user\index.html(在这个路径中的index.html)中当编译ejs时. 分析:这个时候应该是模板引擎ejs出现问题,但是ejs已经是一个写好

谈谈渲染,玩玩nginx——前后端分离,转发请求到Tomcat的尝试

一.谈谈"渲染" 相信好多人都挺听过"渲染"这个词,但不清楚它是什么意思?前端开发以为这是后端的活儿,后端开发以为是前端的事儿,推着推着就不了了之.其实渲染很简单,不说概念,直接举例: 1. 后端渲染:以JSP为例,可以分成三步 a.编写标签或Java代码(可以称之为模板) b.在JSP编译阶段被转换成Servlet编译为Servlet Class c.执行编译后的代码,将响应(模板执行结果)返回给页面 优势:减少前端工作,前端只需要设计纯页面,其他的都由后端来做:

Restful and 前后端分离

swagger--API rest---敏捷->BDD->用户故事->验收条件->用户场景测试->Spec 测试->自动化测试->持续集成->自动部署->dev&ops完了,用户场景测试理论上说可以代替单元测试 正是因为采用Rest架构,才使得前后端完整分离. - 前后端分离了才能写好测试,才能更好的保证质量- 前后端分别进行独立的开发,测试,部署(没错,可以独立部署,独立发布)- 更简单,维护成会降低 回到你的具体问题,如何做session控