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 插件中
此模块仅因技术原因而发布。请勿直接使用。