読者です 読者をやめる 読者になる 読者になる

「Backbone.jsガイドブック」執筆しました

(告知が若干遅れてしまいましたが)色々な縁があって、この度「Backbone.jsガイドブック」という本を執筆しました。
2011年のBackbone.js Advent Calendarで僕が書いた「Backbone.js入門シリーズ」を、原文の跡形が微塵の欠片も無いくらい、改定したものです。

もくじは「Backbone.jsガイドブック」サポートページで見ることができます。
あと、チュートリアルで作るアプリケーションはここで動いています。PCサイト向けと、jQueryMobileを使ったモバイルアプリがあります。デザインが糞なのは勘弁してください。。

Backbone.jsガイドブック

Backbone.jsガイドブック

本書の位置づけ的な

Backboneはコメントを含めてたったの1500行しかない非常にコンパクトなライブラリです。必要最低限な機能しか持たない一方、個々の機能が柔軟でいろいろな使い方ができます。が、それ故に気をつけないと直ぐにコードがスパゲッティ化して、Backboneを導入した意味が無くなってしまいます。

本書は僕がBackboneを使って数多のスパゲッティ生成を行った果てに(+Web上で共有されているノウハウその他を吸収して)たどり着いたベスト・プラクティスをできるだけ集めようとしたものです。もちろん基礎的な話題(どうやってViewを書くかみたいな)も取り上げているのですが、そういうのはドキュメント読めば分かるわけで、個人的にはドキュメントに現れない知見にできるだけ光を当てたつもりです。

あとRequireJS、Jasmine、Gruntなどのライブラリを、Backboneアプリケーションを作るのに使う、という文脈から取り上げています。最後のチュートリアルではこいつら全部使ってアプリケーションを作ってます。(サンプルコードはここ)超実践的ですね!

どこかの誰かの役に立てばいいなーと願っています。

執筆裏話的な

この本はBackbone1.0に対応しています。1.0が出たのが3月下旬で、本の発売が4月末。分かると思いますが、間違っても1.0が出てから執筆を開始したのではなく、0.9.9の頃からGitHubのPRを睨みつつ「このPRは取り込まれそうだからちょっと書いとくか」「これは取り込まれないだろうな」とか予想しつつ執筆していたわけです。

で、当初は0.9.9の次が1.0だったはずが、気がついたら0.9.10になり、一時はコミュニティが1.0にすべきでない(メジャーバージョンにできるほど安定してないだろという意見が噴出した)とか言い出して、1.0対応を目指して本書いてた僕はかなりがっくり来ていたんですが、Backbone生みの親のjashkenas氏が降臨して、有無を言わさず1.0をリリースしたのでした。

それにしてもjashkenas凄いです。Backboneにはパッと見で一貫性が取れていないような箇所がいくつもあって、それを修正するPRがそれなりの頻度で投げられるのですが、実はもっと深いところではその不一貫性が重要な意味を持っていたりして、そういうBackboneの思想を与えているのがjashkenasなんですよね。