-
Notifications
You must be signed in to change notification settings - Fork 675
New README info architecture and content #6561
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
1e12188
e6ef640
fe3b050
957af5d
ca06140
d379d28
da25268
587144e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
<div align="center"> | ||
|
||
<p> | ||
<a href="https://www.apollographql.com/"><img src="https://raw.githubusercontent.com/apollographql/apollo-client-devtools/a7147d7db5e29b28224821bf238ba8e3a2fdf904/assets/apollo-wordmark.svg" height="100" alt="Apollo Client"></a> | ||
</p> | ||
<header> | ||
<div align="center"> | ||
<a href="https://www.apollographql.com?utm_medium=github&utm_source=apollographql_apollo-kotlin&utm_campaign=readme"><img src="https://raw.githubusercontent.com/apollographql/apollo-client-devtools/main/assets/apollo-wordmark.svg" height="100" alt="Apollo Logo"></a> | ||
</div> | ||
<div align="center"> | ||
|
||
[](http://community.apollographql.com/new-topic?category=Help&tags=mobile,client) | ||
[](https://app.slack.com/client/T09229ZC6/C01A6KM1SBZ) | ||
|
@@ -15,44 +15,93 @@ | |
|
||
[](https://ge.apollographql.com/scans) | ||
|
||
</div> | ||
</div> | ||
<h1 align="center">Apollo Kotlin</h1> | ||
|
||
**The industry-leading GraphQL client for Kotlin**. Run on Android and all the Kotlin multiplatform targets. Apollo Kotlin delivers powerful caching, code generation, intuitive APIs, and comprehensive developer tools to accelerate your app development. | ||
</header> | ||
|
||
|
||
| ☑️ Apollo Clients User Survey | | ||
|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ||
| What do you like best about Apollo Kotlin? 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+Kotlin&entry.204965213=Readme). Your responses will help us understand Apollo Kotlin usage and allow us to serve you better. | | ||
## ❓ Why Choose Apollo Kotlin? | ||
|
||
✅ 100% type safety, from your server to your app, using code generation. | ||
✅ Intuitive, powerful caching - intelligent in-memory or SQLite caching out of the box<br> | ||
bignimbus marked this conversation as resolved.
Show resolved
Hide resolved
|
||
✅ Excellent support for modern Android and Kotlin Multiplatform apps<br> | ||
✅ Always up-to-date - we prioritize support for the latest versions of GraphQL, Kotlin, Gradle, and more<br> | ||
✅ GraphOS ready - turnkey support for Persisted Queries, and `@defer`<br> | ||
✅ Production-tested - Powers countless apps worldwide that serve millions of end users<br> | ||
|
||
## 🚀 Quick Start | ||
|
||
If you are new to GraphQL, check out [the tutorial](https://www.apollographql.com/tutorials/apollo-kotlin-android-part1) that will guide you through building an Android app using Apollo. | ||
bignimbus marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
For more in-depth documentation, head to the [official documentation site](https://www.apollographql.com/docs/kotlin?utm_source=github&utm_medium=apollographql_apollo-kotlin&utm_campaign=readme). | ||
|
||
For a detailed "Get Started" guide, check out our [docs](https://www.apollographql.com/docs/kotlin?utm_source=github&utm_medium=apollographql_apollo-kotlin&utm_campaign=readme). | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I have the feeling this either too short or too long. If we really want to include a quick start, it feels like it should explain how to write a query and use the generated models. A .gif like SQLDelight would do wonders There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Removed the instructions and linked out to the docs for now. Gif would be awesome as a follow up! |
||
## 💡 Resources | ||
|
||
| Resource | Description | Link | | ||
| ----- | ----- | ----- | | ||
| **Full Documentation** | Comprehensive guides and examples | [Read Docs →](https://www.apollographql.com/docs/kotlin?utm_source=github&utm_medium=apollographql_apollo-kotlin&utm_campaign=readme) | | ||
| **API Reference** | Complete API documentation | [Browse Kdoc →](https://apollographql.github.io/apollo-kotlin/kdoc/older/4.2.0/index.html?utm_source=github&utm_medium=apollographql_apollo-kotlin&utm_campaign=readme) | | ||
| **IntelliJ Plugin** | Enhanced development experience | [Install Plugin →](https://plugins.jetbrains.com/plugin/20645-apollo-graphql) | | ||
| **Free Course** | Learn GraphQL and Apollo Client | [Take Course →](https://www.apollographql.com/tutorials/apollo-kotlin-android-part1?utm_source=github&utm_medium=apollographql_apollo-kotlin&utm_campaign=readme) | | ||
|
||
## 🚀 Apollo Kotlin | ||
## 🧑🚀 About Apollo | ||
|
||
Apollo Kotlin is a strongly typed GraphQL client that generates Kotlin models for your GraphQL operations. | ||
Deliver tomorrow's roadmap today with our comprehensive suite of API orchestration tools: | ||
|
||
Apollo Kotlin executes operations against a GraphQL server and returns results as operation-specific Kotlin types. This means you don't have to deal with parsing JSON, or passing around `Map`s 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 app uses. | ||
* [**Apollo Client**](https://www.apollographql.com/docs/react?utm_source=github&utm_medium=apollographql_apollo-kotlin&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-kotlin&utm_campaign=readme), [iOS](https://www.apollographql.com/docs/ios?utm_medium=github&utm_source=apollographql_apollo-kotlin&utm_campaign=readme), [Kotlin](https://www.apollographql.com/docs/kotlin?utm_medium=github&utm_source=apollographql_apollo-kotlin&utm_campaign=readme)) | ||
* [**Apollo Connectors**](https://www.apollographql.com/graphos/apollo-connectors?utm_source=github&utm_medium=apollographql_apollo-kotlin&utm_campaign=readme) \- Compose all your GraphQL and REST APIs into one GraphQL endpoint | ||
* [**Apollo MCP Server**](https://www.apollographql.com/apollo-mcp-server?utm_source=github&utm_medium=apollographql_apollo-kotlin&utm_campaign=readme) \- AI needs APIs. The fastest way to ship reliable AI experiences | ||
* [**Apollo Router**](https://www.apollographql.com/docs/router?utm_source=github&utm_medium=apollographql_apollo-kotlin&utm_campaign=readme) \- Scale your APIs seamlessly with GraphQL Federation, Security, Auth, and more | ||
* [**GraphOS**](https://www.apollographql.com/graphos?utm_source=github&utm_medium=apollographql_apollo-kotlin&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-kotlin&utm_campaign=readme)) | ||
|
||
[**Explore the Complete Apollo Platform →**](https://www.apollographql.com/?utm_source=github&utm_medium=apollographql-_apollo-kotlin&utm_campaign=readme) | ||
|
||
## 🛠️ Maintained by | ||
|
||
|Name|Username| | ||
|---|---| | ||
|Benoit Lubek|[@bod](https://github.com/bod)| | ||
|Jeff Auriemma|[@bignimbus](https://github.com/bignimbus)| | ||
|Martin Bonnin|[@martinbonnin](https://github.com/martinbonnin)| | ||
|
||
## 🗺️ Roadmap | ||
|
||
We regularly update our [public roadmap](https://github.com/apollographql/apollo-kotlin/blob/main/ROADMAP.md) with the status of our work-in-progress and upcoming features. | ||
|
||
## 📣 Tell us what you think | ||
|
||
| ☑️ Apollo Kotlin User Survey | | ||
| :----- | | ||
| What do you like best about Apollo Kotlin? 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+Kotlin&entry.204965213=Readme). Your responses will help us understand Apollo Kotlin usage and allow us to serve you better. | | ||
|
||
Because generated types are operation-specific, you can only access data that you actually specify as part of an operation. If you don't ask for a particular field in an operation, you can't access the corresponding property on the returned data structure. | ||
## 🗓️ Events | ||
|
||
This library is designed with Android in mind, but you can use it in any Kotlin application, including KMP ([Kotlin Multi Platform](https://kotlinlang.org/docs/multiplatform.html)). | ||
Join these live events to meet other GraphQL users and learn more: | ||
|
||
Apollo Kotlin aims to comply with the [Working Draft of the GraphQL specification](https://spec.graphql.org/draft/). | ||
🎪 [**GraphQL Summit 2025**](https://summit.graphql.com?utm_source=github&utm_medium=apollographql_apollo-kotlin&utm_campaign=readme) | ||
Oct 6-8, 2025 • San Francisco | ||
*1000+ engineers, talks, workshops, and office hours* | ||
|
||
## 📚 Documentation | ||
🌟 [**GraphQLConf 2025**](https://graphql.org/conf/2025) | ||
Sep 8-10, 2025 • Amsterdam | ||
*Celebrating 10 Years of GraphQL* | ||
|
||
All Apollo Kotlin documentation, including caching and helpful recipes, can be found at: <br/> | ||
[https://www.apollographql.com/docs/kotlin/](https://www.apollographql.com/docs/kotlin/) | ||
[**View All Events →**](https://www.apollographql.com/events?utm_source=github&utm_medium=apollographql_apollo-kotlin&utm_campaign=readme) | ||
|
||
The Apollo Kotlin API reference can be found at: <br/> | ||
[https://apollographql.github.io/apollo-kotlin/kdoc/](https://apollographql.github.io/apollo-kotlin/kdoc/) | ||
## 🏆 Contributing | ||
|
||
Tutorials can be found in the Odyssey learning platform: [part1](https://www.apollographql.com/tutorials/apollo-kotlin-android-part1), [part2](https://www.apollographql.com/tutorials/apollo-kotlin-android-part2). | ||
Thank you for your interest in submitting a Pull Request to Apollo Kotlin! Read our [guidelines](https://github.com/apollographql/apollo-kotlin/blob/main/CONTRIBUTING.md) first, and don't hesitate to get in touch. | ||
|
||
## 👨💻 Who is Apollo? | ||
**New to open source?** Check out our [**Good First Issues**](https://github.com/apollographql/apollo-kotlin/issues?q=is%3Aopen%20label%3A%22%3Abooks%3A%20good-first-issue%22) to get started. | ||
|
||
[Apollo](https://apollographql.com/) builds open-source tools and commercial services to make application development easier, better, and accessible to more people. We help you ship faster with: | ||
## 🤝 Code of Conduct | ||
|
||
* [GraphOS](https://www.apollographql.com/graphos) - The platform for building, managing, and scaling a supergraph: a unified network of your organization's microservices and their data sources—all composed into a single distributed API. | ||
* [Apollo Federation](https://www.apollographql.com/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. | ||
* [Apollo Client](https://github.com/apollographql/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). | ||
* [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. | ||
Please read our [Code of Conduct](https://community.apollographql.com/faq). This applies to any space run by Apollo, including our GitHub repositories, the Apollo GraphOS Discord, the Apollo GraphQL Forum. The Code of Conduct reflects our commitment to making the Apollo Community a welcoming and safe space in which individuals can interact. | ||
|
||
## 🎓 Learn how to build with Apollo | ||
## 🪪 License | ||
|
||
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. | ||
Source code in this repository is available under the terms of the MIT License. Read the full text [here](https://github.com/apollographql/apollo-kotlin/blob/main/LICENSE). |
Uh oh!
There was an error while loading. Please reload this page.