关于前后端分离的界限

2015-12-03 14:07:03 +08:00
 yannxia
我司代码前端由 angularjs 编写,后端是 Java , Java 暴露出 API 直接供前端调用,
现在有问题, API 的边界是在哪里,是要完全的展示出数据,还是方便前端?

举个例子:
Web 端和 APP 端,比如有个 Product 产品
比如有 ABCDE 一系列属性,现在产品有一个需求,要求 A 如果状态为 XXX , B 的值就为 YYY
此时,因为 APP 的审核过程很长, APP 要求后台修改, Web 因为上线方便,就自己改了,那么问题就出现了
这个地方到底是由前端负责还是 API 负责?
3442 次点击
所在节点    程序员
9 条回复
domty
2015-12-03 14:15:45 +08:00
服务器端既要为 web 端负责,又要为 app 端负责啊。
所以你改了 app 就又要改 web 端。
如果这个需求是同时针对两个客户端的话,改服务器端或者客户端都行。
如果只是针对单一客户端的话,该这个客户端的。

不过考虑到审核问题,我觉得你的选择还是挺合理的。
domty
2015-12-03 14:17:44 +08:00
@domty
还有就是可能需要考虑到对服务器端的性能是否有影响,有影响的话尽量放到客户端上去搞。
还有就是数据安全性。
moro
2015-12-03 14:19:16 +08:00
哪边成本低,就哪边改。
zhouquanbest
2015-12-03 14:20:59 +08:00
把前端当 app 写
yimity
2015-12-03 15:59:44 +08:00
你们 API 没有版本的吗?
fds
2015-12-03 16:16:11 +08:00
虽然分前端后端,但是工作其实是没有界限的,能把需求完成就行。
像你这种情况可以单独对特定版本的 app 返回特定值。如果无法查到版本,那么可以让 web 端加个版本号作为参数,有这个参数给正确值,没有给修改值。
iyangyuan
2015-12-03 16:28:40 +08:00
对于楼主的问题,很明显这是服务端的职责
另外,前后端分离和 angularjs 有啥关系?
Lpl
2015-12-03 20:52:45 +08:00
前后端分离不应该是共用一套数据库,但是是两套项目么?
loshine1992
2015-12-03 23:47:01 +08:00
1. 统一风格比如采用 restful 风格的 API ,减少后端频繁修改 API 的可能
2. API 可以采取不同的版本供不同版本的客户端使用

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

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

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

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

© 2021 V2EX