国内用 GraphQL 的好像不多?

2024-09-22 19:58:19 +08:00
 BeijingBaby

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

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

大家平时有在用吗?

1837 次点击
所在节点   GraphQL
4 条回复
XCFOX
2024-09-22 20:58:35 +08:00
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
2024-09-23 01:07:34 +08:00
国内在第一阶段,不知道有啥用
国外在第三阶段,都用过了然后回头喷

仅个人观察外网主流技术社区讨论 graphql 现在基本都是负面的
billzhuang
2024-09-23 07:51:44 +08:00
很多年前就开始用吧
lizy0329
2024-09-23 11:35:54 +08:00
国外的用人也不多

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1074846

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX