The Elm Architecture

The Elm Architecture は、ウェブアプリケーションやゲームのような、対話的なプログラムを設計するためのパターンです。

このアーキテクチャは、Elmの歴史の中から自然に生まれてきました。誰かがこれを「発明した」というより、コードの中にこの基本的なパターンが常にあることを初期のElmプログラマが発見したということです。示し合わせたわけでもないのに、誰でもコードをよりよく設計できるパターンが現れてくるなんて、なんだかちょっと不気味ですね!

そして、The Elm Architecture はElmでは簡単ですが、どんなフロントエンドプロジェクトにおいても便利なものです。実のところReduxのようなプロジェクトはThe Elm Architecture に着想を得て作られたものなので、このパターンの派生をすでに見たことがある人もいるかもしれません。もしまだ実際のプロジェクトでElmを使うことができないとしても、Elmを使いこのパターンを修得することで得るものは多いでしょう。

基本的なパターン

Elm のプログラムが動く仕組みを図にすると、こんな風になります。

The Elm Architectureの図

Elm が画面に表示するためのHTMLを出力し、コンピュータは画面の中で起きたこと、例えば「ボタンがクリックされたよ!」というようなメッセージを Elm へ送り返します。

さて、Elm プログラムの中では何が起きているのでしょうか? Elm では、プログラムは必ず3つのパーツに分解できます。

  • Model — アプリケーションの状態
  • View — 状態を HTML に変換する方法
  • Update — メッセージを使って状態を更新する方法

この3つのコンセプトこそ、The Elm Architecture の核心なのです。

次の節からは、ボタンやテキストフィールドといったユーザー入力を例にして、The Elm Architecture の使い方を見ていきます。これらの例を見れば、The Elm Architecture のコンセプトをしっかりと理解できるはずです!

本書を読み進めるためにあたって

この章に出てくる例は、どれもオンラインエディタで閲覧、編集することができます。

オンラインエディタ

エディタの画面では、左上にヒントが表示されています。

なにかわからないことがあったときは、忘れずにヒントを見てみましょう!

results matching ""

    No results matching ""