Upload
yuki-naotori
View
3.227
Download
1
Embed Size (px)
DESCRIPTION
第7回Ext JS / Ext GWT勉強会用資料
Citation preview
Google Web Toolkit (GWT)入門
2009/01/21 (株)豆蔵 江川 崇
Ext JS/Ext GWT勉強会
自己紹介(表)
所属 株式会社 豆蔵仕事 業務系システムの要求分析 設計、実装の支援 ・Spring, Hibernate 非機能要件定義
名前 江川 崇(EGAWA Takashi)
自己紹介(裏)所属 日本Androidの会 幹事 Android SDK ワーキンググループ リーダー
GWTとは
Javaを使って簡単にAjaxアプリを作ることができる
ツール
以上
お品書き GWT登場の背景
GWTの適用領域
GWTのウリ・構成要素
GWTでうれしくなること
GWT登場の背景
変遷
C/Sシステム
Webシステム
Ajax
C/Sシステム イメージ
Webシステム イメージ
Ajaxを用いたシステム イメージ
とくにJavaScriptが・・・書くのに慣れていない
JavaやC#なら得意だが・・・prototype.jsなどがあるが・・・サーバーサイドと別の言語になる横断的なテストや統計情報の収集が困難複数の言語の記述能力が必要コードの重複(入力値の妥当性確認など)
クロスブラウザ対応が面倒・・・
この課題を解決するのが
GWT
GWTとは
Javaを使って簡単にAjaxアプリを作ることができる
ツール
GWTのウリ・構成要素
GWTのウリ 好きなJavaの開発ツールを使える
ブラウザ間の非互換な部分を吸収してくれる
NetBeans, Eclipse, InteliJ・・・
商用利用可 オープンソース
Ajaxの代名詞ともいえるGoogleが出している
GWTでの開発の流れJavaでコーディング・デバッグする
JavaからJavaScriptへコンパイルする
各Webブラウザで動作確認する
これらの作業を繰り返す
※Hosted
※Web
ツール類
ライブラリ類
GWTの主要な構成要素
JREエミュレーションライブラリ
GWT Web UIライブラリ
Java to JavaScriptコンパイラ
Hostedブラウザ
GWTの適用領域
PoEAAのレイヤー プレゼンテーションレイヤー
UIの提供ユーザーからのリクエストの処理ユーザーへ情報の表示
ドメインレイヤー入力値や格納値による計算処理値の妥当性確認
データソースレイヤー他システムとの通信RDBMSなどへの永続化
プレゼンテーション
データソース
ドメイン
従来のWebシステムHTML(JSP)/JavaScript
ビジネスロジック実装
Hibernate
クライアント側(Webブラウザ)
Spring
サーバー側
Struts
プレゼンテーション
データソース
ドメイン
GWTを使ったシステム
GWT Client Module
HTML/JavaScript
GWT Server Module
ビジネスロジック実装
Hibernate
クライアント側(Webブラウザ)
サーバー側
Spring
2つのモジュールGWT Client Module
UI部品最終的にはJavaScriptとして動作する
GWT Server ModuleRPC通信を処理するアプリサーバーにデプロイメントする
GWTが対応しているAPIしか使えない
Java SEの機能をフルに使える
GWTの適用範囲プレゼンテーションレイヤーを担うドメインレイヤーやデータソースレイヤーは従来の場合と同じ考え方ただし、クライアント側にリッチなドメインモデルを持たせる場合もある
設計が変わる クライアント全体にフォーカス Ext GWTクライアント側の制約に注意
GWTでうれしくなること
GWTでうれしくなること 全てがJavaで書けるコンパイルタイムリファクタリング
慣れ親しんだIDEがそのまま使える
JUnitが使える非同期RPC部分もテスト可能
GWTでうれしくなること JavaScriptやDOM APIを知らなくてもいい
ブラウザの互換性は気にしなくていい
既存のJavaScriptと連携できるJSNI
GWTでうれしくなること ブラウザの「次へ」「戻る」ボタンに対す
るハンドルが不要
多くの共通的なWidget(UIの部品)が提供されている
国際化対応が考慮されている
御静聴ありがとうございました