web系统是否要前后端分离?
开发一个web管理系统,是否要采用如今流行的前后端分离模式?
首先要从为什么会出现前后端分离说起,前后端分离的目的。
1.让前端工程师(前端)和后端工程师(后端)们能够更加专注于自己的领域
传统的开发模式是由前端负责将UI设计好的页面切成对应的静态网页,然后交由后端整合数据,实现网页的数据动态化。
这种开发模式下,前端不会去关注整个系统的业务流程是怎样的,所以导致后端在将拿到的静态页面整合成动态页面时常会出现页面展示与预期的效果不一样,需要前端不断的去调整。而后端则要痛苦的去面对一堆自己并不完全了解的前端代码,有时甚至需要自己动手写js代码。这样就造成了前端对系统理解过低,后端工作量过高,开发效率过慢的情况。
2.让后端开发一次,前端可以随意改变,减少维护成本,缩短开发时长
由于现在网页可以在各种各样的设备浏览,常见的如pc、手机等,这时就需要开发多套兼容不同设备显示的系统。而使用前后端分离的好处立马显现出来,后端只需要开发好一套数据接口,前端开发兼容各种设备的n套网页,将后端写好的数据接口对接到相应的页面上,就可以实现多种设备的浏览。有一句形象的话:“换汤不换药”,无论包装成什么样,数据还是同一套数据。不需要后端针对每一个系统都开发一次。
那么,既然前后端分离的好处这么明显,那干脆就都用前后端分离不就行了,还用讨论什么?
前后端分离固然好,但是并不是每一个项目都需要兼容若干种设备,也并不是每一个开发团队都有分工明确的前端和后端。
想象自然很美好,但是现实往往是残酷的,有时一个项目可能就只有一个开发者,这个开发者既负责前端工作,也负责后端工作,也就是所谓的“全栈工程师”。当一个项目的利润不高,为了减小成本,就只能用一个后端,由后端负责整个系统的开发,而前后端分离相当于要把原来的一套系统,拆分成两套独立的系统——前端系统、后端api系统,很显然,对于一个开发者来说,一套系统肯定比开发两套系统要更简单的多。
说到这里,结论应该很明确了,web系统是否要前后端分离?
要看实际的情况而定,假如是一个分工明确,人数多的项目团队,可以使用前后端分离,这样有利于后期维护。而如果开发人员较少,或者只需要在一种设备上显示这个时候就该考虑放弃使用前后端分离,直接使用传统的开发模式。毕竟巧妇难为无米之炊,只有合适的才是最好的。
web系统是否要前后端分离?的更多相关文章
- Web开发笔记 #06# 前后端分离
前后端分离 关于“前后端分离”的深入讨论: 如何正确理解前后端分离? Web 前后端分离的意义大吗? 在上面有看到有谈“国外it公司分工”的回答,感觉挺有意思的.大概是讲国外it公司并不分前后端,只分 ...
- 基于 koajs 的前后端分离实践
一.什么是前后端分离? 前后端分离的概念和优势在这里不再赘述,有兴趣的同学可以看各个前辈们一系列总结和讨论: 系列文章:前后端分离的思考与实践(1-6) slider: 淘宝前后端分离实践 知乎提问: ...
- Cookie、Session、Token那点事儿和前后端分离之JWT用户认证
(两篇文章转自:https://www.jianshu.com/p/bd1be47a16c1:https://www.jianshu.com/p/180a870a308a) 什么是Cookie? Co ...
- 前后端分离之 跨域和JWT
书接上回:https://www.cnblogs.com/yangyuanhu/p/12081525.html 前后端分离案例 现在把自己当成是前端,要开发一个前后分离的简单页面,用于展示学生信息列表 ...
- 浅谈WEB前后端分离
重审业务逻辑 用过MVC的童鞋都知道业务逻辑(Bussiness Logic),但是大多对这概念又是模棱两可,业务逻辑从来都是这样难以理解,谈论前后端分离之前这个概念非常有必要探讨一下! 在简单的CR ...
- 架构设计:前后端分离之Web前端架构设计
在前面的文章里我谈到了前后端分离的一些看法,这个看法是从宏观的角度来思考的,没有具体的落地实现,今天我将延续上篇文章的主题,从纯前端的架构设计角度谈谈前后端分离的一种具体实现方案,该方案和我原来设想有 ...
- 前后端分离Web项目中,RBAC实现的研究
在前后端分离Web项目中,RBAC实现的研究 最近手头公司的网站项目终于渐渐走出混沌,走上正轨,任务也轻松了一些,终于有时间整理和总结一下之前做的东西. 以往的项目一般使用模板引擎(如ejs)渲染 ...
- 前后端分离之Web前端架构设计
架构设计:前后端分离之Web前端架构设计 在前面的文章里我谈到了前后端分离的一些看法,这个看法是从宏观的角度来思考的,没有具体的落地实现,今天我将延续上篇文章的主题,从纯前端的架构设计角度谈谈前后端分 ...
- ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目
一.前言 这几年前端的发展速度就像坐上了火箭,各种的框架一个接一个的出现,需要学习的东西越来越多,分工也越来越细,作为一个 .NET Web 程序猿,多了解了解行业的发展,让自己扩展出新的技能树,对自 ...
随机推荐
- Educational Codeforces Round 68 差G
Educational Codeforces Round 68 E 题意:有 n 个线段,每个都是平行 x 或者 y 轴,只有互相垂直的两线段才会相交.问形成了多少个矩形. \(n \le 5000, ...
- ubuntu或者raspbian清理软件使用痕迹
拿最常用的nginx举例 删除nginx–purge包括配置文件 sudo apt-get --purge remove nginx 开始使用上面这条,后来发现还是有很多相关联没有删除 首先需要停止n ...
- 如何编译(helloworld)可以在开发板上运行的应用
本节介绍如何编译可以在开发板上运行的应用,编译方法很简单.基于:iTOP4412开发板首先要确定一下环境变量,如下图所示,使用“cd”命令回到根目录,然后使用命令“vim .bashrc”打开环境变量 ...
- node安装依赖
node 版本:v6.11.2 npm 版本:3.10.10 开发(在UI目录下) # 安装依赖 npm install ## 若上述不行则采取下面命令 npm install --regist ...
- L3-016 二叉搜索树的结构 (30 分)
二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值:若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值:它的左.右子树也分别 ...
- 系统学习Javaweb7----JavaScript3
学习内容: 1.JavaScript语法规则----全局函数 2.JavaScript语法规则----自定义函数 3.BOM对象 3.1BOM对象--消息框 3.2BOM对象--循环定时器 3.3BO ...
- TCP\IP协议簇-各层主要协议帧格式
本文只是对各协议的概要,详细请参考rfc文件. 官方下载地址:https://tools.ietf.org/rfc/index rfc中文:http://man.chinaunix.net/devel ...
- seckill
京东自动登录 注:本文所做操作皆以京东web为例 包含:xpath,splinter,ocr 遇到的坑: 登录页面通过查看网页元素,能看到账户,密码唯一id,但是执行 12 browser.fill( ...
- 转:Zabbix 监控sqlserver
一:Zabbix监控sqlserver 方法一: 1.思路整理 1.在zabbix server上安装Freetds.unixODBC.unixODBC-devel使其能够访问SQL Server数据 ...
- Tomcat源码解析-启动过程分析之主干流程
Tomcat启动入口就在脚本startup.sh中,具体脚本可以看tomcat的源码,这个启动脚本主要用来判断环境,找到catalina.sh脚本路径,将启动参数传递给catalina.sh执行.ca ...