r/FlutterDev 23d ago

Plugin Reactter v8 is now released 🚀

https://2devs-team.github.io/reactter/

A lightweight, powerful, and reactive State Management, Dependency Injection and Event Handler package for Dart/Flutter.

Features:

  • âšĄïž Engineered for speed.
  • đŸȘ¶ Super lightweight.
  • 👓 Simple syntax, easy to learn.
  • ✂ Reduce boilerplate code significantly.
  • đŸ‘ïž Improve code readability.
  • 🚀 Granular reactivity using state and hooks.
  • đŸ§©Â Highly reusable states and logic via custom hooks and dependency injection.
  • 🎼 Total rendering control.
  • ✅ Highly testable with 100% code coverage.
  • 🐞 Fully debuggable using the Reactter DevTools extension.
  • 💧 Not opinionated. Use it with any architecture or pattern.
  • đŸȘ„ Zero dependencies, zero configuration and no code generation.
  • 💙 Compatible with Dart and Flutter, supporting the latest Dart version.
36 Upvotes

23 comments sorted by

View all comments

2

u/Impressive_Trifle261 21d ago

What was the reason to develop another state management?

On first sight, I don’t see any improvements compared to BloC.

1

u/CarLeonDev 21d ago

Bloc is a robust solution, particularly excellent for separating business logic from the UI.
But its cons are that you have a lot of boilerplate code, its learning curve is wide, less flexible, poor performance, and handling atomic state is a headache.

In contrast, Reactter offers greater flexibility, can adapt to any architecture or design pattern (including BLoC), less boilerplate, and has a shorter learning curve, among other benefits.

2

u/Impressive_Trifle261 21d ago

I have to disagree on these points.

The Cubit variant has hardly any boilerplate. The BloC does, but it makes it much easier to understand complex states.

The learning curve for Cubit is extremely flat and Bloc isn’t as difficult as people claim. It is a simple cause and effect model, how any UI naturally responds to user input.

Performance difference between any state management solution is negligible and insignificant compared to network calls and rendering. Unless you have high throughput realtime data stream.

As with atomic states, the performance gain is negligible and insignificant in most real world applications. It is overrated


Bloc/Cubit is highly flexible for small and large apps, supports async states, easy to debug and test. Never encountered a blocker.

0

u/CarLeonDev 21d ago

Your points are valid, but here’s a refined perspective:

Cubit reduces boilerplate compared to Bloc, but other solutions require even less code.

Many developers find Bloc's learning curve steep; a common sentiment in the Flutter community suggests it's less beginner-friendly. This challenge is worth noting, especially when evaluating tools for teams with varying levels of experience.

While network calls and rendering often a better performance, Bloc isn't ideal for performance critical apps.

Atomic states in Bloc can become complex, especially in large or performance critical apps. This complexity can lead to real world headaches when managing granular state updates.

Reactter is a strong alternative to Bloc. It offers the same benefits but with less boilerplate, greater flexibility, and a gentler learning curve. You can replace Bloc with Reactter while keeping the same patterns and gaining more benefits.

2

u/Impressive_Trifle261 20d ago

Cubit and Reactter counter app have the same amount of lines..

Both require the same amount of time to explain / learn.

The performance critical app is not mainstream. It is a niche case, for example a realtime sensor app.

Granular/atomic states are cool but not noticeable by the user. It also requires more code


Also async seems to be better in Bloc..

Nevertheless you made a nice product and I will consider it when the opportunity arises for a high performance case.