apollo-android
dataloader
Our great sponsors
apollo-android | dataloader | |
---|---|---|
9 | 47 | |
3,665 | 12,635 | |
0.7% | 0.6% | |
9.8 | 3.1 | |
5 days ago | about 1 month ago | |
Kotlin | JavaScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
apollo-android
-
Migrating Netflix to GraphQL Safely
GraphQL queries are just HTTP POST queries with a JSON body. They're supported everywhere.
If you want specialized tooling for them, Kotlin and Swift both have great strongly-typed GraphQL libraries.
Apollo publishes libraries for both:
- https://www.apollographql.com/docs/kotlin/
- https://www.apollographql.com/docs/ios/
-
How to build a Snowflake API?
An example of a Snowflake API request using Java. This example uses Java’s built-in HttpClient and constructs JSON manually, so it doesn’t require additional dependencies; however, in production, you should use a library like Jackson for constructing JSON. Additionally, for stronger typing, you could use Apollo’s Kotlin-based GraphQL client.
-
Converting union type to Kotlin (Apollo GraphQL library)
Can you elaborate on what you are trying to do? Why do you generate those classes manually? If you are using Apollo Kotlin then it will generate your data classes based on your query.
-
Migrating Android to GraphQL Federation
We continue to rely on Apollo Kotlin (previously Apollo Android) as we migrate to Federation. It has evolved quite a bit since its creation and has been hugely useful to us, so it’s worth highlighting before jumping ahead.
-
Flutter vs Kotlin Multiplatform Mobile (not a holywar)
- found Flutter graphql is way ahead , even almost mature as Apollo for JS. apollo-kotlin is several miles behind, a lot of issues, absolutely inconvenient usage after graphql-flutter
- Java Spring Boot DTO Mapping in GraphQL
-
Introducing Apollo Kotlin
The announcement is at https://www.apollographql.com/blog/announcement/introducing-apollo-kotlin/ and the repo at https://github.com/apollographql/apollo-kotlin. Try it out and let us know what you think!
-
GraphQL - Diving Deep
Apollo Client does have a good integration with these frameworks including React, iOS and Android — so, you might want to check that out
-
Any good java graphql client suggestions ?
Hi 👋Martin from https://github.com/apollographql/apollo-android here. Can you ellaborate more on "created schema files are not serialized" ? For Android app, I usually recommend separating the persistence layer and the network models so that they're not coupled. But maybe it's different from a microservice?
dataloader
-
Delving into the Black Magic of GraphQL DataLoader! 🌌✨
When I began working with GraphQL, I had concerns about the N+1 query problem. In my research, I came across the DataLoader pattern and its implementation on GitHub. While I explored various examples of its usage, I still struggled to grasp how it operates internally. Join me in delving a bit deeper into GraphQL DataLoader! :)
-
How to use DataLoader with Mercurius GraphQL
DataLoader: it is the standard solution to N+1 problem.
-
Best Practices in Testing GraphQL APIs
Additionally, you can use DataLoader or similar tools to optimize data fetching and avoid over-fetching or under-fetching data. Ultimately, performance and load tests ensure that your GraphQL API delivers optimal performance, meets response time expectations, and provides a smooth experience for users, even under heavy loads.
-
Migrating Netflix to GraphQL Safely
The most common practice is to turn N+1 into 1+1 using dataloaders (https://github.com/graphql/dataloader for JS, there are equivalents for most implementations). The N resolvers invoke a single batched loader which receives a list of keys and returns a list of values.
-
SQL vs. NoSQL - cutting through the Tech Twitter noise
Let's take Payload, for example. Surprise, surprise. We have a relationship field, and it can store IDs to other related documents which are seamlessly merged in when you retrieve documents from the DB. We leverage the dataloader pattern to batch together all "populations" required for a given query, returning them all super fast and with as few separate queries to the DB as possible. We actually even outperform SQL-based frameworks quite a bit. In a purely relational test, we were 3x faster than Directus and 7x faster than Strapi while both were running Postgres, and we were on MongoDB.
- NoSQL vs. SQL - cutting through the Tech Twitter noise with a real-world use case
-
We Ditched REST and Went with GraphQL: Here’s Why
Also, have a look at Facebook's Dataloader[0].
[0] https://github.com/graphql/dataloader
-
Implementing logger with metadata
In the next article, I'm going to implement a GraphQL server with dataloader using the tools we introduced.
-
Typesafe, (almost) Zero Cost Dependency Injection in TypeScript
The one example of using Scoped dependency that comes to my mind, it's HTTP request level caching for libs like dataloader.
-
GraphQL Trades Complexity
you would fetch these 1000 rows via dataloader that batches all requests for this relation to a single query... solving the n+1 issue
What are some alternatives?
ktor - Framework for quickly creating connected applications in Kotlin with minimal effort
Redis - Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.
GraphQL Kotlin - Libraries for running GraphQL in Kotlin
react-relay - Relay is a JavaScript framework for building data-driven React applications.
javalin - A simple and modern Java and Kotlin web framework [Moved to: https://github.com/javalin/javalin]
Knex - A query builder for PostgreSQL, MySQL, CockroachDB, SQL Server, SQLite3 and Oracle, designed to be flexible, portable, and fun to use.
http4k - The Functional toolkit for Kotlin HTTP applications. http4k provides a simple and uniform way to serve, consume, and test HTTP services.
jest - Delightful JavaScript Testing.
hexagon - Hexagon is a microservices toolkit written in Kotlin. Its purpose is to ease the building of services (Web applications or APIs) that run inside a cloud platform.
Sequelize - Feature-rich ORM for modern Node.js and TypeScript, it supports PostgreSQL (with JSON and JSONB support), MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle DB (v6), DB2 and DB2 for IBM i.
KGraphQL
gRPC - The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)