今天听前端同事说, 现在流行把业务放后端做,前端越简单越好. 大前端是两三年前比较流行?

2020-08-27 18:03:37 +08:00
 chaleaoch
我比较好奇为啥?
js 坑吗?
不是把逻辑放到浏览器加载,这样服务端开销更小吗?
17454 次点击
所在节点    程序员
121 条回复
joyhub2140
2020-08-27 18:19:16 +08:00
看情况吧,前端如果计算量太大,对移动设备不友好,可能造成设备发热大,风扇呼呼叫,体验差。

如果只是鸡毛蒜皮的逻辑,随意。剪刀石头布都可以。

另外,对原生客户端来说,不用说,肯定要把逻辑重心放在服务端,起码后端改逻辑不需要用户升级 app 。
pushback
2020-08-27 18:33:16 +08:00
看情况吧,减少流程性的接口肯定是要后端做的,
前端凑数据要点逻辑,现在很多逻辑都是交互性的吧?(我不是前端不清楚)
个人认为前端逻辑(指数据方面)过多,那后端挺不负责的
victor
2020-08-27 18:36:01 +08:00
看情况吧,减少后端的开发任务我一般都是这么跟领导吹的。
把复杂计算放在前端,消耗的是用户的硬件设备和时间来做处理和计算,能给我们省服务器的成本。
gdtdpt
2020-08-27 18:36:26 +08:00
现在前端 spa 框架应用如果不做好架构规划,代码审核等约束,是很容易构建出以 mb 为单位的 bundle.js ,再加上很多公司内网的客户端(电脑浏览器)性能并不高,如果再使用 IE 打开,再 ajax 请求上千条数据,是很容易直接卡死的,用户体验非常不好。

以上是我公司内部某个应用整改前的真实情况,这个应用后端开发总是想着只把数据给到前端就行,业务逻辑能让前端做的都让前端做,前端实在做不了的才会放到后端。
整改前,没人觉得几 mb 的 bundle.js 有什么问题,用开发的用的电脑测试没觉得慢,直到有一天领导打开一个页面加载需要 30 多秒,领导强制要求整改。在没有专业前端技术主管的情况下,没有人知道应该怎么改、往哪个方向改,前端代码写得太自由,都揉在一起了,拆分也需要重新梳理需求,整个过程异常痛苦。

相对来说,后端主要是用 Java 开发,强类型保证了代码不能乱写,逻辑至少是可读的,springboot 框架和 mvc 的代码结构深入 curd boy 心,结构清楚逻辑好梳理,光看代码就能看个大概,相比前端一个 ajax 如果不真正执行,返回什么数据我都不太清楚的情况好太多了。

考虑到团队成员的能力差异、异常排查的难度、可能出现的坑的大小、帮别人填坑的难易程度等因素,如果我是项目管理,我也会要求逻辑代码放后端。

对于服务端的开销问题,一般业务逻辑不太容易影响服务器性能,如果真的到了由业务逻辑影响服务器性能的时候,也应该好好审查一下后端代码或者逻辑是不是有问题,一般这种代码或者逻辑放到前端也不一定能顶得住(比如对大量数据做聚合)。
wuwukai007
2020-08-27 18:37:34 +08:00
划重点: 听前端同事说
cassyfar
2020-08-27 18:49:02 +08:00
大前端什么时候存在过。。。我工作 5 年没见到。
Wincer
2020-08-27 19:02:31 +08:00
是真的,因为前端逻辑比较多的话会让客户机 CPU 运转加速,造成电脑发热量多,加剧温室效应,一点不环保。(狗
fhsan
2020-08-27 19:05:49 +08:00
@cassyfar 都喊了五年以上了,
mht
2020-08-27 19:05:51 +08:00
我自己写前后端,我感觉论维护或者开发的话,还是后端把一些计算做好最简单,前端就是拿到数据展示下就行。
ditel
2020-08-27 19:08:06 +08:00
架构师在哪?接口规范在哪?交互体验在哪?随意的组合前端真的没有问题吗
zpxshl
2020-08-27 19:10:24 +08:00
@joyhub2140 1 逻辑放后端有个坏处,后端要不断兼容旧版客户端
zjp
2020-08-27 19:19:25 +08:00
大前端的重点不是统一 APP 端 Web 端吗...
前端计算非常不可信,遇到过因为页面卡住而提交错数值的
KuroNekoFan
2020-08-27 20:01:49 +08:00
有的后端就是弱智,设计的傻逼接口不仅毫无意义还净给前端添麻烦,还美其名曰业务需求
KuroNekoFan
2020-08-27 20:02:59 +08:00
至于主贴的问题,楼主理解交互逻辑和业务逻辑的区别吗
murmur
2020-08-27 20:09:14 +08:00
业务肯定后端的,前端那不是白送给竞争对手,放前端也得加一堆混淆反调试
ffw5b7
2020-08-27 20:18:53 +08:00
大前端不是指 api 调用侠吗?面对应用开发,调底层服务接口
ly1836
2020-08-27 20:27:45 +08:00
作为一个后端,我是非常不信任前端来处理业务逻辑的。
shyangs
2020-08-27 20:35:24 +08:00
業務邏輯放前端, 那都被競爭對手看光了, 看你老闆覺不覺得業務邏輯是機密.
w88975
2020-08-27 20:40:17 +08:00
作为一个全栈来说,现在的软件开发,其实前端的工作量大于后端的
说的直白一点,90%的后端,都是 crud,现有框架成熟的情况下,很容易就能产出需要的功能接口
而前端不一样,即使同样的逻辑下,不同的业务有不同的展示方式,操作逻辑,这块虽然不难,但是是实实在在的工作量。
当我自己一个人做完整的项目的时候,更倾向于把更多的业务放在后端去处理,前端就简单的展示,简单的交互操作,这样开发效率其实是很高的。
当我只做前端的时候,我也更希望后端能够处理更多的东西。

其实说白了,不管后端有多么瞧不起前端,即使你把前端看作切图仔,不配称为程序员,你也不得不承认,大多数情况下,一个业务,前端的工作量永远大于后端。
zjsxwc
2020-08-27 20:43:07 +08:00
就是本来前端的活,分出来给 nodejs 做中台,处理完数据后最后给后端。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/701987

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX