Spineはサンプルとかドキュメントがまだまだ少ないので苦労することが多い。sofにも質問が70位しか投稿されてないしね。
Backbone-HangmanっていうSinatra+Backbone.jsで書かれたよさげなサンプルがあったので、これをSpine+Flaskで書きなおしてみた。Flaskのほうはさくっと終わったんだけど、Spineで書きなおすのに1週間以上かかってしまった。
今思うと、Spineがわかっていないというよりは、イベントドリブンなコードの読み方がちゃんとわかっていなかったんだろうと。モジュールごとに読んでも混乱するだけで、イベントごとにちょっとづつ組み立てていかなきゃあかんわなと。そういえば、backbone.jsのチュートリアルもそんな感じだったし。
spine.appはディレクトリが存在するとappオプションで作成できないので適当なディレクトリでスケルトンを作成して中身をmvした。それからFlaskのstaticにbuildされるようにslug.jsonにpublicを追加
"public": "./static", "dependencies": [ "es5-shimify", "json2ify", ...
今回理解したこと
- 独自イベントのトリガーとバインド
- elの使い方
- ecoのロジック
- spine.appとFlaskの連携のさせ方(ディレクトリ構成)
- jQueryとcssを使ったウェブアプリの作り方の理解が甘いこと
放置したものはテストのやり方。モデルはまぁ分かるんだけどコントローラーのテストは一度やっておく必要がある。console.logのデバッグは疲れる。