前端知识体系

当前,三大主流前端框架分别是React、Vue、Angular这三个框架

一 , 了解前后端分离的演变史

1 . 1 后端为主的 MVC 时代

  • 为了降低开发的复杂度, 以后端为出发点, 就是后端的 MVC 时代
    在这里插入图片描述

  • 发起请求到 前端控制器 ( DispatcherServlet )

  • 前端控制请求 HandlerMapping 查找 Handler 可以根据 xml 配置, 注解进行查找

  • 处理器映射器 HandlerMapping 向前端控制器返回 Handler

  • 前端控制器调用处理器适配器去执行 Handler

  • 处理器适配器去执行 Handler

  • Handler 执行完成给适配器返回 ModelAndView

  • 处理器适配器向前端控制器返回 ModelAndView ModelAndViewSpringMVC 框架 的一个底层对象, 包括 ModelView

  • 前端控制器请求视图解析器去进行视图解析, 根据逻辑视图名解析成真正的视图 JSP

  • 视图解析器向前端控制器返回 View

  • 前端控制器进行视图渲染, 视图渲染将模型数据在 ModelAndView 对象 填充到 request

  • 前端控制器向用户响应结果

  • 优点 :

    • MVC 是一个很好的协作模式, 能够有效降低代码的耦合度, 从架构上能够让开发者明白代码应该写在哪里, 为了能够让 View 更纯粹, 还可以使用 Thymeleaf, Freemarker 等模板引擎, 使模板里无法写入 Java 代码, 让前后端分工更加清晰
  • 缺点 :

    • 前端开发重度依赖开发环境, 开发效率低, 这种架构下, 前后端协作有两种模式 :
      • 第一种 是前端写 DEMO, 写好后, 让后端去套模板, 好处是 DEMO 可以本地开发, 很高效, 不足时还需要后端套模板, 有可能套错, 套完后还需要前端确定, 来回沟通调整的成本比较大
      • 另一种协作模式就是前端负责浏览器的所有开发和服务器的 View 层模板开发, 好处是 UI 相关的代码都是前端去写就好, 后端不太关注, 不足就是前端开发重度绑定后端环境, 环境成为影响前端开发效率的重要因素
    • 前后端职责纠缠不清 : 模板引擎功能强大, 依旧可以通过拿到的上下文变量来实现各种业务逻辑, 这样,只要前端弱势一点, 往往就会被后端要求在模板层写出不少业务代码, 还有一个很大的灰色地带是 Controller , 页面路由等功能本该是前端最关注的,但却是由后端来实现, Controller 本身与 Model 往往也会纠缠不清, 看了让然咬牙的业务代码经常会出现在 Controller 层, 这些问题不能全归于程序员的素养, 否则 JSP 就够了
    • 对前端发挥的局限性 : 性能优化如果只在前端做空间非常有限, 于是我们经常需要后端合作, 但由于后端框架限制, 我们很难使用 [ Comet ], [ BigPipe ] 等技术方案来优化性能
    • 在 2005 年前, 包括早期的 JSP , PHP 可以称为 Web 1.0 时代, 在这里想说一下, 如果是一名Java 初学者, 请不要再把一些陈旧的技术当回事, 比如 JSP, 因为时代在变,技术在变,什么都在变, 唯一不变的就是变化本身

1 . 2 基于 AJAX 带来的 SPA 时代

  • 是啊金回到 2005 年 AJAX 被正式提出并开始使用 CDN 作为静态资源, 于是出现了 JavaScript 王者归来的 SPA 单页面应用时代

在这里插入图片描述

  • 优点 :

    • 这种模式下, 前后端的分工非常清晰, 前后端的关键协作点是 AJAX 接口, 看起来是如此美妙, 但回过头来看看的话, 这与 JSP 时代区别不大, 复杂
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

§九千七§

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值