inside LDR (1)(mala)
- LDR(Livedoor Reader)は「APIありき」の実装。まず全APIを先に作り,LDRはそのAPIを使う1クライアント。
- 例えばBloglinesはAPIを公開しているが,それを使ってBloglinesが実装できるわけではなく,開放されていない機能がある。
- APIが決まっていれば,サーバ側(クローラとかDBチューニングとか)とクライアント側(JavaScriptとか)で分業できる。
- LDRでは全データをJSONでやりとりする。扱いやすい。小さい。サーバ負荷が低い。
- Behavior.jsはhtmlロード時にDOMを解析してイベントをフックする。LDRのように画面書き換えが頻繁なアプリでは,そのたびに走りなおすので負荷が大きすぎる。
- イベントをまとめて捕まえて,イベント元を見て対応する処理を行うようにしている
- でもそうするとhtmlの書き方に制限が出る
- onMouseClick= 直書きなどで対応。
- イベントを割り当てる関数では,戻り値にイベントを削除するクロージャをセットするようにしている。
- 例外を無視して実行する関数 _try
- 不特定引数をとれる関数
- 1つでも複数でも配列でも配列の配列でもOK
- rubyみたいにflattenして処理する
- LDRのソースコードは別に隠していないので読んで。
- Q&A
- Q : クライアントは何人で作ってますか?
- A : 一人で。ただしグラフィックデザインは別の人。