什么是前后端分离与前后端不分离

时间:2021-01-02 21:09:36

  我起初认为前后端分离是,在软件开发过程中前后端分工就叫做前后端分离,其实是前端所有用到的数据都是后端通过异步接口的方式提供的,前端只管页面的展示及效果。

 

  前端和后端不分离的时候,前端的页面也是由后端控制渲染的,两者的耦合度非常高。在业务逻辑复杂的系统里,我们最怕维护前后端混杂在一起的代码,因为没有约束,M-V-C每一层都可能出现别的层的代码,日积月累,完全没有维护性可言。这个时候出现了前后端分离这种模式,虽然前后端分离没办法完全解决这种问题,但是可以大大缓解。

 

  那该怎么做到前后端分离呢?

 

  前端:负责ViewController层。

  后端:负责Model层,业务处理/数据等。

 

什么是前后端分离与前后端不分离

 

 

  试想一下,如果前端掌握了Controller,我们可以做url design,我们可以根据场景决定在服务端同步渲染,还是根据view层数据输出json数据,我们还可以根据表现层需求很容易的做Bigpipe,Comet,Socket等等,完全是需求决定使用方式。

 

  前后端分离的好处有哪些?

 

  首先,前端代码中不再需要嵌入后端的代码,降低了前后端的耦合性,也使前端代码的可读性大大提高了。

  其次,前后端分离使得双方的任务更加的明确,并且开发时可以前后端并行开发,使得开发效率更高,也更灵活。

  最后,因为双方的分工明确,代码可读性提高,也降低了后期的维护成本

  

  小结:

  我觉得前后端分离的好处很多,但是也不一定适合全部的情况,具体前端和后端是否分离还是要视情况而定。