後の薄い本のためのメモ書きです。Elixir触って二日です。たーのしー!!
何を作りたいか
リアルタイムゲームです。
方針:最小構成で作る
静的ファイルはレンタルサーバにおいて、ゲームロジックはWebSocketを通じてVPSに置くことにしました。
個人的には、今後Webサービスを作る場合、頻繁に更新しないファイルは専用サービスに置いて、動的要素はAPI化してJavaScriptで取得という、SPAとMPAの中間のアーキテクチャが主流になると思っています。
そう思った背景としては
- SSGの普及、またSSG対象の静的ファイルホスティングサービスの台頭
- Ajaxによる動的ページをキャッシュするPre-renderサービスの台頭
- XHR2が普及して、CORSが利用可能
というところです。
MPAですとサーバ負荷が高く、レスポンスに劣ります。
SPAですと、エンジニア負荷が高いです。
この中間がいい案配ではないでしょうか。
技術選択
Elixir+cowboyを選択しました。
Elixirを選んだのは、単に面白そうだったから以上のなにものでもないですが、Phoenixはあえて除外しました。
Phoenixですと、大きすぎるからです。
今回WebSocketのみのAPIサーバのため、Plugも外しました。
このためせっかくならば最新版をと、cowboyのバージョンは2.0.0-pre7です。人柱万歳!!