浅析前后端分离

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


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


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


为什么选择前后端分离?


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


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


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


2、提升开发效率


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


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


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


如何做到前后端分离?


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


1、数据接口规范


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


2、并行分离开发模式


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


3、部署分离


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


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


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


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


猜你喜欢

转载自blog.51cto.com/13680689/2116799