<返回更多

大前端架构思考与选择

2020-08-11    
加入收藏

问题

大前端架构思考与选择

 


大前端架构思考与选择

 

这样做是可以的,然而一旦遇到修改,那么要同时修改几个端的代码,很麻烦,不是很完美。

现在兴起的APP,小程序等,天生就是前后端分离的。前端,APP,小程序等各自独立成专门的团队,当然可以满足这种趋势。相应地服务端需要为每一个前端部门提供服务,在实践中常常发现,重复的内容很多,有没有办法增加复用?或者说后端能否只对接一个“大前端”部门,剩下的“大前端”部门内部自己解决?

大前端架构思考与选择

 

比如,时间显示,PC端可能要求“2020-8-9”的格式,而APP端可能要求“2020/8/9”的格式,接口怎么给?

再比如,相同功能的一个接口,PC Web端需要20个字段,已经做好了。现在APP端因为屏幕小,只要10个字段就够了,是复用老的API,让APP忍受垃圾信息,还是为APP额外新增一个接口?

前端和服务端人员可能会有不同意见,这就带来了冲突。大家都有一定的道理,怎么协调?

架构

从现状来看,前后端分离之后,服务端直接给各种端提供服务是很自然能够想到的一种方式。这种方式的优点是简单直接,缺点是不够灵活。因此,考虑在前端和后端之间插入一个中间层,作为前后端之间的桥梁,增加灵活性。

对于这个中间层的称呼,一种是“网关层或者接入层”,这个可能会和后台现有的网关和接入层造成混淆。另一种叫法叫做BFF(Backend for Frontends,为前端而存在的后端),这种称呼相对比较准确,不会带来混淆。

大前端架构思考与选择

 

大前端架构思考与选择

 

解决方法

大前端架构思考与选择

 

具体做法是,对于新业务,将Mock数据生成在BFF层,对于各种端来说,相当于后端服务已经好了,可以直接进行联调,不需要等待。这样就把前端对后端的数据依赖去除了,更加灵活。

组织结构

针对上面提到的“大前端”技术架构,需要相应的“大前端”组织结构相对应。

分类思路

大前端架构思考与选择

 

管理

管理方式跟组织结构相适应,采用职能管理和敏捷管理相结合的方式。

职能管理

“大前端”是按照职能分的,跟后端相对应,是技术部下面的一个子部门,按照职能管理方式进行统一管理。

敏捷管理:

流程

和管理模式相对应,采用瀑布模型和敏捷模型相结合的方式。

瀑布模型

职能型组织,采用瀑布模型的开发流程是合适的。产品部,技术部,测试部一般跟产品开发相关度比较大,按照瀑布模型联系起来。这里考虑前后端分离的开发模式,“大前端”可以独立完成开发闭环,虽然BFF层的数据是Mock的。
另外,大前端版本的开发要求领先后端一个版本以上,这样也方便对于后端服务的测试。简单讲,就是将通常的“后端功能推动型”改为“大前端产品拉动型”

敏捷模型

产品,测试,大前端可以考虑合作,按照敏捷模型进行开发。目的是打破部门墙,加强沟通;以业务开发为共同目标,形成合力。

特殊之处

Mock数据

内部版本

需求拉动

平稳的节奏

重视重构

重视预研

面向BFF编程

效率和安全并重

思考

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>