BUY 2010/06/24

Google Web Toolkit(GWT)についてもっと踏み込んだ理解がしたいなと思って書籍・Web等を調査。

GWTって、そこまで技術的に多く広まっているものでもないのかな…?入門編で触った限りではかなり便利そうなのは確かなので、以下の書籍類を(多少値は張ったが)購入。購入分の元は取る勢いでこれから読み進め、理解していきたいと思います。

後のリファレンス用として目次も併記。



Google Web Toolkit アプリケーション

Google Web Toolkit アプリケーション

  • 作者: ライアン・デュースバリー,Ryan Dewsbury,松田晃一,由谷哲夫
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2008/12/22
  • メディア: 単行本(ソフトカバー)
  • 購入: 4人 クリック: 32回
  • この商品を含むブログ (14件) を見る
GWT1.3〜1.4辺りのバージョンを前提とした内容。前半でフレームワークの説明、後半で実践といった感じ。
後半(6章以降)はソースコードも断片的なものだったのでサポートサイトにてソースコードを入手しようとしたものの、全面的に存在せず(無くなった? ※2010/06/24現在)。読書実践も今のところ5章まで完了の時点で一時保留。

### <目次> ###

第1部 Google Web Toolkitを理解する

  第1章 Google Web Toolkitによる最初のステップ
    Ajaxの出現
    Webアプリケーションについて再考する
    Ajaxのためのソフトウェア技術
    みなさんのバックグラウンドを評価する
    アプリケーション開発スキルの重要性
    ツールキットパッケージの概要
    GWTアプリケーションの概要
    まとめ

  第2章 ユーザインタフェースライブラリの概要
    静的ウィジェット
      ラベル/HTML/Image/Hyperlink
    フォームウィジェット
      ボタン/ToggleButtonとPushButton/Checkbox/RadioButton/ListBox
      SuggestBox/TextBox/PasswordTextBox/TextArea/RichTextArea
      FileUpload/Hidden
    コンプレックスオブジェクト
      Tree/MenuBar
    シンプルレイアウトパネル
      FlowPanel/HorizontalPanelとVerticalPanel/HorizontalSplitPanelとVerticalSplitPanel
      FlexTableとGrid/DeckPanel/DockPanel/HTMLPanel
    コンプレックスレイアウトパネル
      StackPanel/TabPanel
    シンプルコンテナパネル
      Composite/SimplePanel/ScrollPanel/FocusPanel
    コンプレックスコンテナパネル
      FormPanel/DisclosurePanel/PopUpPanel
      DialogBox
    ユーザインタフェースフレームワークを繋ぐもの
    まとめ

  第3章 サーバーインテグレーション技術
    基本的なサーバインテグレーション技術
    データフォーマットライブラリの使用
    サードパーティサーバのインテグレーション
    高度なサーバインテグレーション技術
    まとめ

  第4章 Ajaxのソフトウェア開発
    開発環境を準備する
    プロジェクトをEclipseに追加する
    EclipseでJavaコードを書く
    アプリケーションの構造を構成する
    アプリケーションをテストする
    モジュールを開発し共有する
    アプリケーションの配布
    まとめ

  第5章 効果的なツールキットの使い方
    非同期プログラミングを用いる
    戻るボタンを扱う
    CSSを使いエレガントなインタフェースを作成する
    ツールキットを拡張する
    アプリケーションを国際化する
    コードを生成する
    パフォーマンスを向上させる
    まとめ

第2部 実例に基づくリッチなWebアプリケーション

  第6章 ガジェットデスクトップアプリケーション
    Containerアプリケーションパターンを用いる
    モデルを設計する
    カラムコンテナインタフェースを作成する
    ビューにガジェットを書く
    ドラッグ&ドロップガジェットを作成する
    ユーザインタフェースをCSSできれいにする
    永続性を追加する
    外のJavascriptライブラリを用いる
    まとめ

  第7章 マルチサーチアプリケーション
    Aggregatorアプリケーションパターンを使う
    マルチサーチアプリケーションの設計
    モデル
    ビュー
    コントローラ
    構造化されたデータフォーマットをインポートする
    Yahoo! Searchとインテグレーションする
    Google Searchとインテグレーションする
    Flickrサーチとインテグレーションする
    Amazon Searchとインテグレーションする
    まとめ

  第8章 ブログエディタアプリケーション
    Workspaceアプリケーションパターンを用いる
    Webサービスクライアントを作成する
    ブログエディタの設計
    マルチドキュメントビューを作成する
    リッチテキスト編集処理を追加する
    Blogger APIと統合する
    まとめ

  第9章 インスタントメッセンジャーアプリケーション
    Collaboratorアプリケーションパターンを使う
    インスタントメッセンジャーの設計
    モデル
    補完的インタフェースを構築する
    コントローラの概要
    GWT-RPCを使う
    サーバに接続する
    RPCイベントを追加する
    インスタントメッセンジャーサーバ
    サーバ側の高度なI/Oを使う
    まとめ

  第10章 データベースエディタアプリケーション
    Managerアプリケーションパターンを用いる
    モデルを設計する
    非同期データアクセスオブジェクトを使用する
    2ペイン型のエディタインタフェースを作成する
    サーバとのインテグレーションの概要
    汎用のGWTコードジェネレータを書く
    アクションベースのPHPスクリプトと統合する
    RESTを用いたRuby on Railsアプリケーションとインテグレーションする
    GWT-RPCサーブレットとインテグレーションする
    まとめ



Google Web Toolkit ソリューション

Google Web Toolkit ソリューション

  • 作者: デビッド・ギアリー,ロブ・ゴードン,David Geary,Rob Gordon,柴田芳樹
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2008/08/06
  • メディア: 単行本(ソフトカバー)
  • 購入: 3人 クリック: 28回
  • この商品を含むブログ (6件) を見る

こちらはより実践に即していると思われる内容。(まだ中身は読んでない)

### <目次> ###

ソリューション1 GWTの基礎とその先
  本書では
  これから学ぶこと
  GWTウィジェットの紹介
  GWTアプリケーションの構造
  GWTパネルで構成されたユーザインタフェース
  ルートパネル
  user.client.uiに関するAPI
  CSSスタイルでウィジェットのスタイリング
  GWTでイベント駆動プログラミング
  国際化とローカライズ
  GWT国際化の4ステップを実装
  GWTのi18nCreatorコマンドの使用
  GWTウェブアプリケーションでの新たなビュー
  GWTのヒストリー機構
  Historyクラスとヒストリーリスナーの追加
  ブラウザの『戻る』ボタンを統合
  GWTのピアー:DOM検索
  ウィジェットへのキーボードフォーカス設定に遅延コマンドを使用
  リモートプロシージャコールの実装
  カスタムウィジェットの使用
  カスタムウィジェットをGWTモジュールにパッケージ化
  完全なログインアプリケーション
  ここのソリューションで説明した内容

ソリューション2 Javascriptの統合
  これから学ぶこと
  Script.aculo.us Javascriptライブラリーの統合
  HTMLファイルにJavascriptファイルをインポート
  GWT設定ファイルにJavascriptファイルをインポート
  Javascriptカレンダーの統合
  ここのソリューションで説明した内容

ソリューション3 カスタムウィジェット実装
  これから学ぶこと
  コンポジットのカスタムウィジェット
  コンポジットウィジェットとパススルーメソッド
  イベントハンドラ―
  変更イベントの発行
  HasTextインタフェースとHasNameインタフェースの実装
  Script.aculo.usのBlindDown効果を取り込む
  低レベルのカスタムウィジェット
  低レベルのカスタムウィジェットでのDOMクラスの使用
  カスタムウィジェットに対するデフォルトCSSスタイルの設定
  カスタムウィジェットに対するScript.aculo.us効果をパラメータ化
  ここのソリューションで説明した内容

ソリューション4 ビューポートと地図
  これから学ぶこと
  ビューポート
  汎用ビューポートウィジェット
  地図アプリケーションのファイルとディレクトリ
  Viewport実装
  ピクセル位置でウィジェットを配置するためにAbsolutePanelインスタンスを使用
  ビューポート内のビューをドラッグ
  マウスイベントに対処するためのフォーカスパネルの使用
  マウスイベントに対するブラウザの反応を制御するためにイベントプレビューを使用
  イベントの捕捉
  ビューポートのビューをクリッピング
  CSSスタイルでマウスカーソルを変更
  カスタムウィジェットにデフォルトのCSSスタイル名を追加
  ビューポートによるフォーカスパネルの使用:再訪
  アニメーションジェスチャーを持つビューポートのビュー
  Viewportの最終版
  ドラッグジェスチャーの組み込み
  ドラッグジェスチャーに反応してスクロールをアニメーション化
  ドラッグジェスチャーと同じ方向へスクロールをアニメーション化
  スクロールするアニメーションのスピードを変更
  ここのソリューションで説明した内容

ソリューション5 オンラインウェブサービスへのアクセス
  これから学ぶこと
  Yahoo!地図ウェブサービス
  例題アプリケーションの調査
  地図アプリケーションのファイルとディレクトリの概要
  YahooMapsアプリケーションの実装
  Yahoo!ウェブサービスへのアクセス
  ズーム!
  ここのソリューションで説明した内容

ソリューション6 ドラッグ&ドロップ
  これから学ぶこと
  ドラッグ&ドロップ例題アプリケーション
  ドラッグ&ドロップモジュール
  アプリケーションの設定ファイルでドラッグ&ドロップモジュールを継承
  ドラッグ&ドロップアプリケーションの実装
  音楽プレイヤーとショッピングカートのパネルコンポーネントの使用
  ドラッグソースとドロップターゲットの使用
  CSSスタイルの定義
  GWTモジュールでドラッグ&ドロップを実装
  モジュール設定ファイル
  抽象ドラッグソースクラスと抽象ドロップターゲットクラス
  マウスリスナー
  ここのソリューションで説明した内容

ソリューション7 シンプルウインドウ
  これから学ぶこと
  フレックステーブルから構築されたウインドウ
  シンプルウインドウ
  ポップアップパネルを使用
  ポップアップパネルのデフォルトイベント処理をオーバーライド
  GWTフレックステーブルの使用とそのセルをフォーマット
  イベントをシンク
  ウィジェットのDOM要素に対するZインデックスを操作
  ポップアップパネルの大きさを変更
  望ましくないブラウザ効果を抑制
  ウインドウバー
  水平パネルのセル内にウィジェットを整列
  マウスリスナーとイメージで3-Dボタンをシミュレーション
  ポップアップパネルを移動
  ウインドウバーでの望ましくないブラウザ効果を抑制
  ここのソリューションで説明した内容

ソリューション8 フレックステーブル
  これから学ぶこと
  フレックステーブルの紹介
  扱いやすいフレックステーブル
  フレックステーブルでの行削除
  フレックステーブルのセル編集
  フレックステーブルの列の幅を動的に変更
  GWTでのイベントリスナーの構築とイベントの発行
  ResizableCellPanelウィジェットを構築
  フレックステーブル内にResizableCellPanelを組み込む
  フレックステーブルでデータをめくる
  ページャウィジェットを使用
  ここのソリューションで説明した内容

ソリューション9 ファイルアップロード
  これから学ぶこと
  GWTのファイルアップロードウィジェット
  ユーザインタフェースを作成
  JavascriptObjectNotation(JSON)を解析
  Apache Commons FileUpload
  ここのソリューションで説明した内容

ソリューション10 Hibernate統合
  これから学ぶこと
  Hibernate例題アプリケーション
  サーバ上のHibernate
  Hibernate設定ファイル
  POJO Javaクラス
  Contactマッピングファイル
  RPCサーブレット実装
  Eclipse設定
  ここのソリューションで説明した内容

ソリューション11 外部サーバへ配置
  これから学ぶこと
  外部サーバーのディレクトリ構造
  ビルドプロセスを自動化するためにAntを使用
  開発と配置
  配置されたアプリケーションをデバッグ
  ここのソリューションで説明した内容

ソリューション12 GWTと既存のコード
  これから学ぶこと
  実在のStruts/GWTハイブリッドアプリケーション
  簡単なStrutsアプリケーション
  Strutsログインアプリケーションのコード
  JSPページ
  バッキングビーン、フォームビーン、アクションビーン
  GWT/Strutsハイブリッドアプリケーション
  Strutsを組み込むために修正されたAntビルドファイル
  ハイブリッドアプリケーションのコード
  GWTウィジェットを設定するためにJSONを使用
  既存のコードとGWTウィジェットの組み合わせ
  HTMLビューとJSPビューをGWTビューで置き換え
  より根本的なフレームワーク統合
  ここのソリューションで説明した内容



Developing with Ext GWT: Enterprise RIA Development (FirstPress)

Developing with Ext GWT: Enterprise RIA Development (FirstPress)

Google Web ToolkitとExt JSを組み合わせた技術『Ext GWT』。少し前の日記でも書いたけど

  • Google Web Toolkitの情報はそこそこある
  • Ext JSの技術もそこそこある
  • だけど、Ext GWTの情報ってあんまない…?(公式くらい?)

という感じだったので、まとまった単位で情報を閲覧、把握出来るものが欲しいな〜とAmazonで探したところこの1冊位しか無い模様。

まぁそんなに厚さも無いし、これを機会に原典、英語の情報を当たってみるのも良いかな〜って感じで購入。国内Amazonで在庫があったので即日手に入りました。

当然ながら全編英語なので読めるかなーと心配だったけど、結構把握出来そうな感じ。設定情報とかが肝だったりするし、文章全編を翻訳・理解出来てる必要はそこまで無いし(出来ればベストだが)。

脳内翻訳しながら、(実践含め)少しずつ読み進めていきたいと思います。

### <目次> ###

Chapter1: Overview of Ext GWT and GWT
  About Ext GWT
  About GWT
    GWT Crash Cource
  Summary

Chapter2: Organizing the Environment
  The Basic Ingredients
  Setting Up Eclipse
    Defining User Libraries
    Creating an Application
    Importing to Eclipse
    Adjusting for GXT
    My First GXT App
  Summary

Chapter3: Widgets, Widgets, Everywhere
  The Complete Ext-ended Family
  .widget
    Component
    How Things Are Rendered
    Events
    Sinking Events
    Container
    LayoutContainer
    ContentPanel
    ViewPoint
    Window and Dialog
    MessageBox
    TabPanel and TabItem
    Html and HtmlContainer
    ProgressBar
    Slider
    DataList
    ListView
  .widget.button
    Button, ToggleButton, SplitButton
    Status
    IconButton and ToolButton
  .widget.toolbar
  .widget.menu
  .widget.tips
  State Management
  Themes-Let's Make It Pretty
  Summary

Chapter4: Advanced Widgets and Stuff
  Layouts
    GWT Panels
    Cascading Layouts
    Layout Managers
    Layout Tips-n-Tricks
    CenterLayout
    AnchorLayout and AbsoluteLayout
    FitLayout and FlowLayout
    HBoxLayout and VBoxLayout
    ColumnLayout, TableLayout, and TableRowLayout
    BorderLayout
    FormLayout
  Forms
    A Form Example
    Form's Rich Text Editor
  Portal
  Drag-n-Drop
  XTemplates
  Summary

Chapter5: Working With Data
  Data, Stores, and Loaders
    Models
    Stores
    Loaders
    Using BeanModel Objects
    Stores and Loaders
    GWT RPC
  Summary

Chapter6: A Working Example
  myCustomerContacts Application - What's New ?
    When Loading
    Customer Data
    Keeping Data Independent
    Layout and Construction
    When the Module Loads
    Preparing for Services
    Building the Main Layout
    Building the Grid Panel
    Building the Form Panel
    Building the Chart Panel
    Additional Bits
    The Server Code
  Summary

前述の書籍と含めても結構な額投資した事になるので、あらためて元は取る!と心に誓うのでありました(`・ω・´)キリッ