OSS探訪GitHubでログイン

GraphQL schemaから型安全なSwift modelを生成し、query・normalized cacheを扱う

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
4,037
主要言語
Swift
ライセンス
MIT
リポジトリ最終更新
2026/09/11
ページ内ナビ

概要

Apollo iOSはSwift向けGraphQL clientです。schemaとoperationからcode generationを行い、型安全なquery/mutation API、in-memoryまたはSQLite normalized cache、WebSocketなどをApple platformへ提供します。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

GraphQL operationからSwift modelを生成してresponseを型安全に扱う

code generationでGraphQL schemaとoperationをSwift typeへ変換し、network responseのmodelを手書きせずにqueryやmutationを実装できます。

出典:[2]

ApolloClientとnormalized cacheでnetwork・local dataを同じGraphQL modelから扱う

ApolloClientはNetworkTransportとApolloStoreをまとめるentry pointで、convenience initializerではin-memory normalized cacheを構成します。必要に応じてApolloSQLiteやApolloWebSocket productも追加できます。

出典:[3][4]

向いている用途

GraphQL APIを使うiOS appでcodegenとcache policyを共通化したい場合に向く

query model、cache、networkingをGraphQL schema中心に揃えたいiOS/macOS/watchOS/tvOS/visionOS applicationに適します。

出典:[2]

導入前の確認

2.4.0はSwift tools 6.1・iOS 15以上が前提

Package.swiftはSwift 6 mode、iOS 15、macOS 12、tvOS 15、watchOS 8、visionOS 1以上を宣言します。2.4.0ではSQLiteDatabase wrapper向けDatabaseRow公開範囲やcodegenのcapitalization ruleが改善されているため、custom cache/codegen設定を持つprojectでは生成差分を確認してください。

出典:[4][5]

参考にした公式資料

  1. [1]ApolloGraphQL/apollo-ios — GitHub repository(2026-10-06)
  2. [2]Apollo iOS 2.4.0 — README(2026-10-06)
  3. [3]ApolloClient 2.4.0 source(2026-10-06)
  4. [4]Apollo iOS 2.4.0 — Package.swift(2026-10-06)
  5. [5]Apollo iOS 2.4.0 release(2026-10-06)
  6. [6]Apollo iOS MIT license(2026-10-06)
編集部からの補足

GraphQL schemaを中心にnetwork model・query・cacheを統一したいiOS appに向きます。2.4.0はSwift 6.1/iOS 15以上が前提なのでtoolchainとdeployment targetを確認してください。

3ステップで試す

  1. 1

    Apollo iOS 2.4.0をSwiftPMへ追加する

    確認済みreleaseを固定します。iOS 15以上・Swift tools 6.1が前提です。

    .package(url: "https://github.com/apollographql/apollo-ios.git", exact: "2.4.0")
  2. 2

    application targetへApollo productをlinkする

    ApolloClientを使うtargetへApollo productを追加します。generated modelだけのtargetでは不要です。

    .product(name: "Apollo", package: "apollo-ios")
  3. 3

    GraphQL endpoint向けApolloClientを作る

    convenience initializerでdefault network transportとin-memory normalized cacheを持つclientを作ります。

    import Apollo let client = ApolloClient(url: URL(string: "https://example.com/graphql")!)
公式READMEで確認

成長

成長の推移 · 直近30日

4,037 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
4
Open PR
0

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • swift
  • graphql-client
  • apollo-ios
  • ios
  • graphql
  • apollographql
Stars
4,037
Forks
763
Watchers
82
Open Issues
89
Contributors
213
所有者種別
Organization
主要言語
Swift
ライセンス
MIT
リポジトリ最終更新
2026/09/11

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?