例
配布物には二種類が入っています。一つは 42 本の小さなプログラムで、一本が一つのことの説明になっていて、順に読めるように並べてあります。もう一つはブラウザで動く画面です。
画面はどれも、デザイナが書いた HTML と対になっています。LPScript の側にマークアップはありません。 見本を複製して、値を入れて、押されたときに送るメッセージの名前を付けるだけです。
以下、画面ごとの解説です。
- 受注管理 — 検索、絞り込み、並べ替え、明細、保存。状態は文字列ではなく種類ごとのクラス
- 見積一覧 — 行もダイアログもデザイナの見本の複製
- 一万行の一覧 — 描くのは二十数行。スクロール位置は言語が渡す事実
- 画面から画面へ — 本物のページ遷移と、一度だけ読める値
- Worker — 同じ計算を、ページの中と別スレッドで
- 監督 — 一つのアクタを落として、他が無事なことを見る
- 日付を選ぶ — アクタではない共通部品
- やること表 — 親の描き直しが子に降りない
- ゲーム — DOM の毎フレーム描画と canvas
部品
どの画面にも属さないものは、独立して置いてパスで取り込みます。確認ダイアログは自分のマークアップを持ちます。どのページのものでもないからです。ストアは sessionStorage を「その仕事の間ずっと持つもの」と「一度だけ読めるもの」に分けます。ソケットは WebSocket を持ち、切れたことに気付いて繋ぎ直すところまで引き受けます。