前后端分离 web 项目,数据处理属于前端还是后端,分界点在哪?

2018-10-22 08:38:29 +08:00
 WEAlex

目前项目所有数据来自于第三方接口,第三方接口有数据结构,但是前端所需的并不一定满足。这时候的数据处理是放在后端还是前端?

10387 次点击
所在节点    程序员
35 条回复
derrickT
2018-10-22 09:42:38 +08:00
必须后端啊,前端负责显示就好了
keikeizhang
2018-10-22 09:53:32 +08:00
我采用的方案是看是否对 demo 进行操作,比如判断是一个弹窗是否显示,这样的数据不需要后端给 true 还是 fasle,前端自己根据后端过来的数据进行判断。
keepsmilence
2018-10-22 10:01:13 +08:00
无论第三方格式是否前端能直接用,都走后端包装一下,因为:
如果第三方接口变化,后端可以调整逻辑而前端不变;
方便内部自己再做一层权限控制;
方便筛选字段数据或调整格式(前后分离一般都是 JSON 了);
后端调用接口写日志,方便遇到异常或者业务投诉时翻日志,方便甩锅(很重要,前端直接调的话你就什么都查不到了);
后端可以对数据相对固定的接口数据做缓存,减小第三方接口压力;
前后端人员分离,各维护各的,后端去跟第三方的人扯,前端则只要跟自己人扯;
Shynoob
2018-10-22 10:04:46 +08:00
前端要是再处理数据,后端就没多少活儿干啦
shidianxia
2018-10-22 10:05:57 +08:00
如果这个第三方接口调用频率限制是按照 IP 频次,而不是依据 accesskey,那么前端直接调用有巨大优势。反之,肯定需要后端统一包装后处理,一是提高效率,二是安全性考虑减少接口被第三方滥用的可能。
hasbug
2018-10-22 10:07:18 +08:00
统一后端做吧,前端处理东西总是被怀疑,别让我们前端做,懒得天天来改伪 BUG
shidianxia
2018-10-22 10:07:50 +08:00
*第三方 -> 其实应该叫做第四方:)
ChefIsAwesome
2018-10-22 10:16:25 +08:00
这有个原则性问题,不管在哪处理,关键是不能影响用户体验。数据特别大,算个几秒才算出来,放前端明显不合适。
不影响用户体验的情况下,再考虑工程问题。比方讲同一个数据,在好几个页面,甚至是好几种前端上面展现。数据又不是特别大,这时候放前端处理明显更灵活。
sammo
2018-10-22 11:16:22 +08:00
前端肯定要封装一遍接口的
后端也肯定要封装一遍接口的

前端 - 前端数据接口 - 数据 - 后端数据接口 - 后端

看似费事,实则大大省事:把耦合程度降到最低 所以最保险,出问题时好 debug 好修正,省了未来的时间、省了扯皮的时间
batter
2018-10-22 11:59:34 +08:00
牵涉到存储数据变化的,安全的一定要后端来做,否则,嘿嘿嘿
wxiao333
2018-10-22 12:35:06 +08:00
后端无疑
jzmws
2018-10-22 12:41:08 +08:00
我的原则是前端之负责展示数据。
southsala
2018-10-22 13:51:56 +08:00
后端给什么前端展示什么,后端把第三方接口梳理一下,整理成你们自己的格式,更换第三方也方便,只需要后端改就可以,不影响 APP 和 Web
piggybox
2018-10-22 14:07:43 +08:00
前端所谓的处理主要是展示性的,比如排个序什么的。否则那些修改性的处理要同步到后端,这时你需要考虑万一网络不好和后端数据不一致怎么同步的问题。。。所以还是后端统一处理这类破坏性的修改比较好
wobuhuicode
2018-10-22 14:08:50 +08:00
不涉及安全就给前端,其他都是后端。

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

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

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

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

© 2021 V2EX