美文网首页
前后端分离 学习笔记

前后端分离 学习笔记

作者: 许小花花 | 来源:发表于2018-07-24 16:40 被阅读0次

    前言

    随着不同终端(Pad/Mobile/PC)的兴起,对开发人员的要求越来越高,纯浏览器端的响应式已经不能满足用户体验的高要求,我们往往需要针对不同的终端开发定制的版本。为了提升开发效率,前后端分离的需求越来越被重视,后端负责业务/数据接口,前端负责展现/交互逻辑,同一份数据接口,我们可以定制开发多个版本。

    一、什么是前后端分离

    • 前端:负责 View 和 Controller 层。
    • 后端:只负责 Model 层,业务处理/数据等。


      分离概述

    二、为什么要前后端分离

    • 1.前后端职责不清
      在业务逻辑复杂的系统里,我们最怕维护前后端混杂在一起的代码,因为没有约束,M-V-C 每一层都可能出现别的层的代码,日积月累,完全没有维护性可言。
      虽然前后端分离没办法完全解决这种问题,但是可以大大缓解。因为从物理层次上保证了你不可能这么做。
    • 2.开发效率问题

    三、疑问

      1. 为什么要增加一层 Node.js?
        1)现阶段我们主要以后端 MVC 的模式进行开发,这种模式严重阻碍了前端开发效率,也让后端不能专注于业务开发。
        解决方案是让前端能控制 Controller 层,但是如果在现有技术体系下很难做到,因为不可能让所有前端都学 Java,安装后端的开发环境,写 VM。
        Node.js 就能很好的解决这个问题,我们无需学习一门新的语言,就能做到以前开发帮我们做的事情,一切都显得那么自然。
        2)引入nodejs主要是为了分层开发,职责划分,nodejs作为前端服务器,由前端开发人员负责,前端开发人员不需要知道java后台是如何实现的,也不需要知道API接口是如何实现的,我们只需要关心我们前端的开发工作,并且管理好nodejs前端服务器,而后台开发人员也不需要考虑如何前端是如何部署的,他只需要做好自己擅长的部分,提供好API接口就可以。
        3)nodejs本身有着独特的异步、非阻塞I/O的特点,这也就意味着他特别适合I/O密集型操作,在处理并发量比较大的请求上能力比较强,因此,利用它来充当前端服务器,向客户端提供静态文件以及响应客户端的请求,是一个很不错的选择。

    相关文章

      网友评论

          本文标题:前后端分离 学习笔记

          本文链接:https://www.haomeiwen.com/subject/sdhopftx.html