(1). 定义:
①. 研发人员分离
②. 业务代码分离
③. 后端实现业务接口,前端渲染页面.
(2). 技术实现:
①. 后端:
a. 只负责功能接口实现
b. 提供按照约定的数据格式并封装好的API接口.
②. 前端:
a. 负责业务具体实现
b. 获取到API接口数据后,进行页面模板拼接、渲染、交互.
c. 不依赖接口上线,可以独立上线.
(3). 协作方式:
①. 前端负责实现前端页面结构与交互,根据后端API接口拼装前端模板.
②. 后端专注于业务功能实现和API接口封装.
(4). 技术优势:
①. 团队更加专注
②. 提升了开发效率:
a. 需求变动时,需要切页面给后端.
③. 增加代码可维护性:
a. jsp代码嵌套.
(5). 技术架构:
①. 后端架构:
a. Java、PHP + Nginx
b. 使用微服务(如dubbo等)等实现业务的解耦
c. 所有的服务使用某种协议提供不同的服务(如JSF等).
②. 前端架构:
a. 使用Angular、React、Vue前端框架打包生成静态页面.
b. 部署页面至CDN或Node Server.
(6). 技术不足:
①. 前端:
a. 需要负责一大部分业务逻辑实现
b. 与服务端同步、静态化
c. 需要前端人力非常多.
②. 页面数据异步渲染,不利于SEO,搜索引擎更喜欢纯静态页面.
(7). 选型建议:
①. 大型互联网公司正在采用的开发模式.
②. 如果考虑用户体验,以及前端人力足够,就可以积极采用.