为什么要尝试前后端分离?给前后端分离的童鞋一个大概的解释。尝试改变如果你没有尝试过前后端分离的工作流程,你可以先想象这样一个流程改变:从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代码,如:这是前后端耦合,可读性差。
