V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vcfghtyjc
V2EX  ›  程序员

手机应用的后端与网页的后端开发有什么区别?

  •  
  •   vcfghtyjc · 2021-11-21 12:42:08 +08:00 · 5347 次点击
    这是一个创建于 1099 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    41 条回复    2021-11-22 17:24:10 +08:00
    janxin
        1
    janxin  
       2021-11-21 12:44:36 +08:00
    = =难道你会为了两个相同的功能因为平台不同写两份不同的代码么...
    huyujievip
        2
    huyujievip  
       2021-11-21 12:45:34 +08:00 via iPhone   ❤️ 1
    面向接口编程,共用同一套后端
    cvbnt
        3
    cvbnt  
       2021-11-21 12:52:48 +08:00 via Android
    前后端分离情况下,同个功能基本上是同一个接口,无非是各个前端传递的参数不一样
    ila
        4
    ila  
       2021-11-21 12:54:01 +08:00 via Android
    身份认证区分下,其它的多是相同
    nieyujiang
        5
    nieyujiang  
       2021-11-21 12:55:01 +08:00
    基本上没区别,除了接口要保证兼容性.
    iOCZ
        6
    iOCZ  
       2021-11-21 12:55:51 +08:00
    显著的区别是一个是纯粹的 API ,另一个要返回页面。
    eason1874
        7
    eason1874  
       2021-11-21 12:56:18 +08:00
    可以没区别,用同一套 JSON API
    wd
        8
    wd  
       2021-11-21 13:11:35 +08:00 via iPhone   ❤️ 11
    最大的区别就是手机 app 可能会多版本并存,web 就基本没这个问题
    vcfghtyjc
        9
    vcfghtyjc  
    OP
       2021-11-21 13:25:25 +08:00
    @janxin 我理解是可以用同样的后端的,但是没做过相关开发,好奇确认一下。也许会有什么特别的设计?
    zliea
        10
    zliea  
       2021-11-21 14:03:46 +08:00
    你凭啥让我写两份。
    April5
        11
    April5  
       2021-11-21 14:23:37 +08:00
    这不就是 BFF 的作用吗?
    shawnsh
        12
    shawnsh  
       2021-11-21 14:27:52 +08:00 via Android
    手机应用用浏览器不就行了🐶
    chenjiangui998
        13
    chenjiangui998  
       2021-11-21 14:47:06 +08:00
    最大的区别是如果有手机端的, 后台需要做好版本兼容,移动端各种奇怪的版本同时访问
    KingOfUSA
        14
    KingOfUSA  
       2021-11-21 15:14:47 +08:00
    有一个设计的不同:PC 的列表翻页,上一页和下一页可能重复,一般都觉得正常,而手机的的翻页属于下滑翻页,如果有重复了就很别扭。
    moshiyeap100
        15
    moshiyeap100  
       2021-11-21 15:36:28 +08:00
    @iOCZ 现在需要返回页面的后端也少了。。。基本都是接口数据了。
    Dotennin
        16
    Dotennin  
       2021-11-21 15:49:02 +08:00
    手机端和 web 端共用同一个代码是趋势, 现在越来越少安卓苹果 web 三端写三份代码了吧. 吃力不讨好.
    AyaseEri
        17
    AyaseEri  
       2021-11-21 15:58:05 +08:00
    没区别 都是网页
    Elissa
        18
    Elissa  
       2021-11-21 16:16:32 +08:00
    @iOCZ 前后端分离也是 json 数据了,不需要页面
    vvhhaaattt
        19
    vvhhaaattt  
       2021-11-21 18:04:44 +08:00 via Android
    前端 js 跟客户端对 json 处理偏好有点小差别。
    客户端同学处理思维更接后端。
    hand515
        20
    hand515  
       2021-11-21 18:30:52 +08:00 via Android
    鉴权方式可能会不同,但也可以相同
    lower
        21
    lower  
       2021-11-21 19:31:17 +08:00
    app 强制更新,众生平等,一劳永逸……
    niubee1
        22
    niubee1  
       2021-11-21 20:11:01 +08:00
    服务端开发上没啥区别,但是服务器的参数调优上还是有不少区别的。
    geekaven
        23
    geekaven  
       2021-11-21 20:21:48 +08:00
    比较大的区别就是手机版的 api 不好大改吧。毕竟有老版本这种毒瘤在。
    815979670
        24
    815979670  
       2021-11-21 22:16:18 +08:00
    后端开发工作基本上都差不多,都是同一套接口。至于身份认证的话,目前我们开发项目不管是网页还是 app 统一走 jwt ,登录逻辑都不用单独开发。
    TypeError
        25
    TypeError  
       2021-11-22 01:25:24 +08:00 via Android
    尽量不做两套,一套接口,接口细节不同的话,可以网关层、bfe 层处理?
    xuanbg
        26
    xuanbg  
       2021-11-22 06:18:27 +08:00
    都用一个,谈何异同?
    murmur
        27
    murmur  
       2021-11-22 08:23:44 +08:00
    本质上没区别,应用也可以用 http 接口,鉴权安全灰产防护一个不能少,协议只是表面,不同的协议也就是编码不同,但是从问题上没少
    zjsxwc
        28
    zjsxwc  
       2021-11-22 08:41:02 +08:00
    同一套接口的
    wingoo
        29
    wingoo  
       2021-11-22 09:10:06 +08:00
    最大的不同是 app 会多版本共存, 你的代码需要兼容处理好不同版本的逻辑
    网页则没有
    p1gd0g
        30
    p1gd0g  
       2021-11-22 09:10:58 +08:00
    手游后台,多版本确实是个很恶心的问题。
    chengyiqun
        31
    chengyiqun  
       2021-11-22 09:24:31 +08:00
    @wingoo 这也是为什么很多 app 喜欢用混合 h5 的原因吧? 因为更新方便
    zxCoder
        32
    zxCoder  
       2021-11-22 09:58:38 +08:00
    @wd 请教一下这是什么意思,没写过 app
    zxCoder
        33
    zxCoder  
       2021-11-22 09:59:22 +08:00
    @wd 意思是说市场上会有不同版本的 app 吗? 而 web 只要前端更新就只有一个最新版本?
    Elissa
        34
    Elissa  
       2021-11-22 10:38:54 +08:00
    @zxCoder 前端代码需要更新直接把新代码上传服务器就行了,用户不需要手动更新,最多刷新网页; APP 需要到应用市场下载或 APP 自行下载
    unco020511
        35
    unco020511  
       2021-11-22 10:43:40 +08:00
    没有任何区别
    Torpedo
        36
    Torpedo  
       2021-11-22 10:52:13 +08:00
    客户端不容易更新所有版本,而且发出去的版本基本不更新功能,所以有多版本共存、兼容、灵活控制的逻辑都会放到服务端

    网页就简单,前后端各自一改上线就完事了
    Jooooooooo
        37
    Jooooooooo  
       2021-11-22 11:43:32 +08:00
    楼上几个说到点子上了, 如果你是一个稍微大点的 app. 那么接口下发给前端的字段一旦上线, 基本就别想下线了, 会有人一直使用特别旧的版本. 强制更新这种手段除非是恶性 bug 一般不会用的.

    所以接口漏出字段要谨慎, 特别是复杂的逻辑更要想清楚, 因为一旦搞出来, 就得一直维护.
    darknoll
        38
    darknoll  
       2021-11-22 12:49:08 +08:00
    @iOCZ 现在不都前后端分离了?
    wingoo
        39
    wingoo  
       2021-11-22 13:32:58 +08:00
    @chengyiqun 是的, 混合 h5, 只需要处理好验证就行了, 但还有一个更 x 的 需求叫 ab test, 也就是在最新版本上, 前后端都需要有老的逻辑, 所以目前有人搞 Server-Driven UI, 感兴趣的可以搜一下
    huohei
        40
    huohei  
       2021-11-22 15:56:32 +08:00 via iPhone
    浏览器套壳(
    Hug125
        41
    Hug125  
       2021-11-22 17:24:10 +08:00
    业务逻辑处理肯定是一套;
    就是有几点需要注意:
    1 、Web/H5 需要注意跨域问题;
    2 、App 存在多版本问题,接口注意兼容;
    3 、鉴权方式可能不同
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2694 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 10:48 · PVG 18:48 · LAX 02:48 · JFK 05:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.