Japan Blog
Google のサービスや技術に関する最新情報が気になる方へ
Google Web Toolkit で遊んでみました その1
2007年10月15日月曜日
2007年10月15日
Posted by 原田昌紀 (ソフトウェアエンジニア)
私の場合、Google でエンジニアとして働いていても、C++ でサーバー側のコードを書いている時間が一番長かったりして、案外イマドキの Web2.0的技術、たとえば Google Maps API 等のウェブサービス API や JavaScriptを活用したフレームワークに触れる機会は少なかったりします。しかし、自社で公開している APIやライブラリを知らないのもアレですし、たまには新しいものに挑戦しないと世の中についていけなくなるのではないか、脳年齢の上昇に歯止めがかからないのではないか、セルライトが増加したり血液がドロドロになるのではないか、といった微妙な恐怖が生活習慣病予備軍を襲います。そんなわけで最近ちょっと気になっているのがGWTこと
Google Web Toolkit
です。
GWTを一言で述べるなら、Java「だけ」を使ってAJAXアプリケーションを開発するためのフレームワークです。通常のウェブアプリケーションの開発では、サーバー側はJavaやPHPで、クライアント側はHTMLとJavaScriptで記述することになりますが、これはなかなか面倒です。JavaとJavaScriptのようにちょっとだけ似ていて異なる言語を使っていると頭がこんがらがります。それにHTMLとJavaScriptを本格的に使って凝ったUIを作ろうとすると、ブラウザ毎の微妙な差異を考えないといけませんし、デバッグも大変です。一方、GWTではクライアント側もJavaを使って開発することができます。まずJavaを使ってコードを書き、それが完成したら、GWTの機能により、それを同等の動作を実現するHTMLとJavaScriptに変換して、サーバーにアップロードして使います。エンドユーザー側はJavaの実行環境をインストールする必要はありません。通常のJavaScript対応ブラウザだけでそのウェブアプリケーションを実行することができます。
以下の画面はGWTに含まれているMail Appというサンプルアプリケーションを実行したところです。この時点ではあくまでもJavaアプリケーションがJVM上で走っているわけですが、画面表示用にはJVMと通信する特別なブラウザが用いられます。これをホステッドモードと呼びます。アプリケーションの開発やデバッグはこのモードで動作を確認しつつ、Java用のエディタやデバッガを使っておこなうことになります。
次の画面は同じアプリケーションをJavaScriptにコンパイルし、Firefoxで見たところです。これをウェブモードといいます。この時点ではもはやJVMは必要なく、IEやFirefoxといった一般的なブラウザさえあれば動作するようになっています。見た目はもちろん、動作も開発段階とほぼ完全に同じになります。デスクトップアプリケーション(Java)とウェブアプリケーション(HTML+JavaScript)が同じ動作をするのを見ると、ちょっと不思議な感じがします。いやはや、すごい時代になったものです。
これと同等の UI を最初から JavaScript と HTMLを書いて作ることは可能か?といえば、もちろん不可能ではないでしょうが、かなりJavaScript を勉強してからでないと難しいように思えます。一方、GWTはAWT や Swing を使ってGUIを開発したことのあるJavaプログラマであれば、短時間で習得できそうです。
ここまで読んでいただいて、もし興味を持たれた方は、次のような手順で実際にGWTで遊んでみることができます。ユーザ登録は不要ですし、インストールも簡単なので、Javaプログラマの皆様はぜひお試しください。オープンソースなのでGWT自体のソースコードも公開されています。
GWT をダウンロードする
http://code.google.com/webtoolkit/
から最新の GWT をダウンロードします。2007 年 10 月現在、最新のリリースはバージョン 1.4.60 で、Windows 用、MacOS X用、Linux 用の 3 種類が用意されています。パッケージのファイルサイズはちょっと大きく、Windows 用のもので 19MB もあるのですが、これはApache Tomcat など、GWT を使った開発に必要なソフトウェア一式が含まれているためです。
インストールは展開するだけ
インストールはパッケージファイルをどこか適当なディレクトリに展開するだけです。もちろん Java2 SDK はあらかじめインストールしておいてください。
サンプルを実行する
たとえば上記の Mail Appであれば、samples\Mail ディレクトリの下に移動して、Mail-shellを実行するだけです。Compile/Browseボタンを押すと、本物のブラウザでどのように動作するか確認できます。ちなみにこれはあくまでもサンプルなので、実際のメールの送受信には使えません。
次回は実際にコードを書いてみます。
ラベル
.org
Accessibility
AdSense
AdWords
AI
Android
Android One
Android Pay
API
AR
Blogger
Browser
campaign
Chrome ウェブストア
Chromecast
CM
COVID
CS Edu
Design
Developer
DevFest
Devices and Services
Doodle
Doodle 4 Google
DoubleClick
Driving Directions
Earth
Engineering
Enterprise
Fitbit
Gboard
Gears
GEO
Glass
Gmail
GNI
Google Account
Google Apps
Google Assistant
Google Buzz
Google Chrome
Google Cloud
Google Code Jam
Google Developer Day
Google Earth
Google for Work
Google Home
Google Home app
Google Maps
Google Now
Google One
Google Pay
Google Photo
Google Play
Google Science Fair
Google SketchUp
Google Translate
Google Wallet
Google アートプロジェクト
Google アシスタント
Google クライシスレスポンス
Google ショッピング
Google で、もっと
Google ニュース
Google プレイス
Google マップ
Google 検索
Google 日本語入力
Google+
Googleレンズ
gTLD
Hardware
HTC
iGoogle
JAXA
MBG
Meet
Motion Sense
MUM
Nest
news
Nexus 7
Nexus Player
OpenSocial
Picasa
Pixel
Pixel 4
Pixel 7a
Pixel Buds
Pixel feature drop
Pixel Fold
Pixel portfolio
Pixel Tablet
Pixel Watch
Playground
Search
Security
SHARP
Soli
Sustainability
Tensor
Tool bar
toolbar
Trend
Wear OS by Google
Women
Women Will
Work Smart
Workspace
YouTube
イノベーション東北、復興支援
イベント
インターンシップ
ウェブレンジャー
エンジニア
エンタープライズ
おみせフォト
カルチャー
クラブ活動
グループ
ごちそうフォト
さがそう
サンタ
ストリートビュー
スペシャルコレクション
スポーツ
セールス
セキュリティ
ツールバー
ディスプレイ
デスクトップ
デベロッパー
ドメイン
トレッカー
パートナー
パートナープログラム
ブラウザ
プログラミング
ヘルプ
マイマップ
モバイル
モバイル Google マップ
モバイル検索
ランキング
リッチ スニペット
音声検索
画像検索
学生
京セラ
教育
検索
広告
高校生
採用
女性の活躍
小笠原諸島
乗換案内
政治・選挙
節電
地図
中学生
東日本大震災
富士山
翻訳
未来へのキオク
未来への働き方コンソーシアム
過去の投稿
2023
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
2022
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2021
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
2020
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2019
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2018
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2017
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2016
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2015
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2014
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2013
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2012
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2011
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2010
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2009
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2008
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2007
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2006
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
Feed
Follow @googlejapan
Follow
メディア関係者向けお問い合わせ先
メールでのお問い合わせ:
pr-jp@google.com
メディア関係者以外からのお問い合わせにはお答えいたしかねます。
その他すべてのお問い合わせにつきましては、
ヘルプセンター
をご覧ください。