Open3

RustにとってベターなUIアーキテクチャを考える

えとあるえとある

Reactive UIの基本要素

  • (1) appのデータ(モデル、状態、状態変数などと呼ばれることも)
  • (2) appの見た目(ビュー)
    • (2-1) appのデータを表現(表示)する要素
    • (2-2) appのデータの更新イベントを発火させる要素

→ ざっくり解釈すると、UIが果たす機能の本質とは データを更新して見た目に反映すること である。

例:カウンターアプリの擬似コード表現↓[1]

// (1) appのデータ
struct AppState {
    count: i32
}

// (2) appの見た目
VStack {
    Text("count: \(state.count)")  // (2-1) データを見せる要素
    Button("Increment") {
        state.count += 1
    }                              // (2-2) データ更新をトリガする要素
}
脚注
  1. Towards a unified theory of reactive UI | Raph Levien’s blog ↩︎