首页 > 其他分享 >全干还是全栈?前后端要不要分离?

全干还是全栈?前后端要不要分离?

时间:2023-05-22 14:48:03浏览次数:18  
标签:前后 全干 前端 分离 端要 全栈 开发 接口

、前后端分离是什么?
​ 前后端分离是一种把项目工程化和模块化的思想,通过将前端和后端独立出来进行开发,使得开发人员对自身的职责更加明确,能有效地提高开发效率。正所谓术业有专攻,如果能专心去做好一个方面的事,那前后端分离之后对于个人的提升是非常有帮助的。当然如果是企业,就得考虑很多方面,不能为了前后端分离而去搞前后端分离。传统的开发协调模式为:

前端先写一个静态页面,然后让后端去套模板。静态页面可以本地开发,前端工程师也无需考虑业务逻辑,只需要根据设计图实现View即可。缺点是耦合性高,让后端去套模板,后端工程师就得熟悉掌握html和css等前端知识,这样学习成本高。
前端根据后端的服务,直接写模板。缺点是前端编写过程中很依赖后端,如果当后端没写完的情况下,前端几乎没法干活
​ 这两者的共有的缺点都是前端无法单独调试,而且前端或后端工程师难免会遇到不是自己领域里的代码,导致开发效率降低。

2、在软件开发过程中的体现
​ 软件开发一般有四个步骤,设计、开发、测试、部署。真正的前后端分离应该渗透到每一个阶段当中。

设计阶段:系统设计和接口设计,规定好统一的接口请求方式,数据类型和数据格式。
开发阶段:前后端各自按照实现约定的接口独立去开发,写代码。
测试阶段:前后端独立可测试, 前端:页面,跳转,数据展示,输入,传参等;后端:保证数据接口的提供,数据格式,校验,异常,数据验证和一致性问题等,前后端都可以解决跨域问题。
部署阶段:前后端项目独立可部署。
3、要不要做前后端分离
从上面的阶段分析可以看出前后端分离的成本是不小的。如果是一个真正的前后端分离开发,那对人力成本、开发成本、工具成本和部署成本的要求都很高,此时如果不考虑项目的实际需求,即使小团队小项目也要跟这波热潮,强行进行前后端分离式项目开发,那样的性价比太低,得不偿失。总而言之,前后端分离只是一种在项目管理上的工程考量,做不做其实还是得看实际的需求来下定论。最最主要的还是要制定好相应的规范,然后再去前后端分离开发,这样子效率也会比传统模式高很多。

4、前后端架构
不分离的架构模式
客户端–》后台应用

 


前后端分离架构
​ 客户端–》前端–》Ajax–》Restful后端数据接口(数据交互以JSON格式进行)

 

 

5、热门的前后端系统设计
Spring Boot(后端应用) + Vue(前端应用)
后端:Spring Boot + MyBatis + MySQL + …
前端:Vue + Element UI + …
接口管理:Swagger / YApi
项目管理:Maven(依赖管理) + Git(版本管理)
最后总结一下,还是得根据自身的业务来考量是否要采用前后端分离的开发模式。如果你是做自己的个人项目,还是推荐你专精一端,当然学生时间多,可以多玩玩,当个全干高手。在公司的话,公司想要怎么做就怎么做吧,除非你是老大,可以随意掀桌子 _。

标签:前后,全干,前端,分离,端要,全栈,开发,接口
From: https://www.cnblogs.com/okeyl/p/17420523.html

相关文章

  • 全栈工程师的第一步
    全栈工程师的第一步记得在大学到时候,上计算机课觉得最有挑战的,就是做个一个个人主页。相对写个WORD文档、写个C语言程序,个人主页也是最有意思的一个主题。最开始的是用html标签方式来实现,用table来进行各种排版,丑得可见一斑。后面技术发展演进,大量的使用了html+css+js,再往后就衍生......
  • Django4全栈进阶之路24 项目实战(报修类型表):CKEditor富文本
    CKEditor是一个强大的富文本编辑器,可以用于在网站或应用程序中创建和编辑内容。以下是在安装和使用CKEditor的一般步骤:安装CKEditor:下载CKEditor:访问CKEditor官方网站(https://ckeditor.com/)并下载适用于您的项目的CKEditor版本。解压文件:将下载的CKEditor压缩包解压到您的项目......
  • Java全栈学习路线图
    Java全栈学习路线图 第一阶段:Java基础篇 01 J2SEv2(41课时)  课程链接 02 Mysql数据库(20课时) 课程链接 03 JDBC(9课时)  课程链接 04  Swing图书管理系统V2.0(8课时)  课程链接  第一阶段:学习目标及知识要点01   熟练掌握Java基础语法,Java面......
  • Qwik 1.0 发布,全栈式 Web 框架
    Qwik是一个全栈式Web框架,Qwik基于React、Angular和Vue等其他Web框架的概念,但以JavaScript流等更新的方法脱颖而出,允许以高性能向用户交付复杂的Web应用程序。随着Web应用程序变得越来越大,它们的启动性能会下降,因为当前的框架向客户端发送了太多的JavaScript......
  • 2023全栈开发人员职业路线图
    0.全栈开发人员职业路线图全栈开发人员是IT行业中薪资最高的职业之一。如果您想成为一名全栈开发人员,以下是2023年全栈开发人员路线图上的十一个步骤:掌握敏捷开发和Scrum学习浏览器技术,如HTML和CSS熟练掌握JavaScript或TypeScript了解Git及其CI/CD生态系统具备移动应用......
  • Django4全栈进阶之路23 项目实战(报修类型表):应用程序命名空间app_name和分页组件pagina
    1、应用程序命名空间app_namefromdjango.urlsimportpathfrom.importviewsfrom.viewsimportRepairDetailViewapp_name='repair'urlpatterns=[path('repair_types/',views.RepairTypeListView.as_view(),name='repair_type_list�......
  • 数字中国|闪捷信息受邀出席,全栈数据安全能力广受关注
    4月27日,由国家网信办、国家发改委、工信部、福建省人民政府主办的第六届数字中国建设峰会在中国福州举办。该峰会旨在通过政策发布、经验交流、成果展示等方式,推动交流互鉴,促进开放合作。闪捷信息受邀出席本届峰会发表主题演讲,全面展示全栈数据安全技术与服务能力。 01主题展区本......
  • Django4全栈进阶之路20 项目实战(三种方式开发部门管理):方式一:FBV
    1、模型fromdjango.dbimportmodelsfromdjango.contrib.auth.modelsimportUser#Createyourmodelshere.classDepartment(models.Model):name=models.CharField(max_length=255,verbose_name='部门名称')parent=models.ForeignKey('sel......
  • 10分钟极速入门Python全栈应用开发
    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/dash-master1环境搭建dash应用作为Python项目,建议大家从一开始就养成好习惯,使用虚拟环境来构建我们的dash应用运行所需环境,以我最常用的conda为例,终端执行下列命令,创建名为dash-app-dev,Python版本为3.8的虚......
  • Django4全栈进阶之路19 项目实战(用户管理):user_delete.html用户删除画面设计
    1、模块:<tbody>{%foruserinuser_list%}<tr><td>{{user.username}}</td><td>{{user.email}}</td>......