为什么要创造 Strawberry?#
Strawberry 的灵感来自于 dataclasses[1],它的目标之一是为 GraphQL 初学者和高级用户提供良好的开发体验。
除此之外,我们真的想创建和培养友好的、受欢迎的社区,让人们在 Python 中使用 GraphQL。
为什么要使用 Strawberry?#
备注
目前 Strawberry 仍处于早期开发阶段,所以有可能会突然发生变化,但希望公共 API 足够稳定。
多亏了类型提示和数据类启发的装饰器语法,Strawberry 提供了很好的开发体验,这将有助于编写更好的 GraphQL API,同时也有助于在使用像 myypy 这样的类型检查器时发现错误。
下面是类型的基本示例,以及它与 GraphQL 中的等效类型的比较:
@strawberry.type
class User:
id: strawberry.ID
name: str
type User {
id: ID!
name: String!
}
如您所见,该代码与使用 GraphQL SDL 编写的代码非常相似。正因为如此,我们认为 Strawberry 在代码优先和模式优先之间找到了完美的中间地带。
还将提供有用的功能和集成;例如,支持 Apollo Federation,文件上传,权限和集成流行的框架,如 Django, ASGI 和 Flask。
最后,尝试修复错误,并通过 GitHub 或 Discord 服务器 提供帮助,所以如果有任何问题,请随意删除问题或在 Discord 上询问。