Overview
inject_flutter is a Flutter-specific integration for inject_annotation, enabling seamless dependency injection in Flutter apps. It provides ViewModelFactory and ViewModelBuilder to inject ViewModels into widgets with automatic lifecycle management, ensuring proper instantiation and disposal. SubcomponentBuilder supports scoped dependencies via @subcomponent annotations. The package simplifies state management by integrating cleanly with Flutter's widget tree and lifecycle, reducing boilerplate and improving maintainability.
Use cases
- State management in Flutter apps
- Dependency injection in widget trees
- Scoped dependencies with subcomponents
- Automatic ViewModel lifecycle handling
- Reducing boilerplate in UI layer
Key features
- Automatic ViewModel lifecycle management
- ViewModelBuilder for easy widget injection
- SubcomponentBuilder for scoped dependencies
- Integration with inject_annotation
- Minimal boilerplate
Suitable for
- Flutter developers using dependency injection
- Apps requiring clean separation of concerns
- Projects using view-model pattern
- Teams seeking reduced boilerplate
- Developers leveraging inject_annotation
Considerations
- Requires inject_annotation setup
- Limited to Flutter-specific use cases
- Depends on annotation processing
- May require additional configuration for complex hierarchies
- Not suitable for non-Flutter projects