ARKTELOS / PRODUCTS / ARK MVP

Model becomes ViewState while View stays a view.

Ark MVP establishes an explicit boundary between business state and UI: Model captures a complete feature snapshot, Presenter adapts it for the screen, and View renders ready values while forwarding user intent.

Model passes through Presenter, focuses into ViewState, and produces a separate transient ViewEffect.MODELPRESENTERVIEWSTATEVIEW EFFECT
Model passes through Presenter, focuses into ViewState, and produces a separate transient ViewEffect.

FIT / EVALUATION

Confirm the boundary before adopting the package.

Platform
Dart + Flutter
Primary package
ark_mvp
Current release
1.1.0
Responsibility
Adapts complete business-facing Model state into presentation-ready ViewState and separate one-time ViewEffects.
Use when
Use it when a View must receive prepared values and actions without seeing repositories, services, or raw business objects.
Does not own
It does not implement business rules, persistence, dependency composition, navigation, or application-wide error policy.

Shortest evaluation path

  1. 01

    Confirm the responsibility and deliberate boundary above.

  2. 02Open tutorials →
  3. 03

    Inspect package ↗Inspect source ↗

01 / MODEL

One directional flow keeps every role distinct.

Application composition builds a ModelBinding over business objects it already owns. Presenter receives Model, derives ViewState, and publishes one-time ViewEffects. View never sees Model, a UseCase, a Repository, or a service.

Model combines business state and allowed actions. Presenter adapts them into ViewState and publishes ViewEffect separately.STATE ASTATE BACTIONSMODELPRESENTERVIEWSTATEVIEW EFFECT
  1. Model inputs
  2. Model
  3. Presenter
  4. ViewState
Model combines business state and allowed actions. Presenter adapts them into ViewState and publishes ViewEffect separately.

02 / BOUNDARIES

The pattern defines boundaries without prescribing infrastructure.

01

Model

An immutable snapshot of everything the feature currently needs: business state and allowed operations without raw infrastructure objects.

02

Presenter

The adapter between Model and View: combines states, formats values, derives presentation policy, and exposes feature actions.

03

View

Receives only ViewState and public Presenter methods, renders prepared values, and handles ViewEffects in the current UI context.

03 / DOCUMENTATION

Follow the path from Model to a complete screen.

Begin with the full architecture, continue into the Flutter lifecycle, or study working examples for one UseCase, several UseCases, and an independent state manager.