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

2020-08-27 18:03:37 +08:00
 chaleaoch
我比较好奇为啥?
js 坑吗?
不是把逻辑放到浏览器加载,这样服务端开销更小吗?
17458 次点击
所在节点    程序员
121 条回复
xzg1993
2020-08-28 16:22:43 +08:00
@H15018327040 在说一个,一个请求 要给后台传一大串 json,后台在返回一大串 json,我自己去拼接自己想要的请求,有时候想要显示一个页面数据,还要请求这种垃圾接口 2 到 3 个。
KuroNekoFan
2020-08-28 16:29:27 +08:00
@jake361 请求多少次不是关键,关键是,type${x}作为一个由 a,b 衍生出来的值,可能性随着需求会越来越多,那么这里首先不应该把这部分逻辑放在前端,
我还见过更 sb 的,不仅要带上衍生值,还要带上原始值,即 resource?type=typex&a=sa&b=sb
H15018327040
2020-08-28 16:40:52 +08:00
@xzg1993 有时候我就想,什么都不做处理的数据还不如做一个接口,前端直接传 SQL
w88975
2020-08-28 16:45:37 +08:00
@di94sh
就目前 crud 那一套,现有框架成熟的不能再成熟了,除非你自己撸一套,否则根本就是一把梭
业务抽象我就不说了,这个跟前后端没有太大的关系,这个是整个项目的架构决定的
api 定义这个也能拿来说吗?这个也不是工作量导向的东西,主要靠约定俗成,也是纯架构方面的
性能优化,这个就是仁者见仁,智者见智的东西了
你所说的这些东西,都是作为一个后端必备的,不能说没有工作量,但就目前 90%互联网公司所涉及的业务来说,拿出来说真的不值一提

我并没有站在一个纯前端的角度来讨论这个问题,我也是做了多年的后端,我很讨厌写前端,就是因为前端相对于后端来说,太杂了,没有像后端那么多年积累起来的标准库(近几年稍微好那么一点),同样的业务,前端的选择更多,工作量也更多.
处理纯数据,和写用户交互的东西相比,还是纯数据处理起来更简单明了

以前后端鄙视前端,那是因为前端真没啥技术含量,"切图仔"们只知道填数据,画页面,对数据来源以及数据的处理根本不用关心. 我不能说现在前端多有技术含量(也可能没有),但就事论事的话,工作量是特别大的.

打个比方,写个修改用户资料的业务,后端只需要处理字段,校验字段,校验不通过返回什么,通过又是什么,然后更新 DB.
前端首先要完成这个页面,然后再处理数据,例如头像要用什么组件东西展示,是否可修改,修改的话,得用哪个接口去上传图片,上传状态,各种提示,表单的校验等等,不说复杂不复杂,至少比起纯数据处理来说,是复杂的.

就好比 V2EX 的回帖时间,后端只返回时间戳,前端要去判断: 大于 24 小时,展示完整年月日时分秒,小于 24 小时,展示 xx 小时前,这时候,后端要是直接返回这个时间,前端就能省很大一部分事,毕竟大多时候,前端也只是拿时间戳来做 format 成字符串,而不是做条件查询
leejaen
2020-08-28 17:04:40 +08:00
@w88975 同意,我公司做的某个大项目,前端 react,后端 java,人数分别是 6 和 40,我们前端累的要死,后端一个按钮的小功能拆 6 个人做,并且他们做完了就干等着我们,还经常告状:后端都做完了,就等前端了。技术总监那里要人不给、要时间不给,让我想办法,一帮后端天天摸鱼干吃饭。还可劲说自己这样忙那样忙,这种后端真是让人鄙视
cco
2020-08-28 17:09:01 +08:00
最近多了点前端和后端搞事情的帖子。
我觉得还是得将注意力转移到语言上。PHP 是世界上最好的语言!
cco
2020-08-28 17:10:03 +08:00
@leejaen 我司曾经一群后端 996 呢。前端周末在陪妹子看电影,怎么说?
zzzmh
2020-08-28 17:13:39 +08:00
需要结合具体情况,例如一个表 1000 条数据,排序分页筛选,放后端做划算,如果全部给前端也能实现,但网速的开销过大,实际用到的太少,血亏。如果数据是一样多固定大小,那放在前端算,节约服务器算力,是可取的。
littleFive
2020-08-28 17:14:05 +08:00
@cco 听你这么一说,我就感觉你们项目不会是前后端分离的
miniwade514
2020-08-28 17:16:23 +08:00
大前端说的是 web 和 native 融合的事情,不是“代码体积很大的前端”。业务逻辑放哪儿,跟是不是大前端没什么关系。
daxiongz
2020-08-28 17:16:38 +08:00
@jaylee4869 咱公司叫啥?我也想去
hoosin
2020-08-28 17:20:19 +08:00
我觉得这个边界是,展示层面的。
前端、中间层都可以做,反之还是后端来计算吧。
kaiki
2020-08-28 17:22:49 +08:00
能让后端做就让后端做,后端不会相信前端的任何逻辑的
airplayxcom
2020-08-28 17:25:46 +08:00
宣战贴 ,不做任何评论
canxden
2020-08-28 17:50:45 +08:00
前端后端 角度 X
用户 角度 √

并不是所有用户都会喜欢升级的. 如果很多业务要依靠前端升级版本来解决.
为什么不尽可能多的功能可扩展, 而不必用户升级来解决呢.

exp: 日期. 后台传时间戳 & 后台传日期字符串.
万一哪天要展示逻辑改变, 是不是还要更新前端版本来解决这个问题?

btw: 改不改都看产品心情. 前端后端要佛系. 手动狗头
syyy
2020-08-28 17:55:34 +08:00
去年让前端写个冒泡,把十个元素以内的数组排个序输出一下,然后隔天告诉我不写。我生生把返回的结果集翻到最深一层,取出属性值排序一遍丢出去。
Sapp
2020-08-28 18:02:51 +08:00
不把逻辑放在前端不是因为计算量,这个跟计算量也没有任何关系,有几个项目能大量吃资源的?
不放前端是因为第一没有必要,很多东西设计安全之类的前端你就算走一遍流程,后端也还是要走,等于两个人都要搞,那你何必放前端?
第二是因为前端毕竟是个页面,有 UI 要展示,你全都扔给前端,他还要协调数据和 UI,复杂度会成倍往上走,而你在后端做好,只需要关注数据,拼好发给前端就完事了,典型的就是有些后端会把一个接口拆成 n 个让前端互相调,这简直是坑爹操作,对于后端明明拼接一下数据很简单的事情,给前端做简直就是个折磨。
最后就是现在很多后端的客户不只是前端,往往还有客户端甚至其他公司的客户之类乱七八糟,这种情况你把东西放在前端做其实也是个浪费,你的前端做一次移动端做一次客户还要做一次,如果涉及到校验的问题那更容易出问题,你的前端校验好了移动端没校验好,整个系统全都崩了。
Ritr
2020-08-28 18:15:00 +08:00
这种肯定是后端改啊,请求是异步的,通过两次请求来判断一个事情首先不合理,其次两次异步不方便处理,最后是增加了复杂度
cco
2020-08-28 18:15:52 +08:00
@littleFive 从 17 年开始就一直是前后端分离了~~~
Solace202
2020-08-28 18:17:32 +08:00
@victor 怪不得现在手机内存赶上电脑内存了。。。

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

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

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

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

© 2021 V2EX