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

不懂就问 就 Java 来说 APP 的后端开发 和 web 的后端开发有区别吗

  •  
  •   Dmumuxi · 10 天前 · 3143 次点击
    27 条回复    2025-07-20 00:15:29 +08:00
    spike0100
        1
    spike0100  
       10 天前   ❤️ 1
    没有。下一个
    dcsuibian
        2
    dcsuibian  
       10 天前   ❤️ 1
    准确地说,要看你前后端的分离程度
    比如 Web 的话,你后端可以直接在 Cookie 里存 JSESSIONID ,APP 部分就稍微有点不一样。
    同时你也要了解浏览器的同源限制。
    其他的楼下补充
    iOCZS
        3
    iOCZS  
       10 天前   ❤️ 1
    如果你的 web 是前后端分离的,那后端是一样的,否则要提供前端。
    cvbnt
        4
    cvbnt  
       10 天前 via Android   ❤️ 1
    鉴权可能有区别
    sagaxu
        5
    sagaxu  
       10 天前   ❤️ 1
    现代 App 大都是 native + h5 混合体,App 后端 = App 后端 + Web 后端。
    App 也可以在 Cookie 里存 SESSIONID ,Web 也可以自定义 Header 存 token 。
    wudaye
        6
    wudaye  
       10 天前   ❤️ 1
    没什么不同,鉴权跨域什么的都不叫事。2C 和 2B 差别都要比这大
    Goooooos
        7
    Goooooos  
       10 天前   ❤️ 1
    有的,App 后端可以考虑用二进制协议
    xrxb
        8
    xrxb  
       10 天前   ❤️ 1
    没搞过 app 后端,是不是 app 后台就不用 http 协议了
    inc3ption
        9
    inc3ption  
       10 天前   ❤️ 1
    @xrxb 跟 web 后端基本没区别,一样 https
    xiaocheng2014
        10
    xiaocheng2014  
       10 天前   ❤️ 1
    这不都是大前端吗,不要区分前端就好了
    archyese
        11
    archyese  
       10 天前   ❤️ 2
    感觉都一样,不过 app 后端版本控制要做好,毕竟要兼容老版本 app
    wetalk
        12
    wetalk  
       10 天前
    web 和 app 后端早就一统了,搞两套接口情况几乎没有
    wu67
        13
    wu67  
       10 天前   ❤️ 1
    一般都是同一套后端, 共用接口. 除非界面和交互完全不一样, 需要特地搞一个 web/app 特有的接口.
    gaifanking
        14
    gaifanking  
       10 天前   ❤️ 1
    个别情况有,比如做 IM 的需要用 socket 做长链接。
    sentinelK
        15
    sentinelK  
       10 天前
    普遍而言,面向 web 的 API 接口设计往往都趋近于保守。

    所以我个人理解,可以一样。
    但是如果追求极致性能等原因,因为 app 有相对更强的安全性,服务于 app 的 API 可以设计的更极致一些。
    Greendays
        16
    Greendays  
       10 天前
    我都开发过,都是提供接口给前端调用就行。
    irisdev
        17
    irisdev  
       10 天前
    基本没区别,不少 app 本来就是 web 套壳
    Goooooos
        18
    Goooooos  
       10 天前   ❤️ 1
    app 后端版本兼容性挺烦的,有时候客户端的 bug 还要 hardcode 兼容
    zhhqiang
        19
    zhhqiang  
       10 天前 via Android
    既然都分前后端了,应该是没区别的
    minchieh
        20
    minchieh  
       10 天前   ❤️ 2
    写 app,数据库是文件(如 sqllite ),可以操作边缘设备符,如摄像头,麦克风
    协议么,不受 W3C 越俗,quic ,libp2p ,raknet 等等都能用
    状态数据要存内存加速,app 是个有状态程序,当然也可以依赖 sqlite ,或者每次都从服务器 get

    写 web 后台,只有数据,数据库+http 数据,大概率是个无状态的服务,数据在 db ,状态在 mdb (如 memcache )里面,数据库的 sql 语句是瓶颈,如恒生电子的大 java 金融平台,一条 sql 执行 7 分钟才能出来
    aLazarus
        21
    aLazarus  
       10 天前
    没什么明显区别,或者你应该考虑一下游戏后端和 web 后端的区别有多大
    Acsw
        22
    Acsw  
       10 天前
    App 的后端要考虑应用不即时更新时的兼容性吧?
    SchwarzeR
        23
    SchwarzeR  
       10 天前 via Android
    规模够大的话这个活甚至应该是交 BFF 考虑了吧,剩下的就是各种 RPC 相互来回了
    skallz
        24
    skallz  
       9 天前
    目前也就游戏和物联网等行业的后端有显著区别,其他软件服务的后端感觉都大差不差
    janus77
        25
    janus77  
       9 天前
    写业务的话区别不大,其他的有一些:APP 有可能对 TLS 版本、IPV6 、证书等有一些区别,另外 APP 大部分情况下不习惯用 cookie 做鉴权,需要其他方案比如 token 这类
    TryToCatchYou
        26
    TryToCatchYou  
       9 天前
    @archyese 版本应该不分 Web 和 APP 吧,应用版本
    bbbblue
        27
    bbbblue  
       9 天前   ❤️ 1
    app 需要更好的兼容 web 和后端你可能只需要考虑最近的兼容 但是如果你 app 可能半年前的版本还有不少用户在用
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   952 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 20:10 · PVG 04:10 · LAX 13:10 · JFK 16:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.