python后端开发的缺点_前后端分离优缺点
前后端分离优缺点
之前有朋友问我:什么是前后端分离。他说北度搜到的都是大篇幅文章,看完还是很懵。
这里我简单总结下,如果有疏漏和不对的地方还请路过的网友指出。
一、先用一张图来解释
二、为什么要前后端分离(优点)
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做数据通信
python后端开发的缺点_前后端分离优缺点相关推荐
- vue后端必须接口吗_前后端分离模式,后端说开发完才能给接口文档,合理吗
背景: 汇总了下老王在其他平台的原创回复,欢迎关注老王原创公众号[软件老王],关注不迷路. 一.后端开发完接口才给出接口文档,合理吗? 本人所在的项目组做项目过程中,后端不会先给出接口文档,而是要等他 ...
- python后端开发学路线_【后端开发】Python要学哪些内容?Python程序员学习路线图...
很多零基础入门学习python不知道学习什么?也不知道Python要学哪些内容?下ki4网为您总结一下Python程序员学习路线图. python的应用范围是很广泛的,例如一些网络的爬虫,和web的开 ...
- web后端开发学习路线_学习后端Web开发的最佳方法
web后端开发学习路线 My previous article described how you can get into frontend development. It also discuss ...
- java前后端用json传值_前后端——json的传值与接收(springMvc)
原标题:前后端--json的传值与接收(springMvc) 前端传值: 通过将要传输的数据封装为json,然后再通过ajax接收: JSON.stringify(data) 1 后端接收值只需要通过 ...
- python安装环境傻瓜式安装_前后端分离——前端开发环境傻瓜式一步到位 nodejs ruby python nginx 安装搭建配置...
前端开发环境一步到位 一.准备工作 nodejs安装 安装:next->next.... Ruby安装 安装:next->next.... 需要配置到path:将安装目录复制到环境变量中, ...
- python 抖音第三方登录_前后端分离抖音第三方授权登录
现在我做的项目需要支持使用抖音账号登录,并且可以管理自己的抖音号,所以我需要拿到抖音用户的身份验证 access_token,这篇文章记录一下抖音授权登录的流程. 抖音开放平台提供了授权相关的接口和文 ...
- python做后端开发的优点_【后端开发】python语言的特点是什么
python语言的特点是什么? python语言的特点 简单 Python是一门简单而文字简约的语言.阅读好的Python程序感觉就像阅读英语,尽管是非常严格的英语.Python的这种伪代码特性是其最 ...
- 前后端开发的心得体会_前后端对接的思考及总结
说在前面的话 随着前端NodeJs技术的火爆,现在的前端已经非以前传统意义上的前端了,各种前端框架(Vue.React.Angular......)井喷式发展,配合NodeJs服务端渲染引擎,目前前端 ...
- 移动端开发者眼中的前端开发流程变迁与前后端分离
写在最开始 这是一篇面向移动端开发者的科普性文章,从前端开发的最初流程开始,结合示范代码,讨论开发流程的演变过程,希望能覆盖一部分前端开发技术栈,从而对前端开发的相关概念形成初步的认识. 本文会提供一 ...
最新文章
- Linux查看谁修改的文件,linux如何查看近来修改的文件
- C# 发邮件 服务器响应为: 5.7.0 Must issue a STARTTLS command first
- thinkphp5带条件分页
- 英伟达最大gpu_英伟达正式发布Ampere架构GPU,完成史上最大性能飞跃
- SqlException (0x80131904): 将截断字符串或二进制数据。
- codeforces G - Almost Increasing Array 动态规划、动态开点线段树
- linux windows 域,linux加入windows域之完美解决方案
- 不要再纠结卷积的公式啦!0公式深度解析全连接前馈网络与卷积神经网络!
- Security+ 学习笔记45 移动设备安全
- atat 编译安装测试说明
- Modbus驱动库—libmodbus驱动库的使用
- Context是什么
- 拼写单词 给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。 假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符
- 数据分析36计(19):美国生鲜配送平台【Instacart】如何实现按时配送——使用分位数回归...
- timestamp 6 mysql_Oracle timestamp(6)运用
- c语言中用rgb改颜色字体,C语言颜色转换宏
- matlab教程 for循环,Matlab for循环使用操作教程分享
- ET在课堂:S4A,新的重组方案
- 数字图像处理之第三章
- PageHelper的使用
热门文章
- 如何完全清除linux内核,清除旧的Linux内核
- JavaScript中的对象,如何创建对象,创建对象的7种模式
- ajax方法怎么用,ajax的使用方法
- 《MySQL数据库用户模块需求分析》
- PCL——超体素(SuperVoxel)、超体聚类分割
- cf Sonya and Robots
- 浅谈 D-Bus、udevd 和 hald
- 2017711010137 赵栋 《面向对象程序设计》第四章学习总结
- python实验过程心得体会_web实训心得体会
- java大写英文字母_输出一个字符串中的大写英文字母数,小写英文字母数以及非英文字母(.java)...