Ext JS 4 実践開発ガイド 【アウトライン公開】

ども、小堤です。
最近、Ext JS 4 の解析でヘロヘロです。
そもそも、こんなでかいものを一人で解析してること自体ry

順調に(?)執筆を続け、なんとかドラフト版は、60%位は終わったんですが、やっとこさ、大体のアウトラインが固まってきたので公開します。
章でいうと13章まで大体書き終わっています。(ページ数で200ページちょい)

このあと、出版社いって打ち合わせ。
A4ベースで作ってるので、仮で流し込める四六判で早く見てみたいものです。

なんだか、ずーーーっと執筆してると、飽きてくるだけなくて、何かいているかわからなくなったり、本当にいるのか?wとか色々考えるんですが(笑)
そろそろ力尽きそうなので、Perfect Dayでもなんでもいいんでw 僕にやる気出させてください(他力なんとかw

本書のターゲットは、次の人たちです。

  • Ext JS 3を使ってきた人
  • Ext JS 初心者だが、しっかり基礎を学んで使いたい人
  • Ext JS 4 から触る人、ちょっと興味もってもらえた人

Ext JS / Sencha Touch Perfect Day #004で発表した、この実践開発ガイド執筆ですが、#005では、ドラフト版を印刷したものを、参加者に公開します。
(その場で見るだけね、お持ち帰りはNG)

1ヶ月にしては、よくやった!と自分にいってあげたいのですが、まだまだやることはいっぱいあります。
Perfect Dayでは「秋にPDF版、冬に書籍版」といいましたが、ちょっと変更があります。

【秋】
書籍版

ゼノフィサイトにて先行直接発売
先行予約者には、初回特典付き(予定、色々何作ろうか企んでます)
直接発売で購入されるかたは、可能であれば(確認中)割引あり。

【先行から1ヶ月弱後】
書籍版(Amazon、楽天ブックス、全国書店発売)

【書籍版から1ヶ月後】
PDF版
電子書籍版(iPhone/iPad/IPod Touch)

の順位発売する予定です。
詳細は決まり次第、順次お伝えします。
色々未定です(笑)

【発売日】   :秋(大体決まってるのですが、確定次第公開します)
【参考予定価格】:6000円弱
【ページ数】  :四六判 350〜380ページ
         ソフトカバー(ハードカバーにするかもしれません)

んで、アウトラインですが。
発表したとおり、【Ext JS 4 実践開発ガイド 2】へと続きます。
なので、チャートや、Ext.Draw、Ext.Direct、アニメーション、SASS、Compass、Sencha Commandなどは、2でやる予定ですが、
これも、アウトラインある程度決まってきたら公表します。
ちなみに、Ext JS 4 実践開発ガイド 3はでないかもしれません(笑)
みんなにみせたオレンジ色のやつですね、

Ext JS 4 実践開発テクニック】としてCookBook的なものにする方針で進めています。
まぁ、結局3冊構成なんですけどね。
ってか、みんながほしいといったから(笑)がんばってますが、売れなかったらやめますw
しんどいしw
あと、実践開発ガイドの発行部数は、そんなに多くないです。
売り切れ次第終了しますw 全国書店、Amazonなどの流通で300くらいしか出ないと思います。
直販の数をあと調整して、ってかんじなので。
数をはかるためにも先行予約とりますんで、そのときは、よろしくお願い申し上げます。

んで、1のアウトラインですが、発売時にはアウトライン変わる可能性ありますので、あしからず。


目次

第1章 イントロダクション

1.1 Ext JS 4って何?

1.2 ライセンス

1.2.1 Open Source License
1.2.2 Commercial License (商用ライセンス)
1.2.3 OEM / Reseller License

1.3 クロスプラットフォーム/クロスブラウザ対応

1.4 入手方法

1.5 HTMLへの組み込み

1.5.1 bootstap.jsの動作

1.6 サンドボックス版

1.7 スコープモード

1.8 開発環境の準備

1.8.1 ブラウザ
1.8.2 エディタ
1.8.3 JSLint

1.9 オンラインコミュニティ

第2章 Ext JS の基本

2.1 Ext.onReady

2.2 Ext JS版アラートメッセージの表示

2.3 スペーサーイメージ

2.4 コンフィグオプション

2.4.1 コンフィグオプションを利用しない引数指定
2.4.2 コンフィグオプションを利用した引数指定

2.5 コンポーネントを使ってみよう

2.6 イベント処理

2.6.1 イベントとは?
2.6.2 コールバック関数を指定する

2.7 名前空間とスコープ

2.7.1 名前空間はオブジェクト
2.7.2 スコープ

2.8 オブジェクト指向

2.9 コアクラス

2.9.1 Ext.core.Elementクラス
2.9.2 Ext.CompositeElementクラス

2.10 Ext.DomQueryクラス

2.11 Ext.DomHelperクラス

2.11.1 DOMによる操作
2.11.2 Ext.DomHelperによる操作

2.12 言語対応

 

第3章 Modern JavaScript

3.1 概要

3.2 データ型

3.2.1 プリミティブ型
3.2.2 オブジェクト型
3.2.3 Ext JS による型判定
3.2.4 文字列判定の例

3.3 オブジェクトリテラル

3.3.1 オブジェクトの生成
3.3.2 カスタムコンストラクタ
3.3.3 prototypeオブジェクト
3.3.4 プロパティの削除
3.3.5 JSON形式

3.4 スコープ

3.4.1 グローバルスコープ
3.4.2 ローカルスコープ

3.5 関数

3.5.1 nameプロパティ
3.5.2 関数コール

3.6 クロージャー

3.6.1 関数内の関数
3.6.2 関数を返す関数

第4章 CSS セレクタ

4.1 概要

4.2 エレメントセレクタ

4.2.1 【 * 】
4.2.2 【 E 】
4.2.3 【 E F 】
4.2.4 【 E > F または E/F 】
4.2.5 【 E + F 】
4.2.6 【 E ~ F 】

4.3 属性セレクタ

4.3.1 【 E[foo] 】
4.3.2 【 E[foo=bar] 】
4.3.3 【 E[foo^=bar] 】
4.3.4 【 E[foo$=bar] 】
4.3.5 【 E[foo*=bar] 】
4.3.6 【 E[foo%=2] 】
4.3.7 【 E[foo!=bar] 】

4.4 疑似セレクタ

4.4.1 【 E:first-child 】
4.4.2 【 E:last-child 】
4.4.3 E:nth-child(n)
4.4.4 【 E:nth-child(odd) 】
4.4.5 【 E:nth-child(even) 】
4.4.6 E:only-child
4.4.7 【 E:checked 】
4.4.8 【 E:first 】
4.4.9 【 E:last 】
4.4.10 【 E:nth(n) 】
4.4.11 【 E:odd 】
4.4.12 【 E:even 】
4.4.12 【 E:contains(foo) 】
4.4.13 【 E:nodeValue(foo) 】
4.4.14 【 E:not(S) 】
4.4.15 【 E:has(S) 】
4.4.16 【 E:next(S) 】
4.4.17 【 E:prev(S) 】
4.4.18 【 E:any(S) 】

4.5 CSS値セレクタ

4.5.1 【 E{display=none} 】
4.5.2 【 E{display^=none} 】
4.5.3 【 E{display$=none} 】
4.5.4 【 E{display*=none} 】
4.5.5 【 E{display%=2} 】
4.5.6 【 E{display!=none} 】

4.6 まとめ

第5章 クラスシステム

5.1 JavaScriptによるクラス実装

5.2 Ext JS の名前空間

5.2.1 Ext.namespaceメソッド

5.3 オブジェクト適用

5.3.1 Ext.apply
5.3.2 Ext.applyIf

5.4 Ext.extendメソッド

5.4.1 superclassプロパティ
5.4.2 継承元

5.5 コンポーネントの継承

5.6 Ext.defineメソッド

5.6.1 クラス定義
5.6.2 継承
5.6.3 コンフィグ(Setter/Getter)
5.6.4 静的メンバ
5.6.5 シングルトン
5.6.6 Mixinによる多重継承
5.6.7 クラスエイリアス
5.6.8 動的メンバ定義
5.6.9 alternateClassName

5.7 Ext.Class

5.8 Ext.Loader

第6章 イベントモデル

6.1 概要

6.2 DOMイベント

6.2.1 イベントハンドリング
6.2.2 イベントデリゲート

6.3 Extイベントとカスタムイベント

6.3.1 Extイベント
6.3.2 カスタムイベント

6.4 イベントの可視化

6.4.1 capture/releaseCapture

6.5 イベントリレー

第7章 コンポーネントモデル

7.1 概要

7.2 コンポーネントの特徴

7.3 明示的なインスタンス化

7.4 遅延インスタンス化

7.5 遅延レンダリング

7.6 コンポーネントの消滅

7.7 状態管理

7.7.1 Ext.state.Providerクラス

7.8 Ext.ComponentManager

7.9 クラスエイリアスとの関係

7.10 独自コンポーネント作成

7.11 プラグイン

第8章 コンテナとレイアウト

8.1 コンテナモデル

8.2 レイアウトモデル

8.2.1 layoutプロパティ

8.3 Containerレイアウト

8.4 Cardレイアウト

8.5 Anchorレイアウト

8.5.1 パーセント指定
8.5.2 オフセット指定
8.5.3 サイド指定
8.5.4 混合指定

8.6 Absoluteレイアウト

8.7 Columnレイアウト

8.8 Accordionレイアウト

8.9 Fitレイアウト

8.10 Borderレイアウト

8.10.1 領域
8.10.2 スプリッター
8.10.3 開閉設定

8.11 Tableレイアウト

8.12 HBoxレイアウト

8.12.1 align

8.13 VBoxレイアウト

8.12.1 align

第9章 データモデル

9.1 概要

9.1.1 データストアとは?
9.1.2 モデル定義
9.1.3 Ext.data.Fieldコンフィグオプション

9.2 Ext.data.Connectionクラス

9.2.1 Ext.Ajaxクラス

9.3 Ext.data.Proxyクラス

9.3.1 クライアントプロキシ
9.3.2 Ext.data.LocalStorageProxy
9.3.3 Ext.data.SessionStorageProxy
9.3.4 Ext.data.MemoryProxy
9.3.5 サーバーサイドプロキシ
9.3.6 Ext.data.AjaxProxy
9.3.7 Ext.data.RestProxy
9.3.8 Ext.data.ScriptTagProxy
9.3.9 Ext.data.DirectProxy

9.4 Ext.data.Readerクラス

9.4.1 ArrayReader
9.4.2 JsonReader
9.4.3 XmlReader

9.5 Ext.data.Writerクラス

9.5.1 JsonWriter
9.5.2 XmlWriter

9.6 Ext.data.StoreクラスとExt.data.StoreMgr

9.6.1 Ext.data.ArrayStore
9.6.2 Ext.data.BufferStore
9.6.3 Ext.data.DirectStore
9.6.4 Ext.data.JsonStore
9.6.5 Ext.data.JsonPStore
9.6.6 Ext.data.NodeStore
9.6.7 Ext.data.TreeStore

9.7 アソシエーション

9.7.1 hasManyアソシエーション
9.7.2 belongsToアソシエーション
9.7.3 Polymorphicアソシエーション

第10章 パネルとツールバー

10.1 概要

10.1.1 非表示モード

10.2 ヘッダー

10.2.1 タイトル
10.2.2 パネル開閉
10.2.3 ツール

10.3 ツールバー

10.3.1 ボタンレイアウト
10.3.2 dockedItems

10.4 ボディ

10.4.1 コンポーネント配置
10.4.2 コンテンツの読み込み
10.4.3 スクロール

10.5 フレーム

10.6 リサイズ

第11章 ボタンとメニュー

11.1 ボタン

11.1.1 スケール設定
11.1.2 トグルボタン
11.1.3 アイコン表示
11.1.4 ドロップダウンメニュー
11.1.5 ツールチップ

11.2 メニュー

11.2.1 セパレーター
11.2.2 チェックボックスメニューアイテム
11.2.3 カラーメニューアイテム
11.2.4 日付メニューアイテム

第12章 ツリーとグリッド

12.1 ツリーパネル

12.1.1 構造
12.1.2 ツリーストア設定
12.1.3 ライン設定
12.1.4 矢印設定
12.1.5 ドラッグアンドドロップ

12.2 グリッドパネル

12.2.1 構造
12.2.2 カラム
12.2.3 グリッドビュー
12.2.4 セレクションモデル
12.2.5 ページング
12.2.6 グルーピング
12.2.7 プラグイン
12.2.8 カラムロック
12.2.9 ヘッダーグルーピング
12.2.10 エディター
12.2.11 無限スクロール

12.3 ツリーグリッド

12.3.1 ストア定義
12.3.2 カラム設定

第13章 フォーム

13.1 概要

13.2 フィールド

13.2.1 テキストフィールド
13.2.2 日付フィールド
13.2.3 時間フィールド
13.2.4 数値フィールド
13.2.5 トリガーフィールド
13.2.6 テキストエリア
13.2.7 HTMLエディタ
13.2.8 表示フィールド
13.2.9 非表示フィールド
13.2.10 ファイルフィールド
13.2.11 ラジオボタン
13.2.12 チェックボックス
13.2.13 コンボボックス

13.3 フィールドコンテナー

13.4 フィールドセット

13.5 チェックボックスグループ

13.6 ラジオグループ

13.6 アクション

13.7 バリデーション

第14章 テンプレートとデータビュー

14.1 Templateクラス

14.1.1 append
14.1.2 insertAfter
14.1.3 insertBefore
14.1.4 insertFirst
14.1.5 overwrite
14.1.6 fromメソッドによるテンプレート分離

14.2 XTemplateクラス

14.2.1 配列データの繰り返し
14.2.2 条件分岐
14.2.3 演算
14.2.4 ビルトイン値
14.2.5 カスタムフォーマット関数
14.2.6 サブテンプレート
14.2.7 再帰テンプレート

14.3 データビュー

14.3.1 ストアとテンプレート
14.3.2 アイテムセレクター
14.3.3 ドラッグセレクター
14.3.4 アニメーション

第15章 アプリケーション開発

15.1 スタンダードアプリケーション

15.1.1 Ext.Loaderを活用したスタブ開発
15.1.2 ビューポート作成
15.1.3 フォルダーツリー作成
15.1.4 メール一覧グリッドパネル作成
15.1.5 本文パネル作成
15.1.6 メール編集ウィンドウ作成

15.2 MVCアプリケーション

15.2.1 アプリケーション登録
15.2.2 ルーティング
15.2.3 アクション
15.2.3 ビュー

索引

おたのしみにぃ。

Ext JS 4 実践開発ガイド 【アウトライン公開】