2017-03-29 mr-jums に spa-town / bath を適用した
bouzuya/mr-jums に bouzuya/spa-town (bouzuya/bath) を適用した。
もともと mr-jums は list と detail しかないので、 spa-town の効果が分からないのだけど、とりあえず。
NOTE: mr-jums の server-side
- client-side のための初期化 (最初の描画とそれに必要な状態の作成) が仕事だ。
- HTTP method は GET だけを考えていればいい。 HEAD / OPTION あたりはその前後で処理できる。
- URL および header の情報から状態をつくり、それをもとに描画する。
- URL および header からルーティングによって適切な初期化処理を選ぶ (ここが今日の spa-town / bath の領域) 。
- view の root は server-side と client-side で異なる。
- 描画の際には、client-side の view の root より上でも vdom を使っている。効率を考えると string にはめるほうが良いのだけど、すべて vdom のほうが気持ち良いのでそうしている。
- 状態をつくる際には、別途 API から JSON を取得している。効率を考えるとティア分割しないほうがいいのだけど、役割ごとに明確に分離しておくほうが気持ち良いのでそうしている。
- そもそも、将来的にはすべて pre-render して S3 に deploy で終わらせるつもりなので、効率を考えると server-side にこる意味はまったくないのだけど……。