今天这篇文章来分析一下什么是前后端分离的相关知识,很多小伙伴不清楚到底什么是前端,什么是后端,什么是前后端分离。在说前后端分离之前,我们先要弄清楚这几个概念,大家可能经常听到前端,后端或者是大前端的一些概念,这些概念是怎么产生的呢?什么是前端,什么是后端,什么是前后端不分离?只有了解了这些,那么前后端分离你就懂了。
首先我讲一下什么是前端,在讲前端之前我先问大家一个问题,我们经常提到的JavaScript是前端吗?用JS写的程序是前端吗?还是说只有前端工程师写的程序才叫前端?我常提到HTML,CSS这是前端吗?或者是我们常用的一些APP,或者是一些小程序,这些是前端吗?那么大前端又是什么呢?这些问题抛出来以后,刚开始学习编程的同学估计都有想放弃学习编程的这种想法了。
没有关系,也没有你想的那么复杂。在通常的情况下,我们说的这个前端都是指浏览器这一端,而浏览器这一端通常是用JS来实现的,所以用JS写大部分的程序都是前端,包括APP,包括小程序和H5等。而当nodeJS出现以后,用nodeJS写的后台部分,也会被人归为前端,为了区分之前的前端,给他起了一个名字叫做大前端。但是呢我们想一下,用这种语言来区分前后端他真的合适吗?我其实是持有保留态度的。
对于前后端的定义,我认为他不应该是以语言来定义,而是应该以他的运行环境去定义,如果实在服务端器的话,应该被称为后端,因为什么呢?因为你既看不到也摸不着。而运行在客户端,就应该被称为前端,因为你能够看得到。
我们再看一下什么是前后端不分离,在移动互联出现之前,有一种流行的说法叫做B/S和C/S架构,C/S架构指的就是ClientServer,意思就是说在桌面程序上有一个客户端,然后连接远程的这个服务器端,用socket或者是