都 9102 年了,大家有没有用上 Facebook 出的 GraphQL ?

2019-08-05 11:41:06 +08:00
 StarkWhite

突然发现 v2 首页有两个阿里招聘贴,并且都有提到 Facebook 开源的 GraphQL。

阿里云 2020 校招内推,光速面试流程
(通过类 GraphQL+Serverless 实现接口聚合,减少前后端沟通成本)
https://yangjunhui.monster/t/587238

[阿里巴巴秋招] 飞猪用户技术,免笔试极速内推!可查进度
(参与端领域开源技术建设:Nodejs / Graphql / Serverless )
https://yangjunhui.monster/t/588764

去年 Linux 基金会成立了 GraphQL 基金会,今年亚马逊 AWS 宣布加入
https://aws.amazon.com/cn/blogs/china/aws-joins-the-graphql-foundation/

掘金、简书 上也有频繁发布的大量 GraphQL 各种相关博客
https://juejin.im/tag/GraphQL
https://www.jianshu.com/search?q=GraphQL

GitHub 上各种语言的开源实现都有了,Star 数基本都挺高。
https://github.com/search?q=graphql

V 站、知乎、技术群等也有很多关于 GraphQL 的讨论,看起来 GraphQL 已经是一个大趋势了。
https://graphql.org/
https://graphql.cn/
https://graphql.org.cn/

那么问题来了,都 9102 年了,大家有没有用上 Facebook 出的 GraphQL ?

20632 次点击
所在节点    程序员
137 条回复
StarkWhite
2019-08-06 10:31:40 +08:00
@wentaoliang 后端也省了很多事啊,不用组装接口了
myyou
2019-08-06 10:34:26 +08:00
@StarkWhite graphql 只是 fb 贡献了一个协议,任何人都可以根据协议实现自己的 graphql,谈不上 fb 支撑。
nicoljiang
2019-08-06 10:36:51 +08:00
graphql 跟 restful 一样,只是一个思路或 Guide 吧。
karllynn
2019-08-06 11:08:27 +08:00
感觉没啥优势,类似的解决方案有很多。

最大的作用可能将来方便用 AI 替代人写 CURD,让一批人下岗(
Tonni
2019-08-06 11:21:08 +08:00
Graphql 用起来确实方便,接口非常灵活,我以前做过一个 demo 给团队里面介绍过,后来业务没需求也就没在线上使用 - https://github.com/HouCoder/graphql-presentation
dcoder
2019-08-06 11:42:16 +08:00
本来 SQL 还有优化 SQL 就是一堆问题了,
现在好,来个更沙雕的 idea,把 SQL 弄到最前端去, 直接暴露在空气中随便弄...
好像所有的查询优化都可以魔法搬自动解决一样, 实在太脑残了
abcbuzhiming
2019-08-06 12:36:05 +08:00
@StarkWhite 后端省事个毛,后端多了一堆事。这东西对后端的业务复杂性有任何降低吗?没有!它给了前端自由,但是这个自由你以为没代价的?
leopku
2019-08-06 12:41:27 +08:00
前面很多喷的能搞清楚再来喷么!

还特么说什么把 sql 弄到前端,你丫就整一个脑残玩意!
nigelvon
2019-08-06 13:02:05 +08:00
开喷麻烦先搞清楚一点行么?
GraphQL 生产环境用了 2 年了,适合新项目,不适合老顽固后端。
有一定的门槛,水品差的没有按照 GraphQL 的逻辑来思考反而会增加工作量,还不如不用。
摸透了之后是真的爽,接口效率大幅提审,版本迭代快得飞起。
catcalse
2019-08-06 13:03:39 +08:00
都 9012 年了,大家还没有吃上热乎的翔。是道德的沦丧还是人性的扭曲
nigelvon
2019-08-06 13:05:37 +08:00
@zjsxwc GraphQL 极其有价值的一点就是前端没有请求的属性可以不消耗资源去生成,到你这就变成“服务器查询执行业务的消耗仍旧不变”了?你确定你用过么
zjsxwc
2019-08-06 13:26:05 +08:00
@nigelvon #67 原文:“@zjsxwc GraphQL 极其有价值的一点就是前端没有请求的属性可以不消耗资源去生成,到你这就变成“服务器查询执行业务的消耗仍旧不变”了?你确定你用过么”
======
回复:到了业务层面,就算不反回某数据的字段,数据库也返回数据的,除非你不用 orm
leopku
2019-08-06 13:49:36 +08:00
@abcbuzhiming graphql 官网哪条宣传信息告诉你它是用来降低后端业务复杂性的?!!!能先搞清楚 graphql 的作用和在系统架构中的位置才来再喷吗?
StarkWhite
2019-08-06 13:56:29 +08:00
@winglight2016 我也觉得,talk is cheap,show me your code
monkingame
2019-08-06 13:57:22 +08:00
@StarkWhite 前端是需要的,比如有 apollo graphql 的 client 端,有 js ( react/vue/ng )、java、swift 等实现,但就是没有 dart 的。我现在要用 flutter 开发,必须找 dart 实现,但没有官方支持。
graphql 是 Facebook 提出来的,flutter 是 Google 的,估计两家尿不到一块去,dart 的实现目前只有第三方个人开发支持,很脆弱,目前 flutter 下只能作罢。

graphql 用过一段时间,感觉还不错,因为是从头自己设计开发的 App,没有包袱,所以逮着最新技术就用,反正掉坑里大不了躺着不出来。
我个人感觉,前端后端碰个头,自己写一套工具,隐藏掉存取细节,只暴露必须的数据接口,就是个微型的 graphql 了。
StarkWhite
2019-08-06 13:59:38 +08:00
@monkingame
前端用正常的 HTTP 请求拼接 GraphQL 的 Query 字符串过去就行了,
有封装更好,没有也麻烦不了多少啊
StarkWhite
2019-08-06 14:02:49 +08:00
@myyou 官方提供了 js 版实现
https://github.com/graphql/graphql-js
StarkWhite
2019-08-06 14:06:01 +08:00
@xuyl RESTful 早就烂大街了啊,只是复杂的接口,用 RESTful 不好搞,前端调用多个 API 再提取和组装数据挺烦的,后端组装各种不同的接口给前端不同版本,不同客户端去调用,维护也很麻烦,然后 GraphQL 就出来了,前端就可以定制接口了,后端也省了很多工作量
yannxia
2019-08-06 14:07:46 +08:00
并不觉得好用
StarkWhite
2019-08-06 14:13:29 +08:00
@catcalse 就你皮~

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

https://yangjunhui.monster/t/589138

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

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

© 2021 V2EX