先週、”Sencha Touch in Action” のペーバーバックが手元に届きました。
Sencha Touch in Action は、ちょうど Sencha Touch を触り始めた 2 年くらい前にお世話になった本です。当時はまだ執筆中で、MEAP(Manning Early Access Program)で読んでました。そんな Sencha Touch in Action ですが、先月、ついに正式に出版されたようです。改めて読んでみて、やっぱりよい本だと感銘を受けたので、今回ご紹介させて頂こうと思いました。
ちなみに書評は英語でも書きました。物好きな方はこちらもどうぞ => http://kawanoshinobu.com/2013/08/book-review-sencha-touch-in-action
What I liked
著者の Jay Garcia さんは、Sencha コミュニティではとても有名なエンジニアです。Modus Create という Sencha 関連技術に強みを持つ開発会社の CTO 職に就いており、Ext JS の初期の頃から、フォーラムの質問に回答したり、ブログ記事やチュートリアル動画を公開したりと、他のエンジニアが Sencha フレームワークをうまく使いこなせるようコミュニティに貢献されてきました。今回出版した Sencha Touch in Action の他に、Ext JS in Action の著者でもあります。
Sencha Touch in Action の魅力は、そんなベテラン開発者である Jay Garcia さんの長年の経験が凝縮されている点にあると思います。解説の所々にちょっとしたコラムが登場するのですが、これがなかなか面白くて、こういった内容が書けるのは長くフレームワークに携わってきたからこそだと感じました。
もちろん、本題のフレームワークの説明も分かりやすいです。コンポーネントモデルの解説ひとつを取っても、ただ仕様を述べるだけでなく、内部の動きを踏まえながら、かなり詳細に説明しています。この本で学んだコンポーネントのライフサイクルに関する知識には、開発でハマった時に、かなり助けられました。また、Sencha Touch の仕様の中で特に難しい部分がデータパッケージだと思うのですが、これらに関しても、詳細に説明してくれています。データパッケージを扱った Capter 8 では、Sencha Touch 2.1 から導入されたリストコンポーネントの無限スクロールについても解説されていて、最新の動向にちゃんと対応している点も素晴らしいです。
本の中で特に気に入っているのは Chapter 10 です。この章では、Sencha Touch のクラスシステムに関する解説と、実際にカスタムコンポーネント、カスタムプラグインを作る方法についてステップ・バイ・ステップで説明しています。Twitter のタイムラインにあるようなスワイプするとアクションリストが表示されるコンポーネントを作るのですが、ドラッグイベントと CSS3 の transform3d をうまく組み合わせる実装は、なるほどと感心しました。Jay Garcia さんは先月行われた Sencha Con 2013 でも Sencha Touch のカスタムコンポーネントを作る方法について講演されていて、どうやら、このテーマは彼の得意分野のようです。Sencha Con でのスライドはこちら => 「Sencha Touch Custom Components」http://www.slideshare.net/moduscreate/creating-custom-component
ところで、本書にはたくさんのサンプルコードが登場するのですが、当初は、その独特のスタイルが気になっていました。具体的な以下のようにイコールやコロンの位置を揃えるスタイルです。
1 2 3 4 5 6 7 8 |
var me = this, someArray = []; someArray.push({ name : 'Kawano', age : 12 , someObject : {} }); |
気になったのは自分ではやらない書き方だからですが、ある日、このスタイルを試してみたところ、コードが奇麗に見えることに気づきました。今ではすっかり気に入っていて、個人的なプロジェクトでは、このスタイルを採用しています。
What I didn’t like
Sencha Touch は巨大なフレームワークなので、この本ではカバーしていないトピックも結構あります。ネイティブパッケージングやテーマのカスタマイズ、Sencha Architect の解説は含まれていません。この本は Sencha Touch に関する全てのトピックを網羅したガイドではないので、そこは API ドキュメントと併用する必要があります。
また、ちょっと残念なのが、Sencha Cmd が本の最後で紹介されていることです。本来であれば、最初から Sencha Cmd をベースに解説した方が、初めて学ぶ方には分かりやすいように思います。Sencha Cmd は執筆開始時点では存在していなかったので仕方ないですが、、このあたりは執筆期間が長期に渡った弊害のように感じます。
Final Thoughts
本の中で特に印象に残った一文があります。カスタムコンポーネントを作るポイントについて述べた箇所ですが
So, the lesson is, don’t ever be afraid to look at the source code. Even if you don’t get it at first glance, you’ll learn something along the way and will be able to create some pretty awesome UI goodness.
とフレームワークのソースコードを読むことの重要性を述べています。私も Sencha Touch を使いこなす鍵はフレームワークのコードを読むことだと考えていて、このアドバイスには深く共感しました。そして本書は、これまで発売されたどんな Sencha Touch の解説書よりも内部動作の解説に重きを置いています。Sencha Touch の使い方を学ぶのに適しているだけではく、フレームワークのソースコードを読む際のガイドとしても、この本は役に立つのではないでしょうか。え、英語だから読みづらい? そんな方には、こちらの本が「パーフェクト」とか書いてあるし、お勧めです :)
最近のコメント