1.到底什么是前后端分离?
2.静态资源和数据接口被部署在两个不同的服务上就算前后端分离?
3.接第二个问题,如果A服务器只负责部署页面,并且静态资源(html模板)用jsp,jsp输出的html经过浏览器渲染之后又依靠js异步从另一个服务取得所有动态数据再填充到html渲染,那这算不算前后端分离?
前后端分离的意思是让负责写展示代码的人和写业务逻辑代码的人能够尽量少的交流。尽量确定尽量少的接口,两部分人的开发可以相互独立,不需要其中一个写完才能写另一个,可以独立测试。
1.首先要知道所有的程序都是一数据为基础的,没有数据的程序没有实际意义,程序的本质就是对程序的增删改查。
2.前后端分离就是把数据操作和显示分离出来。前端专注做数据显示,通过文字,图片或者图标等方式让数据形象直观的显示出来。后端专注做数据的操作。前端把数据发给后端,有后端对数据进行修改。
前后端分离是一种架构思想,而不是一个具体的执行准则。简单来说,就是希望后端处理业务逻辑,前端处理展示逻辑。例如velocity这样的模版技术,就是前后端分离的例子。理想来说,前端负责写模版,后端负责写渲染数据的逻辑,这样业务逻辑的改动后端就可以独立完成,展示逻辑的改动前端就可以独立完成,互不干扰。但是这个多半太理想化,实际执行的时候,很多时候是既要改业务逻辑,也要改展示逻辑的,这个时候,还是需要前后端合作来完成整个需求。只是前后端分离后,双方修改的东西是明确分离的,方便发布和测试。
个人以为可以用RESTful Web service的概念来理解。
Rest应用接收json, yaml, xml等输入,返回是同样结构的输出。只处理业务逻辑,数据库相关操作,与显示界面完全解耦。
前端的Rect, Vue等大型框架会提供处理UI逻辑的完整框架,前端只通过Restful API接口与后端通信。前端逻辑运行在客户端。
两者分别独立开发,并不像jsp一样强耦合。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。