关于 GQL 的新动态,各位怎么看,对前端后端有什么影响

2018-11-08 09:48:21 +08:00
 gzf6

https://www.cnbeta.com/articles/tech/785733.htm

4970 次点击
所在节点    程序员
48 条回复
TommyLemon
2018-11-08 12:40:14 +08:00
@buhi
不是保证,是基于事实的对比。
APIJSON 与 GraphQL 全方位对比解析(一)-基础功能
juejin。im/post/5ae80edd51882567277433cf

APIJSON 与 GraphQL 全方位对比解析(二)-权限控制
juejin。im/post/5b17518c6fb9a01e75463096

APIJSON 与 GraphQL 全方位对比解析(三)-表关联查询
juejin。im/entry/5b4ff88f6fb9a04f914a8df5

如果你单纯用影响力来对比,那 OKHTTP,Mybatis,RxJava,Vue.js 等
早期由个人开发者做起来的项目都不能和 FLAG 等大公司同类项目比了,更不可能超过了。

GraphQL 硬生生地把加强版 API Proxy 做成了一门编程语言(#import,$variable...),
基础的问题(定制结构、分组排序、JOIN 等)没都解决好,还越做越复杂,概念满天飞。
那套新的协议还真只有 Facebook 那种水平的大牛才能准确高效地解析出来,
不过毕竟是新协议,怎么都不会比发展了快 20 年的 JSON 更成熟方便。

APIJSON 基于 JSON 扩展而来,不但提供了几乎所有 SQL 常用功能+远程函数等其它功能,
还可以很好地利用 JSON 的生态,可以用一大堆成熟的封装与解析库,一大堆视频博客等教程,
一大堆方便好用的调试工具(Chrome 控制台、Postman 等对 JSON 内置支持)...

而且现在 APIJSON 主项目(Java)也有 4 个开发者在维护,支持 MySQL, PostgreSQL, Oracle。

还有其它 3 个作者分别实现了 APIJSON 的 C#, PHP, Node.js 版。

加上 APIJSONAuto 自动化接口管理工具( GraphiQL,Graphcool 的 PlayGround,Apollo Client Devtools,GraphQLIDE 好用很多,你可以都对比下)已经有一个初具雏形的 APIJSON 生态了。
TommyLemon
2018-11-08 12:43:44 +08:00
@TommyLemon 是 APIJSONAuto 比它们好用很多,它们只在支持代码自动补全有优势,
而 APIJSONAuto 的 自动注释请求、自动生成代码、自动化回归测试(前后对比测试+机器学习测试)是它们都没有的。
http://apijson。org/
kran
2018-11-08 12:50:27 +08:00
@TommyLemon apijson 怎么和权限认证配合的?
reus
2018-11-08 13:11:46 +08:00
@TommyLemon 我们有自己的方案,不用你这破东西
likuku
2018-11-08 13:17:40 +08:00
刚看到阮一峰的推文: [看到一句妙语。“ GraphQL 的本质是程序员想对 JSON 使用 SQL。”]

https://twitter.com/ruanyf/status/1060350454238859264
zjsxwc
2018-11-08 13:29:11 +08:00
25 楼说的对,本质就是把 json 转 sql
Narcissu5
2018-11-08 13:34:25 +08:00
第一反应这不就是当年的 web service 么,无非 xml 换成了 json。不知道为什么 facebook 总喜欢重蹈覆辙,react 也是一样的感觉
buhi
2018-11-08 14:25:45 +08:00
@Narcissu5 react 重蹈了什么?
TommyLemon
2018-11-08 14:30:26 +08:00
@kran 3 行代码即可实现 各种角色 对一张表的 增删改查 默认权限配置,支持通过注解来自定义。
my.oschina.net/tommylemon/blog/889074
TommyLemon
2018-11-08 14:32:10 +08:00
@reus 还请您把方案拿出来和“我这破东西”对比下,让大家也长长见识,顺便给与支持
vipppppp
2018-11-08 14:34:51 +08:00
之前还没了解过,刚刚看了一下 GQL,下了个 python 的 demo 看了一下,感觉确实就是 json 转 sql
至于 apijson 只能说我无福享受啊,毕竟我是个 python 程序员 = =
TommyLemon
2018-11-08 14:47:04 +08:00
@vipppppp 唉,之前有个开发者在 issue 里留言说在做 Python 版:
“刚刚把单元测试写好。json 的表现层完全自定义,都是为了对应 sql ”
到现在有 2 个月了也没更新
github。com/TommyLemon/APIJSON/issues/38
Narcissu5
2018-11-08 15:07:17 +08:00
@buhi 逻辑和展示高度耦合
buhi
2018-11-08 15:27:15 +08:00
@Narcissu5 我觉得 react 只是说很容易写出逻辑和展示高度耦合的代码而已, 并不是 react 自己有在鼓励这种写法.
whypool
2018-11-08 16:09:08 +08:00
fb 出的东西,真的不敢恭维,也就剩下 fb 这大厂在背书了

如果这是其他公司出的,估计会被喷成翔,即使红透了的 react 也一样
sologgfun
2018-11-08 16:47:23 +08:00
有点意思 马克一下
reus
2018-11-08 16:54:57 +08:00
@Narcissu5 逻辑也是显示逻辑,不耦合干嘛?
neoblackcap
2018-11-08 17:10:29 +08:00
理论上这个东西要优化,那么就得把数据库的查询优化器提到应用层,要不然上面所说的 N+1 问题,性能就会马上爆炸
eloah
2018-11-08 18:26:16 +08:00
之前用了一下,很多蛋疼的地方
比如复杂的权限控制,比如还要自己弄 data loader
TommyLemon
2018-11-08 18:29:59 +08:00
@eloah 哈哈,可以看下 APIJSON,提供自动化的权限控制,自动化 join,#9 楼 #21 楼有详细对比

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

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

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

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

© 2021 V2EX