This project organizes the BaaS (Backend as a Service) platforms and their plugin support in the Flutter ecosystem, helping developers with technology selection and service migration.
pub.dev | View Source | Android | iOS | Web | MacOS | Windows | Linux |
---|---|---|---|---|---|---|---|
cloud_firestore |
✔ | ✔ | ✔ | ✔ | ✔ | N/A | |
cloud_functions |
✔ | ✔ | ✔ | ✔ | N/A | N/A | |
firebase_analytics |
✔ | ✔ | ✔ | ✔ | N/A | N/A | |
firebase_app_check |
✔ | ✔ | ✔ | ✔ | N/A | N/A | |
firebase_app_installations |
✔ | ✔ | N/A | ✔ | N/A | N/A | |
firebase_auth |
✔ | ✔ | ✔ | ✔ | ✔ | N/A | |
firebase_core |
✔ | ✔ | ✔ | ✔ | ✔ | N/A | |
firebase_crashlytics |
✔ | ✔ | N/A | ✔ | N/A | N/A | |
firebase_data_connect |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
firebase_database |
✔ | ✔ | ✔ | ✔ | N/A | N/A | |
firebase_dynamic_links |
✔ | ✔ | N/A | N/A | N/A | N/A | |
firebase_in_app_messaging |
✔ | ✔ | N/A | N/A | N/A | N/A | |
firebase_messaging |
✔ | ✔ | ✔ | ✔ | N/A | N/A | |
firebase_ml_model_downloader |
✔ | ✔ | N/A | ✔ | N/A | N/A | |
firebase_performance |
✔ | ✔ | ✔ | N/A | N/A | N/A | |
firebase_remote_config |
✔ | ✔ | ✔ | ✔ | N/A | N/A | |
firebase_storage |
✔ | ✔ | ✔ | ✔ | ✔ | N/A | |
firebase_vertexai |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
pub.dev | View Source | Android | iOS | Web | MacOS | Windows | Linux |
---|---|---|---|---|---|---|---|
functions_client |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
gotrue |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
postgrest |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
realtime_client |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
storage_client |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
supabase |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
supabase_flutter |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
yet_another_json_isolate |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
pub.dev | View Source | Android | iOS | Web | MacOS | Windows | Linux |
---|---|---|---|---|---|---|---|
amplify_flutter |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
amplify_core |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
amplify_datastore |
✔ | ✔ | N/A | N/A | N/A | N/A | |
amplify_analytics_pinpoint |
✔ | N/A | N/A | N/A | N/A | N/A | |
amplify_api |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
amplify_auth_cognito |
✔ | ✔ | N/A | ✔ | N/A | N/A | |
amplify_authenticator |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
amplify_storage_s3 |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
- Provide migration guides between popular platforms
- Implement a Firebase example project with switchable backends
- Supplement more comparison information for BaaS platforms
- Add performance and cost comparison data
- Advantages:
- Most complete functionality, mature ecosystem
- Deep integration with Google services
- Comprehensive documentation, active community
- Disadvantages:
- Closed source, cannot be self-hosted
- Incomplete support for Windows platform
- Access restrictions in some regions
- Advantages:
- Open source, can be self-hosted
- Comprehensive support across all platforms
- Support for PostgreSQL
- Disadvantages:
- Some advanced features are still under development
- Relatively smaller community
- Advantages:
- Fully open source, can be self-hosted
- Relatively complete functionality
- Disadvantages:
- Flutter plugin maintenance is not very active
- Documentation and examples are relatively scarce
- Advantages:
- Integration with AWS ecosystem
- Disadvantages:
- Flutter plugin maintenance is not proactive
- Not available in some countries and regions
- Configuration is relatively complex
- Advantages:
- Lightweight and easy to deploy
- Open source, active community
- Active development
- Disadvantages:
- Version 1.0 has not been released yet
- Relatively basic functionality
When choosing a BaaS service, consider the access restrictions in the target users' regions:
- Firebase: Access restricted in mainland China, Iran, and other regions
- AWS Amplify: Restricted in mainland China (requires ICP), Crimea, Cuba, Iran, North Korea, Syria, and other regions
- Supabase/Appwrite/PocketBase: Can be self-hosted, not subject to regional restrictions
This project organizes various popular BaaS platform plugins for Flutter, making it easier for everyone to view, use, and facilitate migration.
The absence of certain features does not imply weakness in BaaS capabilities, as third-party plugins or APIs from other services can supplement them.
Contributions through Issues and PRs are welcome to improve this project.
MIT License