前后端分离的实践

前后端分离大致上可以分为以下2种:
1.业务层和数据层的分离
相对中大型系统都会产生这样的需求,因为业务需求会越来越多,必须在让底层数据可以支持业务的水平扩展,当然还会细分为对外和对内或者统一处理,根据实际业务需求选择.
需要支持对外的话,相对验证方面的要求会高很多,但通常不会提供直接的底层数据接口,通常会以业务来提供对外接口
仅支持对内的话,可选方式就多样化了,提供接口,直接操作数据,通过中间层处理数据,相对支持对外,对内的要求相对低一些,但是变动会更加频繁
前后端分离可以有效的应对系统日益增加的复杂度.

2.前端页面和后端数据
该需求各种系统中都会存在,但是实现方式各不相同,主要和公司人员的配比和技术选型有关:
1.由统一人员处理
人员的技术要求根据公司技术选型要求变更
2.由相关技术人员处理
由于技术的更新迭代速度很快,对单一技术的要求越来越高
后端目前有java,php,python,ruby,nodejs等,
前端各类css框架,各类js框架层出不穷react,angular1,angular2,backbone,jquery,zepto,anazeUI,bootstrap等
实现分离的方式也层次不穷,大致可分为4类:
1.前端人员根据产品图生成静态页面,然后由后端人员嵌入模板
最初的实现方式,由前端人员编写html+css+js,交由后端人员嵌入系统模板,嵌入成本比较大,当初问题时需要前后端人员一同协调处理问题,并且效率比较低,需要二次编码
2.单页面应用
请求直接返回前端html,由页面处理路由,所有数据通过ajax获取.前端负责所有展示需求,后端只用负责处理数据接口,但是对seo非常不友好,因为所有链接返回统一html,并且需要带页面再获取数据,当数据要求高的时候,前端白屏时间可能会长
3.单页面应用+搜索引擎返回数据
和类型2处理方式一样,只是单独处理了seo相关请求,对seo直接返回数据.
4.前后端统一渲染模式
前后端采用统一渲染方式,对前端页面进行渲染输出,直接返回渲染后的页面,但对运行环境有要求,需要nodejs用来执行前端javascript代码

Categories: 前端开发, 后端开发