前端后端的分割应该是靠代码运行的位置(客户端、服务器)划分还是靠业务逻辑(随界面变动的就是前端逻辑)划分

2020-12-28 17:41:09 +08:00
 chengs
比如,url 路由表是前端还是后端,是靠位置定义的前后端还是靠业务定义的前后端。
那么这个路由表是前端程序员去随时跟着产品更改,还是后端程序员去维护。(这里面还暗含一个问题就是实际上说是后端程序员但是你在写前端相关的代码,比如服务器渲染模板)。

不要抠字眼,我想我表达的主要矛盾大家应该看的出来。
2040 次点击
所在节点    问与答
37 条回复
OldActorsSmile
2020-12-28 18:02:02 +08:00
我是一个独立开发者,前后端都自己开发,但是我前后端也是分离的,前端纯 html,通过 ajax 调用自己后端的 api 。
前端 webpack,后端 nodejs
jifengg
2020-12-28 18:05:01 +08:00
我个人的话,习惯以“代码运行在什么位置”来判定。当然,服务端渲染的话,渲染的那部分应该算前端,比如写模板,而从数据库里拿出数据去给模板渲染的,算后端。应该没有明确的定义吧。看看楼下怎么说。
chengs
2020-12-28 18:06:12 +08:00
@OldActorsSmile 路由算前端还是后端
Sapp
2020-12-28 18:06:58 +08:00
前后端分离的状态下,后端只负责接口,其他全部给前端就行了
chengs
2020-12-28 18:08:51 +08:00
@jifengg 你接近问题了,是页面 call 函数取得数据来填模板还是后端带变量 call 模板程序生成页面。正确应该是哪个。
chengs
2020-12-28 18:10:15 +08:00
@Sapp 你说的接口在现实实践里不过是一个没有渲染的页面而已,产品更改要显示的数据,你的接口给出的内容都要跟着改。你想太浅了。问题没有回答,路由是前端管还是后端管。
OldActorsSmile
2020-12-28 18:13:21 +08:00
@chengs

api 的域名跟前端不一样,没有路由的概念。后端写技术文档给前端,让前端能够正常调用即可。
我知道你可能会问跨域,这个技术上没问题
EPr2hh6LADQWqRVH
2020-12-28 18:15:42 +08:00
写面向终端用户的代码,操纵 UI 展示,影响终端用户体验,定义为前端;
写系统内部逻辑的代码,操纵数据库和其他内部组件,影响组织内部运行成本,定义为后端;
chengs
2020-12-28 18:18:00 +08:00
@avastms 路由是前端还是后端。谁管
egglin
2020-12-28 18:20:45 +08:00
中台和后台吧,中台算后台的后端,后台算中台的前端?
chengs
2020-12-28 18:22:35 +08:00
@OldActorsSmile node.js 里面的 /index,/profile 是谁要求添加,是谁去写路由,是谁负责具体页面的渲染,是谁负责填写模板的数据。按你说的方案,api 是给出的是一条 record 还是 api 只提供一个域的数据,一条 record 是前端在浏览器拼接多个接口数据。
chengs
2020-12-28 18:23:18 +08:00
@egglin 。。。
luob
2020-12-28 18:25:15 +08:00
我好像听明白怎么回事了,要不要 @一下那个男人(逃……
renmu123
2020-12-28 18:25:28 +08:00
在前后端分离的情况下,写浏览器端代码的就是前端,写服务器端代码的就是后端。至于你把业务代码放浏览器端还是服务器端都可以,只是浏览器有着天生安全问题,大部分人会选择放在服务端。至于你说的路由表问题,路由表不会出现致命性安全问题,浏览器端愿意写就扔给他们了。如果你还要讨论为分离情况的话,那你就自己思考一下。前端和后端不是能严格给出定义的东西,会随着时代发展而发展
chengs
2020-12-28 18:43:49 +08:00
@renmu123 一个产品决定根据运营数据对产品进行改造,需要将原来的 2 级路由改成 3 级,只是用户操作产品的路经和显示改变,功能没有改变(暗指后端逻辑不变)。过了一周,新的运营数据出来了,产品决定再度调整路径和界面(后端逻辑不变)。现在你觉得路由表应该谁写,是随便丢个人写吗?
chengs
2020-12-28 18:44:02 +08:00
@luob 需要
Cbdy
2020-12-28 19:08:48 +08:00
前后端分离的情况下,路由归前端管
前后端不分离的情况下,都不分离,哪有什么前端后端
chengs
2020-12-28 19:16:33 +08:00
@Cbdy 说的好,路由归前端管。那么前端自己去改 java 代码还是 python 代码。这个路由应该是运行在什么运行时。
EPr2hh6LADQWqRVH
2020-12-28 19:20:13 +08:00
啧。。。。

前后端分一下工,前端自己管自己的路由好了,后端 nginx 类似的东西统一返回前端的程序,浏览器里面再去解开前端路由。

后端管自己的 API 路由,用户访问的都是前端路由,这样就分开了,各管各的分开发布
raaaaaar
2020-12-28 19:23:42 +08:00
一个调接口,一个写接口呀

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

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

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

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

© 2021 V2EX