Overview
Reactter started as an experiment to redesign what a state management solution should be. The goal was to create a state management solution that was reactive, simple, fast, and powerful. The result was Reactter.
Reactter is a dart package that stands out as an lightweight, powerful, and reactive state management, dependency injection and event handler solution.
Motivation
State management is fundamental to apps, because it determines how information is stored, updated and shared within app. While there are several state management solutions available, often these solutions don’t provide a full integration with equally important concepts, such as dependency injection and event handler.
You might think, “But we already have packages for it” or “I can develop it myself” While that’s true, handling these aspects separately can limit the development experience and result in critical aspects being overlooked:
- Scalability: Without proper integration between these 3 concepts, the app may have difficulty scaling efficiently as it grows in complexity and size.
- Flexibility: An integrated architecture becomes easier to adapt and extend the app to meet new requirements or incorporate new features without major overhauls.
- Maintainability: Disjointed these 3 concepts lead to a fragmented codebase, which makes it harder to understand, debug, and modify.
- Performance: Poor integration between these 3 concepts, the app may become less responsive and inefficient in using system resources. This can lead to slower execution times, increased memory usage, and a suboptimal user experience.
Reactter addresses these challenges by offering a comprehensive framework that integrates state management, dependency injection, and event handling. This integration provides a smoother, more consistent development experience and ensures that applications are robust, efficient, and maintainable.
Features
Reactter offers the following features:
- Fine-grained reactivity (Signals, Hooks).
- Lightweight and fast
- No boilerplate (no recurring code)
- Easy to use
- Highly reusable (Custom hooks, Dependency injection)
- 100% Dart(Compatible with latest version of Dart)
- Fully testable (100% coverage)
- No code generation
- 0 configuration
- 0 dependencies
- Rendering control (using
flutter_reactter
package) - Not opinionated (You can use it with any architecture or pattern. Do whatever you want!!)
Try Reactter online
Experience the full potential of Reactter by trying it online on Zapp.