# Feature Comparison

Comparing Features of Other Rust GraphQL Implementations

**Please let me know if there is anything wrong.**

|                | async-graphql | juniper(0.14.2) |
|----------------|---------------|-----------------|
| async/await    | 👍            | ⛔️              |
| Rustfmt friendly(No DSL) | 👍          | ⛔️  |
| Boilerplate    | Less          | Some            |         
| Type Safety    | 👍            | 👍               |
| Query          | 👍            | 👍              |
| Mutation       | 👍            | 👍               |
| Interfaces     | 👍            | 👍               |
| Union          | 👍            | 👍               |
| Dataloading    | 👍            | 👍               |
| Custom Scalar   | 👍           | 👍               |
| Custom Error   | 👍            | 👍               |
| Extensions     | 👍            | ⛔️               |
| Cursor Connections  | 👍            | ⛔️               |
| Query complexity/depth     | 👍            | ⛔️               | 
| Input validators | 👍         | ⛔️               |
| Field guard | 👍              | ⛔️               |
| Multipart request(upload file) | 👍 | ⛔️               |
| Subscription   | 👍            | ⛔️               |
| Opentracing     | 👍         | ⛔️               |
| Apollo Federation | 👍         | ⛔️               |
| Apollo Tracing | 👍         | ⛔️               |
| Apollo Persisted Queries | 👍         | ⛔️               |