在为期一年多的前后端分离项目的开发中,对这种新型的项目开发模式也算是有了一定的了解,此文对这种开发模式的感悟略作记录。
传统的javaweb项目,在开发的过程中,没有明确的分工,后台人员即要写后台,也要做数据库,更要写页面,而且传统的javaweb项目,大多都是jsp,有时候没有明确的规范,jsp页面加入大量的java代码,导致项目前后台杂乱不堪。
随着时代的发展,各种前后台框架的出现,前段知识大量增加,如果还保持着传统项目架构,后端人员工作量大大增加,需要学习的知识也同步增加,最终造成的结果就是啥都懂一点,啥都不精。
慢慢的,前后端分离架构出现了,前端人员专心研究前端的事,后端人员专心提高后端的事,正所谓术业有专攻。
正文
前后端分离,大体上就是前端页面和后端的交互只通过json。页面的跳转等都由前端控制,后端只负责为页面提供数据。
在公司为期将近一年的开发中,各种新项目,老项目都渐渐的采用前后端分离架构,对这种架构模式也有了一点初步的认识,接下来就说说我在项目中对前后端分离的各种体会。
首先,先说说在开发中,因为前后端分离产生的一些问题。
在开发中,因为基本上前端都是那种特别纯粹的前端人员,也就是只懂前端,不了解java,不了解oracle,不了解业务,不了解网络协议等等各种基础知识即特性,在开发中出现了各种问题,比如请求中cookie丢失不知如何处理,功能开发完成之后不知如何测试,不懂业务导致不知道自己做出的页面到底对不对等等各种问题,而且由于后台只提供数据,不做页面跳转,所以在和传统项目做SSO单点登录的时候更麻烦。
当然,前后台分离也并不是没有好处。
- 开发人员的职能划分更加明确,前后端人员各自考虑自己职能范围内的事,比如前端人员可以专心提高页面的用户体验,而后端人员则专注于接口开发和后台性能
- 前后端能够同步进行,事先定义好接口,前后端同步进行,到后面只需要进行对接联调即可
- 前台基本上采用静态页面,响应速度快
- 前后端分离了,可以分开部署,也可以分开做负载处理
针对前后端分离架构的项目准备工作
由于前后端分离,前后端由不同的人员去开发,所以项目的准备工作一定要做到位。
- 项目必须要有详细的API,并且能够测试数据,以便前端人员能够在最短的时间内拿到正确的API,swagger就挺不错的,后端API有改动时,能够实时反映出来。
- 对于页面功能,最好有明确的模型图
- 在项目开始时,前后端人员必须都对业务有所了解,“脱离业务的项目架构都是耍流氓”,忘记出自哪里了。
目前大概只有这些体会了,后面有更深的理解,会继续补充。
网友评论