您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
程序员该如何正确理解前后端分离?
后端,代码,开发人员程序员该如何正确理解前后端分离?
发布时间:2016-12-08加入收藏来源:互联网点击:
那作为开发者,到底该如何看待和理解前后端分离呢?
如果前后端不分离会怎样?
最早期的网站都是由一个个静态网页组成的,但随着网站规模的变大,如果还是一份份的维护静态网页,那成本过大。我们完全可以把网站模板化,将不同(动态)的内容批量填充进去,这就是动态网站的思想。
于是诞生了很多动态Web开发语言,如:ASP、PHP、JSP等,但是这类动态Web开发语言都有一个特点:属于嵌入式语言,即动态脚本里面掺杂了 HTML、CSS、JS、动态逻辑代码等等。
这种代码模式就是典型的前后端未分离,导致的后果是:代码复杂、耦合度高、维护困难。
什么是前后端分离,前后端分离的好处是什么?
前后端分离其实不是一种技术,而是一种编码思想和风格,将业务场景划分为两大类:
前端:负责控制层(Controller)和显示层(View);
后端:只负责数据模型层(Model)处理业务及数据。
把前端和后端分离后好处很多,比如说:
划清前端和后端开发人员的职责,术有专攻;
相较于嵌入混合式开发,能提升开发效率(混合式开发存在协作成本);
代码解耦,结构清晰,易于维护管理等。
前后端分离的最佳实践
现代的Web开发语言或框架99.99%的都采用了MVC等设计模式,这其实已经算是前后端分离了,但前后端分离的最佳实践应该是这样的:
前端使用MVV*框架,如:Vue、Angular等;
后端提供RESTful API供前端调用。
以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!
回答于 2019-09-11 08:43:50
程序员不需要了解,设计师不需要了解,架构师不需要了解。因为该知道的都知道了,不知道的也不需要知道。
老板需要了解、CTO需要了解。前后端分离应该是从上而下的战略决定,而不是从技术到技术的业务决定。
前后端分离绝对不仅仅是一个技术问题,更是一个综合性规划和管理问题。
1、公司规划和产品规划层面
产品的用户体验对公司很重要,这种情况下前后端分离才很重要,因为这意味着会有更专业的前端开发人员开发前端。所以一般来说ToC的公司前后端应该分离,而ToB要考虑这个问题。
2、人员和组织结构层面
最好有更专业的美工,这很重要,否则这会是用户体验的短板,花钱请个美术专业的美工,比请个很牛逼的前端划得来的多。前后端要分开管理,否则领导的技术经验带来的思维定势会很大的影响很多技术决策。人员成本也是需要考虑的,现在前端的工资虚高。
3、技术层面
这里的重点是前后端结合部分的技术考量。到底是前端为主型还是后端为主型。这就不展开了,一言难尽。
回答于 2019-09-11 08:43:50
前后端分离就是将前端项目与后端项目分为两个项目,各自需要独立部署。前端只需要关注页面的样式与动态数据的解析及渲染,而后端专注于具体业务逻辑。
前后端分离已成为互联网项目开发的业界标准使用方式,前后端分离有效的进行解耦,为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务打下坚定的基础。
像MyApps平台平台采用前后端分离模式,前端采购JQ和VUE架构,可满足不同技术栈的开发人员;后端采用SpringBoot。前端和后端开发人员可以分功负责不同部分。采用SpringBoot微服务架构、支持SpringCloud模式,完善了平台的扩增基础,满足了系统快速开发、灵活拓展、无缝集成和高性能应用等综合能力。平台支持容器化部署,可采用DOCKER、kubernates等部署方式。
回答于 2019-09-11 08:43:50
1、该网站前端变化远比后端变化频繁,则意义大。
2、该网站尚处于原始开发模式,数据逻辑与表现逻辑混杂不清,则意义大。
3、该网站前端团队和后端团队分属两个领导班子,技能点差异很大,则意义大。
4、该网站前端效果绚丽/跨设备兼容要求高,则意义大。
回答于 2019-09-11 08:43:50
我理解的前后端分离:
前端只做视图展示,
后端只做数据接口处理
最终前端拿后台传递过来数据,展示在视图上。
中间具体过程可以自己研究。
回答于 2019-09-11 08:43:50
以下纯属个人见解:前端页面的生成不依赖后端组织和渲染,而仅依赖后端数据。也就是说,数据驱动了前端页面的生成。前端变成了纯粹静态的HTML+JS,后端变成了纯粹的API。
上一篇:减肥最快的方法有哪些?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |