maac_mvvm

pub package

The core package of the MAAC ecosystem. It provides the base classes for the MVVM pattern and a lifecycle management system that mirrors the robustness of Android development.


🚀 Key Features

  • Lifecycle Synchronization: Android-inspired onResume, onPause, and onDispose hooks.
  • Reactive State: StreamData for clean data binding.
  • Efficient Rebuilds: StreamDataConsumer for granular UI updates.

📖 Usage

1. Define your ViewModel

class CounterViewModel extends ViewModel {
  late final _counter = 0.mutableData(this);
  late final counter = _counter.streamData;

  void increment() => _counter.postValue(counter.data + 1);
}

2. Build your UI

class CounterPage extends ViewModelWidget<CounterViewModel> {
  @override
  CounterViewModel createViewModel() => CounterViewModel();

  @override
  Widget build(BuildContext context, CounterViewModel viewModel) {
    return Scaffold(
      body: Center(
        child: StreamDataConsumer<int>(
          streamData: viewModel.counter,
          builder: (context, data) => Text('$data'),
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: viewModel.increment,
        child: Icon(Icons.add),
      ),
    );
  }
}

🧭 Documentation

For detailed API specifications, installation guides, and tutorials, please visit our centralized documentation hub:

👉 MAAC Documentation Hub

Specific Guides:


🤝 Contributing

Contributions are welcome! Please visit the main repository for more information.

Libraries

maac_mvvm