Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
Graphaello
A Tool for Writing Declarative, Type-Safe and Data-Driven Applications in SwiftUI using GraphQL
Apollo iOS, on the other hand, generates Swift types from queries in our "queries.graphql" files and supports caching out of the box. Generating types from the SDL is not per se a problem, but it becomes cumbersome and error-prone with large nested queries. Apollo iOS also strongly-binds the generated structures to your queries, making it almost impossible to translate fetched data into an internal state.
I love Swift; you love Swift; we want to do everything we can in Swift. It has a fantastic type-system and a robust compiler. We also like GraphQL. It's a neat way to construct a type-safe bridge from your server to the client. Its syntax isn't as rich as Swift's, but who cares, right? SwiftGraphQL aims to make the best of both worlds; here's how we do it.
Graphaello seemed like a viable option; it is type-safe, I can programmatically make selections, and it looks like it could scale well. However, Graphaello tightly binds me to my schema, and I can only use structures to represent my data.