扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
本篇内容介绍了“web前后端分离实践分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
成都创新互联公司长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为钟楼企业提供专业的成都做网站、网站设计,钟楼网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。
前端人员配备是否充足?
由于所在公司以往项目采用传统开发风格,即以后端 MVC 为主的开发模式,前端人员仅仅提供静态 html 页面,其余工作皆由后端开发人员完成。采用前后端分离模式可以减后台负担,加快研发效率,当然,前提是前端能做好的话。
以往只需要提供静态页面的前端人员,在前后端分离模式中要负责项目的 view+controller 部分,即除了静态页面,还需要负责页面的所有交互代码、以及 nodejs 与视图层以及后端 API 的交互工作,无疑增加了前端人员的学习成本,在没有足够知识和人才储备的情况下,只能让前端人员加班加点。
前后端职责分配
很多公司认为采用前后端分离之后,前后端只需要通过指定 API 进行交互即可,前端负责页面渲染, Nodejs 负责路由分配,后端提供 API 。忽视了大量关键工作,职责分配和细节处理没有相应文档规定,缓存机制、图片上传下载、数据校验、语言国际化等等并没有出具相应信息。另外,大量忽视了 nodejs 层的作用,仅仅把 nodejs 当成一个路由中转,这一方面也是对 nodejs 技术的不熟悉导致的,其实 nodejs 能负责很多事,除了复杂业务逻辑处理和数据操作由 Java 负责,大量工作完全可以在 nodejs 层处理。
后端 API 是否 RESTFul 风格?
很多公司采用了前后端分离模式后,后端 API 仍然采用以往的传统风格,这是不合理的。
RESTFul 风格的 API 应该是前后端分离的最佳实践。RESTFul 推荐每个 URL 能操作具体的资源,而且能准确描述服务器对资源的处理动作,通常服务器对资源支持 get/post/put/delete/ 等,用来实现资源的增删改查。
前后端分离的话,这些 api-url 是对接的桥梁,采用 RESTFul 接口地址含义才更清晰、见名知意。
前后端协作模式
前后端分离后,无论是 API 接口的对接还是测试工作,都涉及到前后端人员的沟通,很多公司采用前后端分离后,前后端协作模式配合力度低,互相等待,开发效率低下,反而不如传统的开发模式。例如:当后端 API 没有编写完成时,前端无法进行调试,这就导致了前端会被后端阻塞的情况。其实像这种互相等待的模式需要改进, Mock Server 可能可以解决一些问题。
如何前后端分离?
怎么做前后端分离?大方向就是
后端专注于:后端控制层( RESTFul API) & 服务层 & 数据访问层。
前端专注于:前端控制层(Nodejs) & 视图层
本人认为的前后端分离模式应该是这样:
项目设计阶段,前后端架构负责人将项目整体进行分析,讨论并确定 API 风格、职责分配、开发协助模式,确定人员配备;设计确定后,前后端人员共同制定开发接口。
项目开发阶段,前后端分离是各自分工,协同敏捷开发,后端提供 RESTFul API,并给出详细文档说明,前端人员进行页面渲染。前端的任务是发送API请(GET,PUT,POST,DELETE 等)获取数据(json,xml)后渲染页面。
项目测试阶段, API 完成之前,前端人员会使用 mock server 进行模拟测试,后端人员采用 junit 进行 API 单元测试,不用互相等待;API 完成之后,前后端再对接测试一下就可以了,当然并不是所有的接口都可以提前定义,有一些是在开发过程中进行调整的。
项目部署阶段,利用 nginx 做反向代理,即 Java + nodejs + nginx 方式进行。
“web前后端分离实践分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流