Google Web Toolkit(GWT)入門

Preview:

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の部品)が提供されている

国際化対応が考慮されている

御静聴ありがとうございました

Recommended