博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
什么是前后端分离
阅读量:4034 次
发布时间:2019-05-24

本文共 1097 字,大约阅读时间需要 3 分钟。

什么是前后端分离?对前后端分离的理解?一个项目该如可实施前后端分离?

1.工程化的考量

​ 之前的前端开发不受重视,比如JSP前后端耦合在一起去做,随着现在需求越来越广泛,前端页面越来越复杂,像JSP这种套模板的技术没法帮助高校开发,本质在于前端没有工程化,模块化和可服用化。从项目管理角度,这种开发方式效率低。

​ 基于解耦的原则,高内聚,低耦合。前后端分开做。前端从后端脱离,让前端用工程化和项目化的思维去做,应对前端越来越复杂的形势,。是一个工程化的考量以及项目管理的问题。

​ 这是前后端分离出现的根源。

2.如何解决技术问题

​ 前后端分离不是技术的问题,是工程化考量和项目管理的问题。 前期的前端开发,基于代码的拼凑,复制,非常琐碎,没有向后端这样一套的体系,所以出现了这种vue框架,从本质上颠覆了前端开发的游戏规则。 这些框架称为前端开发组件化框架,或者是前端开发的工程化框架。开始用一套体系来约束开发过程,前端代码更加可复用。

3.前后端分离如何去实施

前后端分离应该涉及到 软件开发四步的每一步中去: 设计-》开发–》测试-》部署

  • 设计阶段

    ​ 前端也应该像后端一样,进行架构的设计,考虑性能、容量、可维护性这些内容。 前端非常复杂的话,也要做好充分的规划和准备,满足长期可演进可迭代的目标。

    ​ 接口设计一定要到位。

  • 开发阶段

    • 前后端各自按照实现约定的接口独立去开发,前后端因为一个接口问题一直交涉的话,那一定是存在耦合了。

    • 前端现在又很多很火的组件比如VUE,可以实现独立驱动页面独立开发,数据也可以从事先规划好的mock服务器去拿,数据事模拟的,不需要依赖于实时的后端接口,后端只需要独立的写好自己的接口就好,按照之前的接口约定提供数据。

    • 并且前后端分离之后,后端一套接口可以提供给很多类型的前端使用。比如web,小程序、web页面等。

  • 测试阶段

    前后端独立可测试。

    • 前端主要测试:页面的跳转、展示、输入、传参、响应等等
    • 后端主要保证数据接口的提供、数据格式的校验、异常、数据一致性问题、权限问题等等
  • 部署阶段

    **前后端独立可部署。**前后端的发布上线也独立,双方可以按照各自的版本规划来发布。前端发版本不受后端约束,后端发版本前端也可以完全不知道。

**总的来说,前后端分离,就是前端不再向之前一样套在后端内,依赖后端了。 而是前后端的一切都可以独立去做了。**前后端分离本身并不是一个技术问题。而是一个工程考量的问题。

前后端分离的确适合复杂项目。但是也有缺点:

  • 绝对避免为了前后端分离而去做前后端分离。前后端分离需要成本。
  • 并不是所有的项目都适合前后端分离,要看性价比。

5.学习资源

转载地址:http://hsfdi.baihongyu.com/

你可能感兴趣的文章
JavaScript基础知识(2)
查看>>
转载一个webview开车指南以及实际项目中的使用
查看>>
android中对于非属性动画的整理
查看>>
一个简单的TabLayout的使用
查看>>
ReactNative使用Redux例子
查看>>
Promise的基本使用
查看>>
android给文字加边框(修改不能居中的问题)
查看>>
coursesa课程 Python 3 programming 统计文件有多少单词
查看>>
coursesa课程 Python 3 programming 输出每一行句子的第三个单词
查看>>
coursesa课程 Python 3 programming Dictionary methods 字典的方法
查看>>
Returning a value from a function
查看>>
coursesa课程 Python 3 programming Functions can call other functions 函数调用另一个函数
查看>>
coursesa课程 Python 3 programming The while Statement
查看>>
course_2_assessment_6
查看>>
coursesa课程 Python 3 programming course_2_assessment_7 多参数函数练习题
查看>>
coursesa课程 Python 3 programming course_2_assessment_8 sorted练习题
查看>>
在unity中建立最小的shader(Minimal Shader)
查看>>
1.3 Debugging of Shaders (调试着色器)
查看>>
关于phpcms中模块_tag.class.php中的pc_tag()方法的含义
查看>>
vsftp 配置具有匿名登录也有系统用户登录,系统用户有管理权限,匿名只有下载权限。
查看>>