You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This proposal advocates for the development of an official Directus Flutter package to streamline the integration of Directus as a backend for Flutter-based mobile applications, with an emphasis on supporting simplified authentication mechanisms, including OAuth for various providers like Google and Apple.
Basic Example
import'package:directus_flutter/directus_flutter.dart';
voidmain() async {
final directus =DirectusFlutter(
'https://your-directus-instance.com',
);
// Initialize Google loginawait directus.auth.signInWithProvider(Provider.google);
// Or, for Apple SignIn// await directus.auth.signInWithProvider(Provider.apple);if (directus.auth.isAuthenticated) {
print('Login successful!');
}
}
Motivation
The primary motivation behind this proposal is to enhance the Directus ecosystem by making it more accessible to the growing community of Flutter developers. By providing an official Flutter package, Directus can support a wider range of mobile app development scenarios, particularly those requiring sophisticated data management and seamless authentication experiences. The expected outcome is increased adoption of Directus for mobile projects, a stronger community, and a competitive edge in the market of backend services.
Detailed Design
The proposed Directus Flutter package will include a comprehensive set of APIs tailored for Flutter, enabling easy integration of Directus features into Flutter apps. Key components will include:
Authentication API: Simplify login/logout operations and support for OAuth with various providers (e.g., Google, Apple).
Data Management API: Facilitate CRUD operations on Directus collections.
File Management API: Enable uploading, fetching, and managing media files.
The package will follow best practices in Flutter package development, ensuring it is lightweight, efficient, and easy to use.
Requirements List
Must Have (MoSCoW Method):
Authentication support for major providers (Google, Apple).
Basic CRUD operations on Directus collections.
Documentation and examples for key functionalities. Should Have:
Support for file management.
Advanced query capabilities for data fetching. Could Have:
Real-time data synchronization.
Won't Have (initially):
Custom Directus extensions support.
Drawbacks
Implementing this feature involves considerations around:
The development and maintenance cost of the package.
Potential complexity in seamlessly integrating diverse authentication providers.
Balancing simplicity for new developers with the flexibility required by advanced users.
The trade-off primarily lies in the initial investment in development against the long-term benefits of expanded community and ease of use.
Alternatives
Community-Driven Packages: Relying on unofficial packages or custom integrations, though these may lack consistency and long-term support.
Do Nothing: Maintaining the status quo limits Directus's appeal to Flutter developers and may hinder its competitive position.
Adoption Strategy
The introduction of this package would be non-breaking, designed for easy adoption by existing Directus users. Documentation and migration guides will facilitate the transition for developers integrating Directus into Flutter apps. This strategy aims to ensure that adopting the package is straightforward, encouraging its widespread use within the Directus community.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Summary
This proposal advocates for the development of an official Directus Flutter package to streamline the integration of Directus as a backend for Flutter-based mobile applications, with an emphasis on supporting simplified authentication mechanisms, including OAuth for various providers like Google and Apple.
Basic Example
Motivation
The primary motivation behind this proposal is to enhance the Directus ecosystem by making it more accessible to the growing community of Flutter developers. By providing an official Flutter package, Directus can support a wider range of mobile app development scenarios, particularly those requiring sophisticated data management and seamless authentication experiences. The expected outcome is increased adoption of Directus for mobile projects, a stronger community, and a competitive edge in the market of backend services.
Detailed Design
The proposed Directus Flutter package will include a comprehensive set of APIs tailored for Flutter, enabling easy integration of Directus features into Flutter apps. Key components will include:
Authentication API: Simplify login/logout operations and support for OAuth with various providers (e.g., Google, Apple).
Data Management API: Facilitate CRUD operations on Directus collections.
File Management API: Enable uploading, fetching, and managing media files.
The package will follow best practices in Flutter package development, ensuring it is lightweight, efficient, and easy to use.
Requirements List
Must Have (MoSCoW Method):
Authentication support for major providers (Google, Apple).
Basic CRUD operations on Directus collections.
Documentation and examples for key functionalities.
Should Have:
Support for file management.
Advanced query capabilities for data fetching.
Could Have:
Real-time data synchronization.
Won't Have (initially):
Custom Directus extensions support.
Drawbacks
Implementing this feature involves considerations around:
The development and maintenance cost of the package.
Potential complexity in seamlessly integrating diverse authentication providers.
Balancing simplicity for new developers with the flexibility required by advanced users.
The trade-off primarily lies in the initial investment in development against the long-term benefits of expanded community and ease of use.
Alternatives
Community-Driven Packages: Relying on unofficial packages or custom integrations, though these may lack consistency and long-term support.
Do Nothing: Maintaining the status quo limits Directus's appeal to Flutter developers and may hinder its competitive position.
Adoption Strategy
The introduction of this package would be non-breaking, designed for easy adoption by existing Directus users. Documentation and migration guides will facilitate the transition for developers integrating Directus into Flutter apps. This strategy aims to ensure that adopting the package is straightforward, encouraging its widespread use within the Directus community.
Unresolved Questions
No response
Beta Was this translation helpful? Give feedback.
All reactions