浅谈Java 项目前后端分离后,开发上的优点和缺点

本文适合读者:Java入门新手,1-2年传统开发Java开发人员

前言

        前言部分属于闲聊,可以跳过

        本人是一个小公司的Java程序员,公司负责Java项目开发只有2个人,前端1个,项目主管1个。之前的开发使用SSM+DWZ开发,代码是公司一直长期使用的模板代码,我们称它为“祖传代码”。代码:项目代码+生成器代码,生成出的内容包含基本的增删改查,分页也都处理好了,还有集合DWZ的界面,现在网络上也有很多这种,如 Jeecg 。代码自带了很多常用功能,如:spring remote,upload,quart,shiro等,这些常用功能基本能通用于常用的软件开发需求,功能的扩展是公司架构师的工作。我们小公司当然没有架构师,所以,功能扩展也只能由程序员来做了。就因为这样,我在公司可以学到很多知识,这也是没办法。

        在如今,技术迭代迅速,需求也随之变化,用户体验和软件性能都大大提升。BAT 、华为 各种 第三方SDK 层出不穷,这也给开发效率和软件功能多样化提供了很大帮助。


正文

优缺点在于对比,我先描述一下我在两种不同开发方式下的开发流程

     传统方式:

         代码生成器,生成出一个模块的基本增删改查功能,界面也生成出来,复制到项目中。因为要满足需求,UI控件使用上会查看DWZ官网的使用文档,但并不是所有的需求UI控件都能满足,自己要找第三方的UI控件集成到项目中,需要写一部分的JQuery代码,以实现特定需求。

        后端逻辑花不了太多时间,UI控件的适配和JQuery代码要花很多时间(因为JQuery并不是很熟悉,一边查一边改),项目都由自己独立完成,有一些界面适配很难解决的会问一个前端。功能调试,系统测试也都是自己完成,我们公司没有测试,我们完成功能上报主管,主管测试后,把bug反馈给我们,我们改bug。还有,项目的部署也是自己部署,xftp上传代码,xshell重启tomcat。

    前后端分离方式:

            分离后,后端只需要写http接口返回Json字符串,测试接口可用,编写前端对接文档,项目部署还是自己完成。后端写好一个接口和文档叫前端对接,就可以去写其它接口。开发上很方便,不过,因为没有实际功能界面的调试和测试,接口的数据返回的逻辑问题很难测试,只能叫前端在开发过程中反馈回来,修改bug的时间很长一些。标准的对接文档编写的前端快速对接的重要问题,字段的功能描述,使用注意事项等。而且即使写的再好,对方也有可能不能理解,还是会当面解释。

        写http接口速度很快,但对接浪费大量时间,长期的与前面默契配合,开发效率上会有所提升。从把侧重点移到后端后,便会在后端和运维上花多一些时间,比如:redis,activeMQ,Nginx,jenkins 等技术,这些技术集成和使用上也很容易,了解一点,也可以使用了,不过熟练的掌握,还是要花大量的时间 ,我也只会点皮毛。

    优点:

1. 分工明确,不用关心界面的问题,开发效率提升。

2. 系统层级提升,用户体验和系统性能大幅度提升。

      缺点:

1. 多一个人手,多一份钱,开发效率提升和系统升级,其实也不是缺点。

2. 不是单独一个人开发,协作成本提升。

3. 功能测试上的bug,可能是前端也可能是后端的,锅会相互甩。

你可能感兴趣的:(工作之谈)