Skip to content

Commit d041b40

Browse files
gh-action-runnergh-action-runner
authored andcommitted
Squashed 'apollo-ios/' changes from 038b6e707..e47ba686b
e47ba686b New README info architecture and content (#665) 095f6062b More code review updates 3815b9b94 Apply suggestions from code review 8682e9305 Update README.md b028c0fea New README info architecture and content git-subtree-dir: apollo-ios git-subtree-split: e47ba686b3d90de632148e77652745506665da1f
1 parent 22b9017 commit d041b40

File tree

1 file changed

+103
-41
lines changed

1 file changed

+103
-41
lines changed

README.md

Lines changed: 103 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,16 @@
1-
<p align="center">
2-
<img src="https://raw.githubusercontent.com/apollographql/apollo-client-devtools/main/assets/apollo-wordmark.svg" alt="Apollo GraphQL"/>
3-
</p>
1+
<header>
2+
<div align="center">
3+
<a href="https://www.apollographql.com?utm_medium=github&utm_source=apollographql_apollo-client&utm_campaign=readme"><img src="https://raw.githubusercontent.com/apollographql/apollo-client-devtools/main/assets/apollo-wordmark.svg" height="100" alt="Apollo Logo"></a>
4+
</div>
5+
<h1 align="center">Apollo iOS</h1>
6+
7+
**The industry-leading GraphQL client in Swift for iOS, macOS, watchOS, tvOS, and more.** Apollo iOS delivers powerful caching, robust code generation, and intuitive APIs to accelerate your app development.
8+
9+
➡️ [**Get Started with Apollo iOS →**](https://www.apollographql.com/docs/ios/get-started?utm_source=github&utm_medium=apollographql_apollo-client&utm_campaign=readme)
10+
11+
<div align="center">
12+
<br><br>
413

5-
<p align="center">
614
<a href="https://github.com/apollographql/apollo-ios-dev/actions/workflows/ci-tests.yml">
715
<img src="https://github.com/apollographql/apollo-ios-dev/actions/workflows/ci-tests.yml/badge.svg?branch=main" alt="GitHub Action Status">
816
</a>
@@ -11,10 +19,8 @@
1119
</a>
1220
<a href="Platforms">
1321
<img src="https://img.shields.io/badge/platforms-iOS%20%7C%20macOS%20%7C%20tvOS%20%7C%20watchOS-333333.svg" alt="Supported Platforms: iOS, macOS, tvOS, watchOS" />
14-
</a>
15-
</p>
22+
</a><br><br>
1623

17-
<p align="center">
1824
<a href="https://github.com/apple/swift">
1925
<img src="https://img.shields.io/badge/Swift-5.7-orange.svg" alt="Swift 5.7 supported">
2026
</a>
@@ -24,62 +30,118 @@
2430
<a href="https://cocoapods.org/pods/Apollo">
2531
<img src="https://img.shields.io/cocoapods/v/Apollo.svg" alt="CocoaPods compatible">
2632
</a>
27-
</p>
2833

29-
| ☑️ Apollo Clients User Survey |
30-
| :----- |
31-
| What do you like best about Apollo iOS? What needs to be improved? Please tell us by taking a [one-minute survey](https://docs.google.com/forms/d/e/1FAIpQLSczNDXfJne3ZUOXjk9Ursm9JYvhTh1_nFTDfdq3XBAFWCzplQ/viewform?usp=pp_url&entry.1170701325=Apollo+iOS&entry.204965213=Readme). Your responses will help us understand Apollo iOS usage and allow us to serve you better. |
34+
</div>
35+
</header>
36+
37+
## ❓ Why Choose Apollo iOS?
38+
39+
✅ Intuitive caching - Intelligent in-memory or SQLite out of the box<br>
40+
✅ Highly configurable code generation - The days of hand-writing models for network responses are over!<br>
41+
✅ Opinionated - Leads users down the "pit of success" and encourages good practices by default<br>
42+
✅ Production-tested - Powers countless apps worldwide that serve millions of end users<br>
43+
44+
## 🚀 Quick Start
45+
46+
### Add Apollo iOS to your dependencies list
47+
48+
```swift title="Package.swift"
49+
dependencies: [
50+
.package(
51+
url: "https://github.com/apollographql/apollo-ios.git",
52+
.upToNextMajor(from: "1.0.0")
53+
),
54+
],
55+
```
3256

33-
### Apollo iOS is a strongly-typed, caching GraphQL client, written in Swift
57+
### Link the Apollo product to your package target
3458

35-
It allows you to execute queries and mutations against a GraphQL server, and returns results as query-specific Swift types. This means you don’t have to deal with parsing JSON, or passing around dictionaries and making clients cast values to the right type manually. You also don't have to write model types yourself, because these are generated from the GraphQL definitions your UI uses.
59+
Any targets in your application that will use `ApolloClient` need to have a dependency on the `Apollo` product.
3660

37-
As the generated types are query-specific, you're only able to access data you actually specify as part of a query. If you don't ask for a field, you won't be able to access the corresponding property. In effect, this means you can now rely on the Swift type checker to make sure errors in data access show up at compile time. With our Xcode integration, you can conveniently work with your UI code and corresponding GraphQL definitions side by side, and it will even validate your query documents, and show errors inline.
61+
```swift title="Package.swift"
62+
.target(
63+
name: "MyApp",
64+
dependencies: [
65+
.product(name: "Apollo", package: "apollo-ios"),
66+
]
67+
)
68+
```
3869

39-
Apollo iOS does more than simply run your queries against a GraphQL server: It normalizes query results to construct a client-side cache of your data, which is kept up to date as further queries and mutations are run. This means your UI is always internally consistent, and can be kept fully up-to-date with the state on the server with the minimum number of queries required.
70+
> **Note:** Targets that only use Apollo's generated models don't need to be linked to the `Apollo` product.
4071
41-
This combination of models with value semantics, one way data flow, and automatic consistency management, leads to a very powerful and elegant programming model that allows you to eliminate common glue code and greatly simplifies app development.
72+
## 💡 Resources
4273

43-
Apollo iOS aims to comply with the [Working Draft of the GraphQL specification](https://spec.graphql.org/draft/).
74+
| Resource | Description | Link |
75+
| ----- | ----- | ----- |
76+
| **Getting Started Guide** | Complete setup and first query | [Start Here →](https://www.apollographql.com/docs/ios/get-started?utm_source=github&utm_medium=apollographql_apollo-client&utm_campaign=readme) |
77+
| **Full Documentation** | Comprehensive guides and examples | [Read Docs →](https://www.apollographql.com/docs/ios?utm_source=github&utm_medium=apollographql_apollo-client&utm_campaign=readme) |
78+
| **API Reference** | Complete API documentation | [Browse API →](https://www.apollographql.com/docs/react/api/apollo-client?utm_source=github&utm_medium=apollographql_apollo-client&utm_campaign=readme) |
79+
| **VS Code Extension** | Enhanced development experience | [Install Extension →](https://marketplace.visualstudio.com/items?itemName=apollographql.vscode-apollo) |
80+
| **DevTools** | Debug your GraphQL apps | [Chrome](https://chrome.google.com/webstore/detail/apollo-client-devtools/jdkknkkbebbapilgoeccciglkfbmbnfm) \| [Firefox](https://addons.mozilla.org/en-US/firefox/addon/apollo-developer-tools/) |
81+
| **Free Course** | Apollo iOS and Swift: Codegen and Queries | [Take Course →](https://www.apollographql.com/tutorials/apollo-ios-swift-part1?utm_source=github&utm_medium=apollographql_apollo-client&utm_campaign=readme) |
4482

45-
## Getting started
83+
## 💬 Get Support
4684

47-
If you are new to Apollo iOS we recommend our [Getting Started](https://www.apollographql.com/docs/ios/get-started) guide.
85+
**Need help?** We're here for you:
4886

49-
There is also [comprehensive documentation](https://www.apollographql.com/docs/ios/) including an [API reference](https://www.apollographql.com/docs/ios/docc/documentation/index).
87+
* [**Community Forum**](https://community.apollographql.com?utm_source=github&utm_medium=apollographql_apollo-client&utm_campaign=readme) \- Q\&A and discussions
88+
* [**GraphQL Discord**](https://discord.graphql.org) \- Real-time chat with the community
5089

51-
### Carthage/XCFramework Support
90+
## 🧑‍🚀 About Apollo
5291

53-
The Apollo iOS repo no longer contains an Xcode project, as a result if you are using Carthage or need to build XCFrameworks for use in your development environment you will want to use the [apollo-ios-xcframework](https://github.com/apollographql/apollo-ios-xcframework) repo we have created that contains an Xcode project generated with Tuist that can be used for this purpose and is tagged to match the releases of Apollo iOS.
92+
Deliver tomorrow's roadmap today with our comprehensive suite of API orchestration tools:
5493

55-
## Releases and changelog
94+
* [**Apollo Client**](https://www.apollographql.com/docs/react?utm_source=github&utm_medium=apollographql_apollo-client&utm_campaign=readme) \- Type-safe apps with GraphQL-powered on-device caching ([React](https://www.apollographql.com/docs/react?utm_medium=github&utm_source=apollographql_apollo-client&utm_campaign=readme), [iOS](https://www.apollographql.com/docs/ios?utm_medium=github&utm_source=apollographql_apollo-client&utm_campaign=readme), [Kotlin](https://www.apollographql.com/docs/kotlin?utm_medium=github&utm_source=apollographql_apollo-client&utm_campaign=readme))
95+
* [**Apollo Connectors**](https://www.apollographql.com/graphos/apollo-connectors?utm_source=github&utm_medium=apollographql_apollo-client&utm_campaign=readme) \- Compose all your GraphQL and REST APIs into one GraphQL endpoint
96+
* [**Apollo MCP Server**](https://www.apollographql.com/apollo-mcp-server?utm_source=github&utm_medium=apollographql_apollo-client&utm_campaign=readme) \- AI needs APIs. The fastest way to ship reliable AI experiences
97+
* [**Apollo Router**](https://www.apollographql.com/docs/router?utm_source=github&utm_medium=apollographql_apollo-client&utm_campaign=readme) \- Scale your APIs seamlessly with GraphQL Federation, Security, Auth, and more
98+
* [**GraphOS**](https://www.apollographql.com/graphos?utm_source=github&utm_medium=apollographql_apollo-client&utm_campaign=readme) \- Deploy, manage, govern, and explore your APIs ([start for free, no credit card needed](https://www.apollographql.com/pricing?utm_medium=github&utm_source=apollographql_apollo-client&utm_campaign=readme))
99+
100+
[**Explore the Complete Apollo Platform →**](https://www.apollographql.com/?utm_source=github&utm_medium=apollographql-_apollo-client&utm_campaign=readme)
101+
102+
## 🛠️ Maintained by
103+
104+
|Name|Username|
105+
|---|---|
106+
|Anthony Miller|[@anthonymdev](https://github.com/anthonymdev)|
107+
|Calvin Cestari|[@calvincestari](https://github.com/calvincestari)|
108+
|Jeff Auriemma|[@bignimbus](https://github.com/bignimbus)|
109+
|Zach FettersMoore|[@bobafetters](https://github.com/bobafetters)|
110+
111+
## 🗺️ Roadmap
112+
113+
We regularly update our [public roadmap](https://github.com/apollographql/apollo-ios/blob/main/ROADMAP.md) with the status of our work-in-progress and upcoming features.
114+
115+
## 📣 Tell us what you think
116+
117+
| ☑️ Apollo iOS User Survey |
118+
| :----- |
119+
| What do you like best about Apollo iOS? What needs to be improved? Please tell us by taking a [one-minute survey](https://docs.google.com/forms/d/e/1FAIpQLSczNDXfJne3ZUOXjk9Ursm9JYvhTh1_nFTDfdq3XBAFWCzplQ/viewform?usp=pp_url&entry.1170701325=Apollo+iOS&entry.204965213=Readme). Your responses will help us understand Apollo iOS usage and allow us to serve you better. |
56120

57-
[All releases](https://github.com/apollographql/apollo-ios/releases) are catalogued and we maintain a [changelog](https://github.com/apollographql/apollo-ios/blob/main/CHANGELOG.md) which details all changes to the library.
121+
## 🗓️ Events
58122

59-
## Roadmap
123+
Join these live events to meet other GraphQL users and learn more:
60124

61-
The [roadmap](https://github.com/apollographql/apollo-ios/blob/main/ROADMAP.md) is a high-level document that describes the next major steps or milestones for this project. We are always open to feature requests, and contributions from the community.
125+
🎪 [**GraphQL Summit 2025**](https://summit.graphql.com?utm_source=github&utm_medium=apollographql_apollo-client&utm_campaign=readme)
126+
Oct 6-8, 2025 • San Francisco
127+
*1000+ engineers, talks, workshops, and office hours*
62128

63-
## Contributing
129+
🌟 [**GraphQLConf 2025**](https://graphql.org/conf/2025)
130+
Sep 8-10, 2025 • Amsterdam
131+
*Celebrating 10 Years of GraphQL*
64132

65-
If you'd like to contribute, please refer to the [Apollo Contributor Guide](https://github.com/apollographql/apollo-ios-dev/blob/main/CONTRIBUTING.md).
133+
[**View All Events →**](https://www.apollographql.com/events?utm_source=github&utm_medium=apollographql_apollo-client&utm_campaign=readme)
66134

67-
## Maintainers
135+
## 🏆 Contributing
68136

69-
- [@AnthonyMDev](https://github.com/AnthonyMDev)
70-
- [@calvincestari](https://github.com/calvincestari)
71-
- [@bignimbus](https://github.com/bignimbus)
72-
- [@bobafetters](https://github.com/bobafetters)
137+
Thank you for your interest in submitting a Pull Request to Apollo iOS! Read our [guidelines](https://github.com/apollographql/apollo-ios-dev/blob/main/CONTRIBUTING.md) first, and don't hesitate to get in touch.
73138

74-
## Who is Apollo?
139+
**New to open source?** Check out our [**Good First Issues**](https://github.com/apollographql/apollo-ios/labels/good%20first%20issue) to get started.
75140

76-
[Apollo](https://apollographql.com/) builds open-source software and a graph platform to unify GraphQL across your apps and services. We help you ship faster with:
141+
## 🤝 Code of Conduct
77142

78-
- [Apollo Studio](https://www.apollographql.com/studio/develop/) – A free, end-to-end platform for managing your GraphQL lifecycle. Track your GraphQL schemas in a hosted registry to create a source of truth for everything in your graph. Studio provides an IDE (Apollo Explorer) so you can explore data, collaborate on queries, observe usage, and safely make schema changes.
79-
- [Apollo Federation](https://www.apollographql.com/apollo-federation) – The industry-standard open architecture for building a distributed graph. Use Apollo’s gateway to compose a unified graph from multiple subgraphs, determine a query plan, and route requests across your services.
80-
- [Apollo Client](https://www.apollographql.com/apollo-client/) – The most popular GraphQL client for the web. Apollo also builds and maintains [Apollo iOS](https://github.com/apollographql/apollo-ios) and [Apollo Kotlin](https://github.com/apollographql/apollo-kotlin).
81-
- [Apollo Server](https://www.apollographql.com/docs/apollo-server/) – A production-ready JavaScript GraphQL server that connects to any microservice, API, or database. Compatible with all popular JavaScript frameworks and deployable in serverless environments.
143+
Please read our [Code of Conduct](https://community.apollographql.com/faq). This applies to any space run by Apollo, including our GitHub repositories and the Community Forum. The Code of Conduct reflects our commitment to making the Apollo Community a welcoming and safe space in which individuals can interact.
82144

83-
## Learn how to build with Apollo
145+
## 🪪 License
84146

85-
Check out the [Odyssey](https://odyssey.apollographql.com/) learning platform, the perfect place to start your GraphQL journey with videos and interactive code challenges. Join the [Apollo Community](https://community.apollographql.com/) to interact with and get technical help from the GraphQL community.
147+
Source code in this repository is available under the terms of the MIT License. Read the full text [here](https://github.com/apollographql/apollo-ios/blob/main/LICENSE).

0 commit comments

Comments
 (0)