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

国内用 GraphQL 的好像不多?

  •  
  •   BeijingBaby · 79 天前 · 1081 次点击
    这是一个创建于 79 天前的主题,其中的信息可能已经有所发展或是发生改变。

    确实解放了后端接口的开发量,前端需要什么,后端扩展一下 GraphQL 的定义就行。

    但是感觉很多都下放给前端了,可能会导致优化工作不好优化,权限不好控制,有点裸奔的感觉。

    大家平时有在用吗?

    4 条回复    2024-09-23 11:35:54 +08:00
    XCFOX
        1
    XCFOX  
       79 天前
    GraphQL 很好用,对比 RESTful API 简直完胜。但是很多人并不理解 GraphQL ,甚至把 GraphQL 和 SQL 混为一谈。

    GraphQL 在团队开发中解决了 3 个主要问题:
    1. 服务端到客户端的强类型:GraphQL 本身是一门语言,而且是强类型语言。使用 GraphQL 客户端能够通过服务端提供的 schema 生成全面的 API 类型,极大减轻了前端的负担;
    2. 文档与沟通:每个 GraphQL 服务都会有一个 schema 文件,这个文件就描述了该服务内的所有接口,要了解该服务可以直接看 schema 而不是代码;
    3. 接口聚合:GraphQL 允许客户端定义要获取的字段,前端想拿什么接拿什么,避免了前后端扯皮( https://www.v2ex.com/t/1036619 )。大型项目里常常需要 BFF 中间层也是为了接口聚合,很多 BFF 层甚至都是拿 GraphQL 搞的。

    看楼主的发言,我估计后端是直接用 PostGraphile, hasura 这样的框架直接把数据库表以 GraphQL 的形式暴露给前端。不得不说这是效率极高的做法,但是很难控制权限访问,只适合快速开发阶段使用。常规开发时我还是建议使用 nest.js 这样的框架老老实实做功能。

    顺带安利我们团队自研的 GraphQL 框架 GQLoom:
    https://github.com/modevol-com/gqloom
    GQLoom 是实现优先( Implementation-First )的 GraphQL 框架,适用于 JavaScript/TypeScript 。GQLoom 最大的亮点是允许使用 Zod 、Valibot 这样的 Schema 库构建 GraphQL ,代码简洁且有完善的类型安全,马上会跟进对 Prisma 、Drizzle ORM 的集成。
    foolishcrab
        2
    foolishcrab  
       79 天前 via iPhone
    国内在第一阶段,不知道有啥用
    国外在第三阶段,都用过了然后回头喷

    仅个人观察外网主流技术社区讨论 graphql 现在基本都是负面的
    billzhuang
        3
    billzhuang  
       79 天前 via iPhone
    很多年前就开始用吧
    lizy0329
        4
    lizy0329  
       79 天前
    国外的用人也不多
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4956 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 08:54 · PVG 16:54 · LAX 00:54 · JFK 03:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.