V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ufo22940268
V2EX  ›  问与答

Graphql 解决什么问题的

  •  
  •   ufo22940268 · 2017-05-31 06:47:13 +08:00 via iPhone · 4532 次点击
    这是一个创建于 2736 天前的主题,其中的信息可能已经有所发展或是发生改变。
    能不能带来生产效率上的提升

    文档看了,教程看了,还是没想通这个问题
    13 条回复    2018-07-16 19:02:59 +08:00
    cxbig
        1
    cxbig  
       2017-05-31 06:57:01 +08:00 via Android   ❤️ 1
    目前的直观感受是
    前后端独立,前端要什么数据结构自己加参数即可,熟悉了手册都不用翻。
    不用让后端程序员参与修改数据结构。
    不用像 Restful 那样输出大量冗余数据占流量。
    plantain
        2
    plantain  
       2017-05-31 08:59:28 +08:00 via Android
    用来大幅提高接口的灵活性。
    缺点是因为默认每个字段一个查询,会默认导致后端性能大幅降低。实际使用时,一般还需要合并查询的一层架构,后端架构需要改。
    airyland
        3
    airyland  
       2017-05-31 11:50:35 +08:00
    接口数据按需使用,适配的话后端工作量比较大,缓存是个问题。
    wentian
        4
    wentian  
       2017-05-31 12:22:16 +08:00
    解决了「僵硬的 RESTful 」的问题
    ufo22940268
        5
    ufo22940268  
    OP
       2017-05-31 12:43:03 +08:00
    @airyland 是不是意味着后端只返回了前端需要的数据.

    换句话说,后端对应一个接口的 resolver 查处了数据 f1, f2, f3, 然后前端只需要 f3, 那么 f1 和 f2 都白查了.
    tlday
        6
    tlday  
       2017-05-31 12:51:08 +08:00 via Android
    因为 github.v4.api 的原因,也在关注,看了官网的很多东西,感觉都在谈主义啊…话说官网还被墙了😂
    kenshinhu
        7
    kenshinhu  
       2017-05-31 13:05:08 +08:00
    这个可以说把将后端的业务流硬扔给前端做吗?
    hronro
        8
    hronro  
       2017-05-31 13:20:34 +08:00
    其实开发效率提升蛮大的
    ufo22940268
        9
    ufo22940268  
    OP
       2017-05-31 13:32:44 +08:00
    @hronro 哪一方面带来提升?
    QAPTEAWH
        10
    QAPTEAWH  
       2017-05-31 13:48:46 +08:00
    graph、relational 都是一种数学模型。

    graph 比 relational 强很多。
    roys
        11
    roys  
       2017-05-31 13:59:40 +08:00
    有个朋友的公司开始用了,不明觉厉
    TommyLemon
        12
    TommyLemon  
       2018-07-12 14:31:37 +08:00
    @plantain 这种做法性能不是一般的差啊,APIJSON 自动将前端传的 JSON 转为 SQL 语句执行后返回对应结构的 JSON。前端可通过 @column:"id,name" 指定 SELECT id,name,只查需要的字段。右上角点 Star 支持下吧^_^
    TommyLemon
        13
    TommyLemon  
       2018-07-16 19:02:59 +08:00
    完爆 Facebook/GraphQL,APIJSON 全方位对比解析
    (一)-基础功能
    (二)-权限控制
    juejin.im/post/5ae80edd51882567277433cf
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3355 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 00:41 · PVG 08:41 · LAX 16:41 · JFK 19:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.