立即注册找回密码

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索

图文播报

查看: 267|回复: 5

[讨论] 有人认为前后端分离是开发效率低下的根源,不使用前端开发效率可提升5倍,我该如何反驳这种观点?

[复制链接]
发表于 2025-3-15 20:22 | 显示全部楼层 |阅读模式
回复

使用道具 举报

发表于 2025-3-15 20:23 | 显示全部楼层
根本不用怼,你就告诉他客户说了
1.成功要显示成绿色,失败要显示成红色。
2.标题加租。
3.联系方式的电话号码改了。公司联系地址变更了
4.另外首页上那个文字标点符号打错了。
5.后面那个联动菜单,不要几个下拉列表联动,不方便。请改成一个层的联动
6.客户觉着背景比较单调,最好加点渐变啥的。在弄个阴影啥的
然后下班走人,让他自己5倍效率去。
回复 支持 反对

使用道具 举报

发表于 2025-3-15 20:23 | 显示全部楼层
1、小团队,肯定all in one是最快的。
反义词,quick and dirty。
看上去很好,很快,但可能会有一点dirty,且在高并发场景,通常会有不均等的瓶颈。这就是大厂为啥前后端分离的一个重要原因。

2、前后端分离场景下,是否效率低下
2.1 只是前后端分离,只是多了发布,发布自动化做的好久不影响效率,分工独立,正常是提效的。这里只是csr,ssr除外。
2.2前后端分离,加了bff,平白无故多了中间层,用的好是提效,用的不好就是拖后腿
2.3前后端分离,用graphql,出来多了中间层,还得学规范,约定。除了极致团队,大部分时间是拖后腿的。
2.4前后端分离,用trpc以及各种action方案。前后端同构,除了发布变复杂一点,理论值是提效很高的。

其实还有很多种方式,如果大家有疑问再讨论吧
回复 支持 反对

使用道具 举报

发表于 2025-3-15 20:24 | 显示全部楼层
这句话就是在强调,程序员是纯螺丝钉牛马。
首先结论肯定是没有问题,效率高5倍夸张了,但前后端不分离工期压缩1/3是可以做到的。
但有问题的不是前后端分离,而是人员分离。
人类信息传递效率差,误差高,纠错能力弱。所以效率和人员数量不成正比,有时甚至是反比。被誉为软件工程圣经的《人月神话》,整本书都在讲这件事。
如果每个人都是全栈,至少接口对接这一步可以省很大的事,也不会有前后端互相甩锅。
那业界为什么不采用这种前后端一体的单兵模式?
因为互联网行业普遍认为 人是不可以也不应该被培养的,所以业内的公司普遍没有认真做技术培训,顶多有个名存实亡的带教老师制度。
人的精力总值有限,自学成才前后端都能干的大神太少,公司又不愿意培养,市场上自然是瘸腿程序员多一些。
再说如果你一个人可以开发一个模块,那你这个人和业务的耦合度就太高了。
前后端人员分离的另一大优势就是更方便配置AB角,减少某个人的不可替代性。
所以你没必要怼他,他为啥不找个最强单兵,一个人全干了?
还不是没钱 :)
回复 支持 反对

使用道具 举报

发表于 2025-3-15 20:25 | 显示全部楼层
需求,做一个网页,就一页!
- 网页上只需要一个 <p> 容器,其它容器、排版、修饰、美化,统统不要!
- 网页内容从数据库读取,读取到的内容显示在 <p> 容器里。
传统手艺人,约翰师傅



我就会 php + html,我直接写 1 个 index.php,5~10 分钟,搞定!
或者,分离一下,index.html(嵌了一些原生 JavaScript)+ api.php,15~30 分钟,搞定!
再或者,我写 1 个 generate.php 用来生成 index.html,再把 index.html 分发到这里、那里,部署过程稍微有点麻烦,还得运维配合,所以 30~60 分钟吧,搞定!
如果你说将来这个东西一定会改动,比如搞跨平台响应,比如前面怼了个定制的 App,比如基于这个项目又拆出来仨子项目,那我建议咱还是使用分离的方式,要不牵一发而动全身,容易乱套......
非遗继承人,杰克师傅



我可以 SSR(服务器端渲染),1 个 server.js(Node.js + Express),5~10 分钟,运行!
我可以 CSR(客户端渲染),index.html + render.js + node api,15~30 分钟,运行!
我还可以 SSG/ISR(静态生成),1 个 generate.js 用来生成 index.html,加上部署时间,30~60 分钟,运行!
当然,这个项目肯定会有调整和变动,比如搞跨平台响应,比如前面怼了个定制的 App,比如基于这个项目又拆出来仨子项目...... 无论如何,我会尽量把前后分离,我不想自找麻烦......
斯密斯同学



开会的时候,他们一开始说让我写一个网页,我看了下觉得还挺简单的!
结果,他们又不让我写网页了,非让我写一个 get 接口,我心说直接让我写网页不就得了,又不费劲!
没辙,我创建了一个 Java 工程,从数据库里拿了一个东西,然后生成了一个 localhost:8080/get。
我想不通!多大个事儿啊,多此一举!
鲍勃同学



他们就跟我说了一句,创建一个 Vue project!
然后又叮嘱了一句 ------ 确保根据文档,把 url 填对了,localhost:8080/get......
......
......
......


这俩娃儿怎么跑这桌来了,回你们那桌去!
回复 支持 反对

使用道具 举报

发表于 2025-3-15 20:25 | 显示全部楼层
你为什么要反驳呢?
从整个程序员群体的演进过程来看,开发效率越高,被取代的时间越快。
如果前后端没分离那会,做为一个后端程序员,除了要维护后台数据库和CRUD,还可能维护前端的HTML、CSS、JavaScript or jquery……
你知道这意味着什么?
意味着想要裁掉你,和你对接的人必须也是这个技术体系。
但凡他前端少会一点点,比如他不会css,或者说他不太会用jq,而熟练掌握extjs……
你们这个体系就对不上,公司想裁了你,就得付出更高的额外成本。
……
而且,你在同时维护前后端的时候,还能考虑埋雷。
比如说你把逻辑写前端了,后端跟踪你代码找不到实现逻辑,发现前端一大堆JavaScript写出来的,他就崩了,这玩意儿的可维护性太低了……
虽然是java+spring也经常造屎山,但是跟js一比,那实在是小case啊。
你知道当他们看到你几千行的js里又写了无数命名xyz的闭包得多崩溃么……
然后你在把js的一些东西,直接绑定到HTML+CSS上……
就这么说吧,你写过的每一行的代码,都是无人敢直视的深渊。
……
而你们在幼稚的追求优雅、高效、简洁……
实际上现代程序员的大多数框架,解决的都不是技术问题,而是工程效率问题。
简单说,解决的是程序员的工业化和流水化的问题。
spring实现的功能到底哪里传统java解决不了呢?
微服务你解构一下也没啥难度啊。
我用servlet+javabean一样给你做高并发,就别说JSP了……ASP我一样给你弄……
你发现大多数框架,就是为了管理而产生的,而不是真正的解决了什么技术问题。
最终,你们在幼稚的争吵中,失业了。
现在我问你,PHP和java谁是最优秀的语言?
结论是:说这句话的人,他失业没有。
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册 微信登录 手机动态码快速登录

本版积分规则

关闭

官方推荐 上一条 /3 下一条

快速回复 返回列表 客服中心 搜索 官方QQ群 洽谈合作
快速回复返回顶部 返回列表