比如需求或设计上是否有不同?如果有兴趣,也可以聊聊共性。

= =难道你会为了两个相同的功能因为平台不同写两份不同的代码么...

面向接口编程,共用同一套后端

前后端分离情况下,同个功能基本上是同一个接口,无非是各个前端传递的参数不一样

身份认证区分下,其它的多是相同

基本上没区别,除了接口要保证兼容性.

显著的区别是一个是纯粹的 API ,另一个要返回页面。

可以没区别,用同一套 JSON API

最大的区别就是手机 app 可能会多版本并存,web 就基本没这个问题

我理解是可以用同样的后端的,但是没做过相关开发,好奇确认一下。也许会有什么特别的设计?

你凭啥让我写两份。

这不就是 BFF 的作用吗?

手机应用用浏览器不就行了🐶

最大的区别是如果有手机端的, 后台需要做好版本兼容,移动端各种奇怪的版本同时访问

有一个设计的不同:PC 的列表翻页,上一页和下一页可能重复,一般都觉得正常,而手机的的翻页属于下滑翻页,如果有重复了就很别扭。

现在需要返回页面的后端也少了。。。基本都是接口数据了。

手机端和 web 端共用同一个代码是趋势, 现在越来越少安卓苹果 web 三端写三份代码了吧. 吃力不讨好.

没区别 都是网页

前后端分离也是 json 数据了,不需要页面

前端 js 跟客户端对 json 处理偏好有点小差别。
客户端同学处理思维更接后端。

鉴权方式可能会不同,但也可以相同

app 强制更新,众生平等,一劳永逸……

服务端开发上没啥区别,但是服务器的参数调优上还是有不少区别的。

比较大的区别就是手机版的 api 不好大改吧。毕竟有老版本这种毒瘤在。

后端开发工作基本上都差不多,都是同一套接口。至于身份认证的话,目前我们开发项目不管是网页还是 app 统一走 jwt ,登录逻辑都不用单独开发。

尽量不做两套,一套接口,接口细节不同的话,可以网关层、bfe 层处理?

都用一个,谈何异同?

本质上没区别,应用也可以用 http 接口,鉴权安全灰产防护一个不能少,协议只是表面,不同的协议也就是编码不同,但是从问题上没少

同一套接口的

最大的不同是 app 会多版本共存, 你的代码需要兼容处理好不同版本的逻辑
网页则没有

手游后台,多版本确实是个很恶心的问题。

这也是为什么很多 app 喜欢用混合 h5 的原因吧? 因为更新方便

请教一下这是什么意思,没写过 app

意思是说市场上会有不同版本的 app 吗? 而 web 只要前端更新就只有一个最新版本?

前端代码需要更新直接把新代码上传服务器就行了,用户不需要手动更新,最多刷新网页; APP 需要到应用市场下载或 APP 自行下载

没有任何区别

客户端不容易更新所有版本,而且发出去的版本基本不更新功能,所以有多版本共存、兼容、灵活控制的逻辑都会放到服务端

网页就简单,前后端各自一改上线就完事了

楼上几个说到点子上了, 如果你是一个稍微大点的 app. 那么接口下发给前端的字段一旦上线, 基本就别想下线了, 会有人一直使用特别旧的版本. 强制更新这种手段除非是恶性 bug 一般不会用的.

所以接口漏出字段要谨慎, 特别是复杂的逻辑更要想清楚, 因为一旦搞出来, 就得一直维护.

现在不都前后端分离了?

是的, 混合 h5, 只需要处理好验证就行了, 但还有一个更 x 的 需求叫 ab test, 也就是在最新版本上, 前后端都需要有老的逻辑, 所以目前有人搞 Server-Driven UI, 感兴趣的可以搜一下

浏览器套壳(

业务逻辑处理肯定是一套;
就是有几点需要注意:
1 、Web/H5 需要注意跨域问题;
2 、App 存在多版本问题,接口注意兼容;
3 、鉴权方式可能不同