前后端分离优缺点

之前有朋友问我:什么是前后端分离。他说北度搜到的都是大篇幅文章,看完还是很懵。

这里我简单总结下,如果有疏漏和不对的地方还请路过的网友指出。

一、先用一张图来解释

二、为什么要前后端分离(优点)

1. 全端适应

PC、APP、PAD等。

2. SPA开发模式开始流行

SPA即Single Page Web Application,俗称单页应用。

3. 前后端开发职责不清

比如JSP、PHP页面,到底是由前端写还是后端写 (所有的模板语言会遇到这样的问题)。

4. 开发效率问题,前后端互相等待

要把html转成template等,效率比较低。

5. 前端一直配合着后端,能力受限

很多交互逻辑要在template里面由后端实现,前端只负责提供静态html,对前端工程师的能力提高不利。

6. 后台开发语言和模板高度耦合,导致开发语言依赖严重

比如后端是Java写的,后期要换成Python,可是模板中嵌入了很多Java语法,等于要重写整个template。

三、前后端分离缺点

1. 前端学习门槛增加、前端工作量加大

前端需要实现一部分的交互逻辑。

2. 数据依赖导致文档重要性增加

接口文档需要很详细,且要及时更新。(一个段子,程序员最痛恨两件事:1.别人的代码没写文档,2.写文档)

3. SEO难度加大

前端渲染的页面不利于搜索引擎爬虫爬取,但有办法解决的,即SSR策略。(以vue为例可以参考这个链接:https://segmentfault.com/a/1190000007933349)

四、综上

1. 一种趋势

前后端分离有一些缺点,但都是可以想办法解决的,总的来说优点大于缺点,而且也是一种趋势。

2. 不过在一些场合其实也没有必要前后端分离

比如写个人网站、内部小运维系统等。这些一般情况下都是一个人完成的,如果前后端分离写,就有frontend和backend两套代码要写,打开两个IDE,颇有左右手互搏的感觉。

当然如果为了练习和学习,写个这样的博客系统也是不错的。

五、补充知识点 - restful api

restful api目前是前后端分离最佳实现

restful api是一种规范,作为开发时的标准

轻量,直接通过http。不需要额外的协议,post/get/put/delete操作

面向资源,一目了然,具有自解释性。比如看请求头delete就知道是删除动作。

数据描述简单,一般通过json或者xml做数据通信

前后端分离php还有优势,前后端分离优缺点相关推荐

  1. 前后端不分离到分离演变,优势,前后端接口联调,排错

    前后端分离,不分离简介 前言 前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦,并且前后端分离会为以后的大型分布式架构 ...

  2. 为什么ajax请求进不来后端路由_为什么要前后端分离?前后端分离的优点是什么?...

    随着互联网的高速发展以及IT开发技术的升级,前后端分离已成为互联网项目开发的业界标准使用方式.在实际工作中,前后端的接口联调对接工作量占HTML5大前端人员日常工作的30%-50%,甚至会更高.接下来 ...

  3. springboot jwt token前后端分离_为什么要 前后端分离 ?

    作 者:互扯程序 来 源:互扯程序 广而告之:由于此订阅号换了个皮肤,系统自动取消了读者的公众号置顶.导致用户接受文章不及时.您可以打开订阅号,选择置顶(星标)公众号,重磅干货,第一时间送达! 本文知 ...

  4. shiro前后端分离_为什么要前后端分离?前后端分离的优点是什么?

    随着互联网的高速发展以及IT开发技术的升级,前后端分离已成为互联网项目开发的业界标准使用方式.在实际工作中,前后端的接口联调对接工作量占HTML5大前端人员日常工作的30%-50%,甚至会更高.接下来 ...

  5. vue后端必须接口吗_前后端分离模式,后端说开发完才能给接口文档,合理吗

    背景: 汇总了下老王在其他平台的原创回复,欢迎关注老王原创公众号[软件老王],关注不迷路. 一.后端开发完接口才给出接口文档,合理吗? 本人所在的项目组做项目过程中,后端不会先给出接口文档,而是要等他 ...

  6. java web的动静分离_如何做前后端动静分离

    我们的 ERP 系统就是前后端完全分离,毫无关联. 后端用的是改造的 Laravel 框架,将业务拆分.路由拆分,来分离后端复杂的权限验证,同时对外依旧是简单明确的 RESTful API. 前端采用 ...

  7. rsa前后端加密流程_不懂前后端分离?这篇就够了

    一 传统的开发模式 前后端分离前我们的开发协作模式一般是这样的: 前端写好静态的HTML页面交付给后端开发.静态页面可以本地开发,也无需考虑业务逻辑只需要实现View即可. 后端使用模板引擎去套模板, ...

  8. 前后端混合开发模式和前后端分离开发模式

    前后端混合开发模式和前后端分离开发模式 一.前后端混合开发模式 二.前后端分离开发模式

  9. SpringBoot+MyBatisPlus+Vue 前后端分离项目快速搭建【后端篇】【快速生成后端代码、封装结果集、增删改查、模糊查找】【毕设基础框架】

    前后端分离项目快速搭建[后端篇] 数据库准备 后端搭建 1.快速创建个SpringBoot项目 2.引入依赖 3.编写代码快速生成代码 4.运行代码生成器生成代码 5.编写application.pr ...

  10. Java 动静分离_如何做前后端动静分离

    我们的 ERP 系统就是前后端完全分离,毫无关联. 后端用的是改造的 Laravel 框架,将业务拆分.路由拆分,来分离后端复杂的权限验证,同时对外依旧是简单明确的 RESTful API. 前端采用 ...

最新文章

  1. validate做前端表单验证
  2. 联想台式计算机设置双层密码,联想电脑怎样设密码?联想电脑设置密码方法步骤【图文】...
  3. 图集cancelButtonIndex,发送通知简洁写法
  4. spring学习(2):初始化spring程序
  5. python choose语句作用_理解闭包是如何与变量作用域相互影响的
  6. 我学到的5件事,指导2,500名有抱负的开发人员
  7. 通过例子理解事务的4种隔离级别
  8. layui遇见的问题
  9. 数据流中的中位数 Find Median from Data Stream
  10. 正则---让人喜欢让人忧(3)
  11. (转)Matlab映射表数据结构(containers.Map)
  12. arm架构安装rxtx_Ubuntu下安装和配置RXTX实现串口通讯
  13. 计算机程序设计艺术初读感
  14. iphone11右上角信号显示_原来,iOS 11移动信号图标里竟然隐藏着 iPhone 8的巨大秘密...
  15. 锁定计算机重启会变更ip吗,计算机更改IP不需要重启的方法
  16. excel切片器_数据可视化小助手EXCEL切片器
  17. R语言GO富集分析报错求助
  18. htmlmo标签,index.html
  19. vue el-select远程搜索
  20. 基于Google 验证器 实现内网的双因素认证

热门文章

  1. 5.1索引压缩-词项的统计特性(Heaps定律、Zipf定律)
  2. 11月全国程序员平均工资出炉,网友:我丢了同行的脸
  3. 华为HCIE认证考云计算、数通还是存储?
  4. STM32内部Flash使用磨损均衡算法(Erase Leveling)
  5. Go基础:延迟调用defer、异常处理
  6. 什么是ANC降噪技术?耳机工厂来告诉你
  7. 我的职业梦计算机软件,我的职业梦作文1000字
  8. VMware vSphere 7 vCenter 7 ESXi 7 正式版 免费下载
  9. 如何在python同一行内输入若干个数?
  10. css修改文字竖排还是横排