Closed timzaak closed 4 months ago
Hasura 是基于 GraphQL 协议 Data Delivery Network。
国内的 APIJSON 是基于Java 做的快速API开发框架,相比于 Haskell 的 Hasura 会更容易接受。两者都在解决如何快速将数据库数据转化成API接口,不过 APIJSON 是框架级别,协议主要基于 JSON 、SQL 概念,问题域是运营后台快速开发接口, Hasura 是平台级别,问题域是整个 Web API 开发链路。
Prisma ORM 是在 GraphQL 的基础上,额外添加针对数据库表的 Annotation,从而实现用 GraphQL 语法管理数据库表,以及生成 ORM 相关函数。目标是抽象数据库DDL 到 GraphQL 语法上,并提供简易的ORM函数,屏蔽SQL语句的复杂性,搭配GraphQL web server 框架开发时,可减轻心智负担。但核心问题是 SQL 已经足够简洁,Prisma ORM更像是重新定义了问题,再解决该问题,收益并没有倍增。
Hasura Cloud 模式在国内的政策环境下不可行,需要解决域名备案、数据隐私证明等政策问题。国内企业对于第三方服务的数据隐私格外不信任。 Java/Go 版本的 Hasura 私有化部署方案可能会更有市场一些 。
本想做个 Scala 版本的 GraphQL 快速后台开发工具箱,但奈何对其产品形态想不明白,故研究了下 Hasura 以及类似产品。简单理解 Hasura 就是个GraphQL低代码平台,通过 GraphQL 语言 对整个后台逻辑进行配置。 对于我这种只是想做框架级别东西的,并不算一个比较合适的参考物。 思来想去,针对这种需求,还是做代码模版生成会比较合适:
GraphQL 语言
teocloud 类似于 Hasura。 参考其创建人的blog,可了解到: 当前 web 开发的趋势:
我对于此的看法是: 屏蔽的代码底层,使开发人员更加专注 table 表的梳理。对于那些学艺不精的研发人员来讲,是好事。
至于灵活性、开发高效性,只是个权衡问题。
简介
Hasura 是基于 GraphQL 协议 Data Delivery Network。
主要功能
遗憾(笔者自认为)
优势
类似产品
国内的 APIJSON 是基于Java 做的快速API开发框架,相比于 Haskell 的 Hasura 会更容易接受。两者都在解决如何快速将数据库数据转化成API接口,不过 APIJSON 是框架级别,协议主要基于 JSON 、SQL 概念,问题域是运营后台快速开发接口, Hasura 是平台级别,问题域是整个 Web API 开发链路。
Prisma ORM 是在 GraphQL 的基础上,额外添加针对数据库表的 Annotation,从而实现用 GraphQL 语法管理数据库表,以及生成 ORM 相关函数。目标是抽象数据库DDL 到 GraphQL 语法上,并提供简易的ORM函数,屏蔽SQL语句的复杂性,搭配GraphQL web server 框架开发时,可减轻心智负担。但核心问题是 SQL 已经足够简洁,Prisma ORM更像是重新定义了问题,再解决该问题,收益并没有倍增。
国内类似产品可行性
Hasura Cloud 模式在国内的政策环境下不可行,需要解决域名备案、数据隐私证明等政策问题。国内企业对于第三方服务的数据隐私格外不信任。 Java/Go 版本的 Hasura 私有化部署方案可能会更有市场一些 。
小结
本想做个 Scala 版本的 GraphQL 快速后台开发工具箱,但奈何对其产品形态想不明白,故研究了下 Hasura 以及类似产品。简单理解 Hasura 就是个GraphQL低代码平台,通过
GraphQL 语言
对整个后台逻辑进行配置。 对于我这种只是想做框架级别东西的,并不算一个比较合适的参考物。 思来想去,针对这种需求,还是做代码模版生成会比较合适: