All Projects β†’ apollographql β†’ Apollo Ios

apollographql / Apollo Ios

Licence: mit
πŸ“± Β A strongly-typed, caching GraphQL client for iOS, written in Swift.

Programming Languages

swift
15916 projects
typescript
32286 projects

Projects that are alternatives of or similar to Apollo Ios

Messenger
Open source, native iOS Messenger, with realtime chat conversations (full offline support).
Stars: ✭ 4,264 (+33.58%)
Mutual labels:  graphql-client, apollographql, apollo-ios
Learnapollo
πŸ‘©πŸ»β€πŸ« Learn Apollo - A hands-on tutorial for Apollo GraphQL Client (created by Graphcool)
Stars: ✭ 5,274 (+65.23%)
Mutual labels:  graphql, apollographql, apollo-ios
Apollo Android
πŸ€– Β A strongly-typed, caching GraphQL client for the JVM, Android, and Kotlin multiplatform.
Stars: ✭ 2,949 (-7.61%)
Mutual labels:  graphql, apollographql, graphql-client
Graphql Query Test Mock
Easily mock GraphQL queries in your Relay Modern / Apollo / any-other-GraphQL-client tests.
Stars: ✭ 49 (-98.46%)
Mutual labels:  graphql, apollographql, graphql-client
Apollo Client
πŸš€ Β A fully-featured, production ready caching GraphQL client for every UI framework and GraphQL server.
Stars: ✭ 17,070 (+434.77%)
Mutual labels:  graphql, apollographql, graphql-client
Apollo Angular
A fully-featured, production ready caching GraphQL client for Angular and every GraphQL server 🎁
Stars: ✭ 1,058 (-66.85%)
Mutual labels:  graphql, apollographql, graphql-client
Swift Graphql
A GraphQL client that lets you forget about GraphQL.
Stars: ✭ 264 (-91.73%)
Mutual labels:  graphql, graphql-client
Hotchocolate
Welcome to the home of the Hot Chocolate GraphQL server for .NET, the Strawberry Shake GraphQL client for .NET and Banana Cake Pop the awesome Monaco based GraphQL IDE.
Stars: ✭ 3,009 (-5.73%)
Mutual labels:  graphql, graphql-client
Graphql.js
A Simple and Isomorphic GraphQL Client for JavaScript
Stars: ✭ 2,206 (-30.89%)
Mutual labels:  graphql, graphql-client
36 Graphql Concepts
πŸ“œ 36 concepts every GraphQL developer should know.
Stars: ✭ 209 (-93.45%)
Mutual labels:  graphql, graphql-client
Graphql Kafka Subscriptions
Apollo graphql subscriptions over Kafka protocol
Stars: ✭ 154 (-95.18%)
Mutual labels:  graphql, apollographql
Gramps Legacy
The core data source combination engine of GrAMPS.
Stars: ✭ 198 (-93.8%)
Mutual labels:  graphql, apollographql
Loona
πŸŒ• Application State Management done with GraphQL
Stars: ✭ 270 (-91.54%)
Mutual labels:  graphql, apollographql
Gqlify
[NOT MAINTAINED]An API integration framework using GraphQL
Stars: ✭ 182 (-94.3%)
Mutual labels:  graphql, graphql-client
Modelizr
Generate GraphQL queries from models that can be mocked and normalized.
Stars: ✭ 175 (-94.52%)
Mutual labels:  graphql, graphql-client
Grafoo
A GraphQL Client and Toolkit
Stars: ✭ 264 (-91.73%)
Mutual labels:  graphql, graphql-client
Apollo Opentracing
Performance trace your Apollo GraphQL server with Opentracing
Stars: ✭ 154 (-95.18%)
Mutual labels:  graphql, apollographql
Reason Urql
Reason bindings for Formidable's Universal React Query Library, urql.
Stars: ✭ 203 (-93.64%)
Mutual labels:  graphql, graphql-client
Neuron
A GraphQL client for Elixir
Stars: ✭ 244 (-92.36%)
Mutual labels:  graphql, graphql-client
Nodes
A GraphQL JVM Client - Java, Kotlin, Scala, etc.
Stars: ✭ 276 (-91.35%)
Mutual labels:  graphql, graphql-client

Apollo GraphQL

CircleCI build status MIT license Supported Platforms: iOS, macOS, tvOS, watchOS

Swift 5 supported Swift Package Manager compatible Carthage compatible CocoaPods compatible

Apollo iOS is a strongly-typed, caching GraphQL client, written in Swift.

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.

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.

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.

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.

Getting started

If you are new to Apollo iOS there are two ways to get started:

  1. The tutorial which will guide you through building an iOS app using Swift and Apollo iOS.
  2. A Playground covering the concepts of queries, mutations, subscriptions, SQLite caching and custom scalars.

There is also comprehensive documentation including an API reference.

Releases and changelog

All releases are catalogued and we maintain a changelog which details all changes to the library.

Roadmap

The roadmap 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.

Contributing

This project is being developed using Xcode 12.5 and Swift 5.4.

If you open Apollo.xcodeproj, you should be able to run the tests of the Apollo, ApolloSQLite, and ApolloWebSocket frameworks on your Mac or an iOS Simulator.

NOTE: Due to a change in behavior in Xcode 11's git integration, if you check this repo out using Xcode, please close the window Xcode automatically opens using the Swift Package manager structure, and open the Apollo.xcodeproj file instead.

Some of the tests run against a simple GraphQL server serving the Star Wars example schema (see installation instructions there).

If you'd like to contribute, please refer to the Apollo Contributor Guide.

Maintainers

Who is Apollo?

Apollo builds open-source software and a graph platform to unify GraphQL across your apps and services. We help you ship faster with:

  • Apollo Studio – 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.
  • 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.
  • Apollo Client – The most popular GraphQL client for the web. Apollo also builds and maintains Apollo iOS and Apollo Android.
  • 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.

Learn how to build with Apollo

Check out the Odyssey learning platform, the perfect place to start your GraphQL journey with videos and interactive code challenges. Join the Apollo Community to interact with and get technical help from the GraphQL community.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].