-
-
Notifications
You must be signed in to change notification settings - Fork 643
Description
Hi everyone 👋
Over the past weeks, we had a direct call with the current maintainer of graphql_flutter, and we want to openly share where we're heading and, most importantly, listen to the community before making decisions.
We (at Expatfile) rely heavily on graphql_flutter in production, and because of that we want to invest time, resources, and long-term commitment into keeping this project healthy, modern, and actively maintained.
Plus, did you know that we were actually the original creators of graphql_flutter, so this project is very close to our hearts. @HofmannZ back in the days made a stunning work!
This document is meant to be:
- a transparent starting point
- a place to collect feedback
- a shared discussion, not a unilateral roadmap
🎯 Our Intent
✅ Our goal is not to rewrite the library or break existing apps.
Our goal is to:
- Keep the package actively maintained
- Improve DX and reliability
- Modernize parts that are clearly showing age
- Do all of this with the community, not above it
If breaking changes ever become unavoidable:
- They will be clearly announced
- Discussed beforehand
- Accompanied by migration tooling / codemods where possible
🔍 Focus Areas (Initial Proposal)
These are the areas we believe matter most today. Nothing here is final, feedback is explicitly requested.
1️⃣ BLoC Integration (First-class)
- Official patterns/examples for BLoC (Provider/Repositroy)
- Clear guidance for:
- Query lifecycle
- Mutations
- Error handling
- Cache updates
- No forced architecture, just solid primitives
Questions
- What state management approach do you use today with
graphql_flutter?
2️⃣ Documentation Website
- Dedicated documentation site (not only README)
- Clear sections:
- Getting started
- Architecture overview
- Cache & normalization
- Error handling
- Testing
- Examples (real-world)
- Better onboarding for newcomers
Questions
- What documentation do you feel is missing or unclear today?
3️⃣ Performance Improvements
- Review of:
- cache reads/writes
- unnecessary rebuilds
- stream / listener behavior
- Profiling real-world use cases
- Performance changes will be measured and documented
Questions
- Have you experienced performance issues? In which scenarios?
4️⃣ Code Generation Improvements
- Better alignment between:
- schema
- generated models
- cache expectations
- Clearer customization points
- Improved DX around
build_runnererrors (lean_builderseems is another solution too)
Questions
- What frustrates you most about code generation today?
5️⃣ Increasing Test Coverage
- More unit tests
- More integration tests
- Regression tests for known issues
- Making it safer to contribute
Questions
- Are there areas you'd like to help test or validate?
6️⃣ Fixing Long-Standing Issues
- Triage of open issues
- Clear labeling:
bugdiscussionhelp wantedgood first issue
- Prioritization based on real usage
Questions
- Which open issues block you the most right now?
7️⃣ Developer Tooling
- Better logging
- Improved error messages
- Potential DevTools integration (exploratory)
Questions
- What tools would help you debug GraphQL issues faster?
🤝 How We Want to Work With the Community
- Open design discussions
- RFC-style issues for impactful changes
- Clear changelogs
- Explicit migration paths
- Welcoming contributors of all levels
If you:
- Use
graphql_flutterin production - Tried it and left
- Maintain a fork
- Or just have opinions
👉 Your input matters here.
🗣️ How You Can Participate
Please comment with:
- Pain points
- Missing features
- Architectural concerns
- Areas you've wanted to propose but never had space for
Even short comments help, even “this is fine, please don't change X” helps.
Let's make graphql_flutter something we're all confident building on for the next years.
And a special shoutout to @vincenzopalazzo that during those years kept the project active and running!
Expatfile Team🗽