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

『Sencha Touchパーフェクトガイド』を献本頂きました

JavaScript 書評

正式名称は、『HTML5モバイルアプリケーションフレームワーク Sencha Touchパーフェクトガイド」ですが長いので、省略しました。悪しからず。以下『Sencha Touchパーフェクトガイド』で。

表題の通り、Sencha Touchパーフェクトガイドをアスキー・メディアワークス様より献本頂きました。献本いただいんで書評をば。

筆頭であり「ラスボス」「番長」の二つ名を持つ@lirisさん並びに、著者の皆さんお疲れ様でした。

HTML5モバイルアプリケーションフレームワーク Sencha Touchパーフェクトガイド

HTML5モバイルアプリケーションフレームワーク Sencha Touchパーフェクトガイド

目次

  • 第1部 Sencha Touchの概要
    • 第1章 イントロダクション
    • 第2章 開発準備
    • 第3章 はじめてのSencha Touch
  • 第2部 Sencha Touchの基本構成
    • 第4章 クラスシステム
    • 第5章 コンポーネント
    • 第6章 イベントシステム
    • 第7章 データパッケージ
    • 第8章 リストとテンプレート
    • 第9章 アプリケーション
    • 第10章 Sencha Touchデザイン概論
    • 第11章 ネイティブパッケージング
  • 第3部 実践Sencha Touchアプリケーションの開発

各部/各章に一言づつ

第1部

第1部では、第1章でSencha Touchの概要、ExtJSの歴史から振り返るSencha Touch。

第2章では、実際に開発環境を整え、HelloWorldの表示。
第3章では、Sencha Touchのスケルトンコマンド(Sencha Cmdという事を知った)を使った後、Sencha TouchのMVC(モデル、ビュー、コントロール)を解説。

第2部

第4章では、Sencha Touch(ExtJs由来)のクラスシステムについての解説。
第5章では、GUI部品であるSencha Touchのコンポーネントを解説。viewportやUI部品のレイアウト、コンポーネントの検索クエリについて。
Sencha Touchで提供されている標準GUI部品については巻末の付録に記載されているのでそちらを見ると吉。

第6章では、イベントシステムについて。イベントターゲットへのイベントリスナの登録、削除、リスナ登録時のオプション。そして、ユーザー定義の独自イベントの定義と発火について。

第7章では、MVCのM(=モデル)に関係してExt.dataパッケージについて。基本的なモデルのフィールド定義をはじめ、モデル間のリレーション定義。そしてモデルとプロキシ、ストアのそれぞれの役割。ストアの中に入っているモデルのフィルタリング、ソート。プロキシという抽象的なデータを扱う概念とAjaxやデータストレージなどの具体的な機構について。

第8章では、GUI部品のExt.dataview.Listと定義したモデルを使って動かしてみる。Sencha Touchのテンプレートエンジンも。

第9章では、MVCのコントローラに主眼をおいてます。最大の目玉はルーティング。また、各プラットフォーム(デバイス)ごとに最適なビュー、コントローラの切り替えを実行時に行うプロファイラについて解説。

第10章では、Sencha Touchデザイン概論ということで、Sass、Compassを使ってCSSの生成を学び実際にSencha Touchのデザインを変更を試みる。

第11章では、Sencha Touchアプリケーションを配布形式に変換するパッケージングの章です。驚くことに、Sencha TouchはAndroid、iOSに対するShellApp(webviewをネイティブで包むアプリ)をサポートしています。
ごく少数だけどネイティブAPIも対応しています。

第3部

第12章から第15章は第1部、第2部の基本知識を元にして、家計簿アプリケーションを作成します。

14章では、カスターコンポーネントを作成します。
15章では、Sencha touch Chartsを使って描画に関して学ぶことができます。

My Memo

第2章でサクッとnginxをインストールし開発環境を構築するところはpython -m SimpleHTTPServer 3333とかでもよかったのでは?と一瞬思うが、nginxがそれだけ身近になったのだなぁ。と思いました。

第4章のP59、console.logで%sを使えることを初めて知る...。コンフィグの仕組みによってsetter/getterが自動生成されるのはExtJsグッジョブです!

第7章で"JsonP"、"Rest"と文字の大文字小文字が気になった。JSONP、RESTではないのか...。

第10章でSassクライアントであるCompass.appやLiveReload2、CodeKitが紹介されていたのだけど、GUIアプリがあるの知らなかったです。ふむふむ。

第11章でShellAppをサポートしているのを知ったのだけど、Apache cordova(旧Phonegap)以外の手段として良さそう。

追伸

@kawanoshinobuさん、次はClosureシリーズについての書籍楽しみにしています(・∀・)ニヤニヤ

My memo2

  • 巻末に載ってた『Monoプログラミング』とかそそられる表紙だった...。

Monoプログラミング .NET/C#とMono for AndroidによるAndroidアプリケーション開発

Monoプログラミング .NET/C#とMono for AndroidによるAndroidアプリケーション開発

  • Land of Lispが後回しになってしまってるので、再開しないと。

Land of Lisp

Land of Lisp

    • といいつつ、パーフェクトPythonも購入してしまった...。消化量を上回る購入量。

パーフェクトPython (PERFECT SERIES 5)

パーフェクトPython (PERFECT SERIES 5)