Apollo Kotlin高度模块化,使你可以轻松地仅包含你使用的功能,而排除其他功能,从而保持二进制大小和编译时间缩小。
所有模块均记录在KDoc API 参考
apollo-annotations
是一个非常小的模块,其中包含 @ApolloExperimental
和用于主要用于处理 API 生命周期管理的其他注释。
他是其他大部分模块的 API 依赖项。
apollo-api
包含编译生成的代码和解析响应的最基本符号。
它不包含任何网络或缓存代码。 有关更完整的工件,请参阅 apollo-runtime
。
参阅 ``使用不带 apollo-runtime 的模型''以了解如何使用 apollo-api
。
apollo-ast
包含用于解析 GraphQL文档并操纵其抽象语法树的代码。
参阅 ``Apollo AST''以了解如何使用 apollo-ast
。
apollo-compiler
是 apollo-gradle-plugin 使用的低级编译器 API。
apollo-compiler
使用 JavaPoet和 KotlinPoet根据 GraphQL 操作生成 Java 和 Kotlin 模型。
apollo-compiler
通常通过 Gradle 或 Maven 插件来使用。它还包含 ApolloCompilerPlugin
。
有关如何开发编译器插件的信息,“Apollo 编译器插件”。
apollo-debug-server
是一个将你的标准化高速缓存提供给 IntelliJ/Android Studio 插件的服务器。
apollo-gradle-plugin
包含 Apollo Gradle 插件。
此模块会隐藏并重新定位其运行时依赖项,以避免类路径问题。在某些情况下,这样做会加大了调试的难度。
有关 apollo-gradle-plugin
版本的信息(不隐藏其依赖项),请参阅 apollo-gradle-plugin-external
。
有关如何使用 Gradle 插件的信息,“Gradle 插件配置”。
apollo-gradle-plugin-external
包含 Apollo Gradle 插件。
此模块不会隐藏其运行时依赖项,因此更容易出现 Gradle 类路径问题。
有关 apollo-gradle-plugin-external
版本的信息(隐藏其依赖项),请参阅 apollo-gradle-plugin
。
有关如何使用 Gradle 插件的信息,“Gradle 插件配置”。
apollo-http-cache 是一个用于你的 GraphQL 操作的 HTTP 高速缓存。与普通的 HTTP 高速缓存相比,它还可以高速缓存 POST 请求。
有关如何使用 HTTP 高速缓存的信息,“HTTP 高速缓存”。
apollo-normalized-cache 包含
ApolloStore
和 ApolloCacheInterceptor
。它连接 ApolloClient
和 ApolloNormalizedCache
。
参见 “标准化缓存”了解如何使用标准化缓存。
apollo-normalized-cache-api
是一个底层缓存。它不包含协同程序的任何内容,也不包含 apollo-runtime
,并包含 NormalizedCache
的内存实现。
大多数情况下,使用 apollo-normalized-cache
即可。
参见 “标准化缓存”了解如何使用标准化缓存。
apollo-normalized-cache-sqlite
包含 NormalizedCache
的实现,在应用重新启动时,该实现使用 SQLite 来持久保存数据。
参见 “标准化缓存”了解如何使用标准化缓存。
apollo-runtime
包含 ApolloClient
,用于执行查询和 订阅的网络代码。这是主要入口点。
参见 “入门”了解如何实例化和使用 ApolloClient
。
apollo-testing-support
包含:
QueueTestNetworkTransport
和 MapTestNetworkTransport
用于在没有模拟服务器的情况进行测试。- 用于 Apollo 测试的一组辅助函数。它们原本不打算成为公共内容,将在未来版本中被移除。这些符号已标记为已弃用。如果使用这些符号,请将其复制粘贴到您的项目中。
参见 “模拟 GraphQL 响应”了解如何使用测试网络传输。
以下模块已弃用,将在将来版本中移除。
apollo-adapters
包含常见日期和大十进制 GraphQL 标量的适配器。
此模块已弃用并已迁移至 Apollo Galaxy。有关更多详情,请参阅 Apollo Galaxy 页面。
apollo-api-java
包含编译 Java 模型所需符号。
此模块已弃用并已迁移至 Apollo Galaxy。有关更多详情,请参阅 Apollo Galaxy 页面。
apollo-engine-ktor
是 HttpEngine
和 WebSocketEngine
的实现,它使用 Ktor。
此模块已弃用并已迁移至 Apollo Galaxy。有关更多详情,请参阅 Apollo Galaxy 页面。
apollo-idling-resource
包含 Espresso IdlingResource
,它监控对 GraphQL API 的调用。
此模块已弃用,因为我们建议您等待 UI 更改。请参阅 这篇有关执行此操作方法的文章。
apollo-mockserver
是用于测试的 HTTP 服务器。它支持多平台和 Websockets。
该 API 最小,性能不是目标。不要用于生产 API。
此模块已弃用并已迁移至 Apollo Galaxy。有关更多详情,请参阅 Apollo Galaxy 页面。
apollo-runtime-java
是 ApolloClient
的实现,它不使用协程,并且对 Java 调用者来说更友好。
此模块已弃用并已迁移至 Apollo Galaxy。有关更多详情,请参阅 Apollo Galaxy 页面。
apollo-rx2-support
提供围绕 kotlinx-coroutines-rx2
的轻量级包装。
此模块已弃用,将在未来版本中删除。
apollo-rx3-support
提供围绕 kotlinx-coroutines-rx3
的轻量级包装。
此模块已弃用,将在未来版本中删除。
apollo-rx2-support-java
提供从 ApolloCall
到其 RxJava3 等效项的适配器。
此模块已弃用并已迁移至 Apollo Galaxy。有关更多详情,请参阅 Apollo Galaxy 页面。
apollo-rx3-support-java
提供从 ApolloCall
到其 RxJava3 等效项的适配器。
此模块已弃用并已迁移至 Apollo Galaxy。有关更多详情,请参阅 Apollo Galaxy 页面。
这些模块仅因技术原因而发布。它们的大多数符号都是 @ApolloInternal
并且可能随时被删除。避免使用它们。
apollo-mpp-utils
包含一些用于处理多平台项目的实用程序。
截至 2024 年 6 月,它只包含 currentTimeMillis
。在大多数情况下,我们应该用 kotlin.time.TimeMark
替换它,但在 HttpInfo
中仍然将其用作绝对时间戳,我们暂时还无法删除它。
此模块仅因技术原因而发布。请勿直接使用。
apollo-tooling
包含一些 API,用于处理 GraphQL 模式和 操作以及 GraphOS API。它用于 CLI 和 Gradle 插件中
此模块仅因技术原因而发布。请勿直接使用。