前后端分离的那些事

作者 新城 日期 2018-07-18
前后端分离的那些事

参考 https://github.com/genify/ita1024/blob/master/%E7%BD%91%E6%98%93%E5%89%8D%E5%90%8E%E7%AB%AF%E5%88%86%E7%A6%BB%E5%AE%9E%E8%B7%B5.md

为什么前后端需要分离

传统模式 mvc mvvm

mvc
mvvm

简称 MVVM是Model-View-ViewModel的缩写。

由来
1.纯静态网站
2.网站少量数据的改变 导致asp jsp的诞生
3.95年之后javascript可以动态修改网页内容
4.mvc产生 可以修改客户端数据 可以修改服务器端数据
5.技术发展跟不上需求 导致mvvm出现
6.v vm m view viewModel modal(客户端model) 真是的model存在靠近数据库的地方

什么是前后端分离

遇到的问题

模版层归属于谁?

缺点
  1. 后端不擅长写前端js 导致开发效率受影响
  2. 前端写的话需要配置后台项目 每次更新数据重启项目比较繁琐
  3. 接口文档不好管理
  4. 联调比较繁琐

前端
数据展现 用户基本交互 提升用户体验

后台 基本分层
Controller Web主要负责接收前端的Http请求,对数据做初步校验,然后将数据封装,传给业务层 模版渲染
业务服务层(处理业务逻辑) 处理基本业务逻辑
数据服务层(持久化) 数据库层对数据的储存

前后端分离的原因(解决方案)

APS

在这种方式中 前后端交互的方式变成纯粹的json交互模式

** 优点

1. 前后端约定接口数据格式之后,相互独立开发 彼此不受影响 提升开发效率
2. 交互方式的改变 使得前端开发更加自由 本地可以mock数据进行基本交互的处理
3. 每次交互传输json数据节省了服务器带宽 提升用户体检

** 缺点

1. SPA应用对SEO不友好
2. 首屏加载慢 必须等待所有js文件加载完毕之后 才能显示出页面 (解决方法路由懒加载 或者 在首页id=app中写伪样式框架提升用户体验)
3. api的暴露相对降低了系统的安全性

优化开发阶段

  1. 接口定义
  2. 开发
  3. 联调
代理转发

抽出一会事件看了阮一峰老师未来世界的幸存者,让我感受颇深 。
技术在发展的同时是不是也在侵蚀我我们每一个人的灵魂。
对未来的自己,以及未来的世界既充满了希望,又充满了恐惧。
因为深处在北京的我见识过2016-2018年北京的巨大变化,有的人有的公司 一夜成名。也有的人一夜之间倾家荡产。
当然每个人都碰破了头的在北京闯荡,有的人希望永远的能留在北京 ,有的人为了钱,有的人为了生存 每个人的目的不尽相同