什么是前后端分离,怎么去区分前后端呢,我们简单的可以认为,只要是我们用肉眼可以看到的就是前端,其余的就是后端。在传统的像ASP,JSP和PHP等开发模式中,前端是处在一个模糊的状态中,可以说是没有独立的。
前端负责切图和编写静态页面模板,后端将数据渲染到前端提供的页面模板中,最后将页面渲染到浏览器展示。这个过程中,前端只提供页面模板或者写一些JavaScript脚本,有的甚至JS脚本都是后端来写,前端的作用只局限于切图和样式模板文件,这种角色就是传说中的“切图仔”。
这也是为什么行业内都觉得前端是一个很简单的工作,只要花个一周,学下HTML、CSS和PS的简单技巧就可以胜任的工作。现在看来,那时候的前端就是一个打酱油的,发展前景很有限。那时候的JavaScript脚本也比较简单,一个jQuery就可以横扫天下,所以对于精通语言类代码的后端程序员来说,可以很快的上手JavaScript,对前端来说,发展空间就更小了。
前后端分离,也就不只是简单的代码的分离。首先是要架构上分离解耦,逐渐摆脱前后端在架构上的依赖,前后端各司其职,分开部署在不同的服务器上,通过RESTful接口传递数据。减轻后端服务器的压力,后端服务器不再负责页面渲染,只负责输入数据,吞吐量提升了好几倍。
其次是逻辑分离,不分离的时候,对于业务代码的界限很不明确,业务逻辑基本都放在后端,分离之后,前端也承担了一部分不该后端来写的业务逻辑,数据处理更加清晰。最后是系统分离,同一个后端系统,可以将同样的接口数据提供给PC端、Mobile端和Native端等不同的前端终端,不需要为每一种终端提供一套接口。
同样,对于前端的应用,调用多个后端服务器的接口来处理和显示多个系统之间的数据更为方便。
为什么要前后端分离前后端分离,让软件开发的流程更加清晰,解决了开发阶段的痛点。
在过去,前端不仅要学习后端模板呈现语法,还必须配置后端开发环境并保持同步后端代码,这对前端来说是非常痛苦的。现在,前端有自己的服务器,不需要依赖后端服务器来支持项目操作。如果在开发阶段使用mock(要先和后端确定接口数据结构)结构,就可以摆脱对后端接口的依赖,大大提高了开发效率,系统分工更加明确。
上一篇: 如何学习好前端框架
下一篇: 对于前端你不知道的那些坑