当前位置: 首页 > 科技观察

我们为什么要尝试前后端分离

时间:2023-03-20 11:09:38 科技观察

为什么要尝试前后端分离?给前后端分离的童鞋一个大概的解释。尝试改变如果你没有尝试过前后端分离的工作流程,你可以先想象这样一个流程改变:从PM改变流程:“我要这个功能”后端:“找到前端-end给这个先做个模板”front-end:“模板完成了”backend:“我接一下吧,这里的样式不对”frontend:“改完了”backend:“功能交付”PM:“春节期间会加这个活动”后台:“先找前台改这个A模板”前台:“模板搞定了”后台:“我接一下,这里的样式不对”前台-end:"I'mdonechanging"Back-end:"功能交付"变成PM:"我要这个功能"Front-end:"我要接口"Backend:"接口完成"Frontend:"让我connect和deliverthefunction"PM:"春节期间会增加这个事件"Frontend:"需要添加接口"Backend:"接口完成"Frontend:"让我连接,"functiondelivery”可以看出,前后端分离的主要理念是:后台只需要提供API接口,前端调用AJAX实现数据呈现。现状与差异作为前端开发者,我们应该尝试一些新的技术,完善每一个细节,不断突破自我。前后端分离虽然不是什么新鲜的技术和想法,但是很多后台开发人员甚至前端开发人员都没有接触过。按照我个人的理解,如果在一个部门,所有的部门人员都是后台开发人员,一些前端页面也是由后台人员完成的,那么前后端分离对于他们来说可能是一个未知的领域.终端强耦合,甚至没有前端的概念。在不重视前端的公司或部门,不懂前后端分离也无可厚非。刚进一个满是后台开发的部门时,整个部门只有我一个前端。我一开始的主要职责是负责项目前端页面的制作和JS功能的实现。但是不知道怎么练。当时部门后台人员认为,前后端分离意味着后台不再需要写HTML和JS,可以交给前端。但是,这只能称为前后端分工。以上是一种情况:前后端分离不懂,也不知道怎么实践。下面还有一种情况:了解前后端分离,但是不想尝试。对于第二种情况,很多人也给出了相应的解释。其实这就涉及到“前后端分离的优劣”。很多后台人员认为自己做的东西没有问题,即使在后台应用前端HTML很常见,也一直是大势所趋,在此也推荐后台MVC框架方式,这是非常合理的。这个时候,前端开发人员往往在部门内没有足够的话语权,或者认为后端开发人员的意见永远是对的,没有主观性。相反,也有可能是后端开发人员极力推荐前后端分离,而前端开发人员却不愿意实践。这时候前端就会认为是后端开发人员在折腾。前后端没有分离之前,项目做的还算顺利,但是分离会给自己带来额外的工作量和学习成本,而这个就要靠前端的技术能力和Got了。当然这也是我个人认为前后端分离存在一些现状和差异的地方。场景及需求并不是所有的场景都适合前后端分离的应用场景,但是大部分项目都可以通过前后端分离来实现。由于本人主要从事企业级后端应用的前端开发,个人认为对于后端应用的开发,前后端分离利远大于弊。大多数后台应用都可以做成SPA应用(单页应用),单页应用的主要特点是局部刷新。这可以通过前端控制路由调用AJAX并在后台提供接口来实现,这样用户体验更友好,网页加载速度更快,开发和维护成本也降低了很多,而且效率显着提高。同样,在展示网站和手机APP页面也尝试了前后端分离。前后端不分离时,服务端需要单独处理web端,返回完整的html,势必增加服务端的复杂度,导致可维护性差,而web端需要加载完整的html,影响网页性能在一定程度上。这对于移动性能为王的地方是非常不友好的。随着前端技术的发展和迭代,前端MVC框架应运而生。使用目前主流的前端框架,如React、Vue、Angular等,我们可以轻松搭建一个无需服务端渲染即可展示的网站。frameworks提供了前端路由功能,后台不再控制路由跳转,将原本属于前端的业务逻辑全部丢给前端,做到前后端分离可以说是最彻底的。下面是一段前端控制路由的代码:'usestrict'exportdefaultfunction(router){router.map({'/':{component:function(resolve){require(['./PC.vue'],resolve)}},'/m/:params':{component:function(resolve){require(['./Mobile.vue'],resolve)}},'/p':{component:function(resolve)){require(['./PC.vue'],resolve)},subRoutes:{'/process/:username':{component:function(resolve){require(['./components/Process.vue'],resolve)}}}}})}前后端分离的实现会增加对技术人员的要求,尤其是前端人员。前端的工作不仅仅是切页面写模板或者处理一些简单的js逻辑。前端需要处理服务器返回的各种。数据格式,还需要掌握一系列的数据处理逻辑、MVC思想和各种主流框架。优点和意义我们也可以把前后端分离的意义看成前端渲染的意义。我主要总结了以下四点:1.彻底解放了前端,前端不再需要给后台提供模板或者在前端嵌入后台的html代码,如:这是前后端耦合,可读性差。以上是一段前端渲染的代码。前端通过AJAX调用后台接口,数据逻辑放在前端,由前端维护。2、提高工作效率,分工更加明确。前后端分离可以让前端只关注前端,后端只关心后端。两者的开发可以同时进行。当后端来不及提供接口的时候,前端可以把数据写死或者先调用本地的json文件就可以了,也不需要费心后台添加页面和修改路由,而且开发更加灵活。3、部分性能提升通过前端路由的配置,我们可以实现页面按需加载,不需要在加载首页的一开始就加载网站的所有资源,服务器不再需要解析前端-结束页。晋升。4.降低维护成本通过目前主流的前端MVC框架,我们可以快速定位并发现问题。客户端问题不再需要后台人员参与调试,代码重构和可维护性增强。一路走来的体会和体会,一个接一个的项目,从最开始的后台控制路由,后台渲染页面到现在的前端控制路由,前端渲染数据,工作流程和方式都发生了很大的变化。每当遇到以下情况时,都会对前后端分离带来的优势印象深刻:当项目开始制作前端页面时,不再需要后台为我配置服务器环境.项目的前端文件可以在里面找到,需要调用后台接口的时候,丢到服务端就可以了。您不需要在添加项目页面之前将其放入。当你需要配置路由的时候,不需要让后台同事帮我添加。前端文件不再与后台混合。代码逻辑看起来更舒服,页面跳转也比以前流畅。部分渲染和部分加载非常快。页面模板可以重复使用。前端组件开发提高开发效率等。面对快速发展的前端,我们应该适应它带来的工作方式和流程的变化。目前前后端分离的工作方式势必是未来的趋势。作为一名前端开发者,我们应该承担起这个流行的前端新知识和改变现状的责任。试了才知道适不适合,亲身体验才知道谁对。本文不提倡前后端分离,只是希望大家可以在合适的应用场景下尝试前后端分离。会有火花。