Google Web Toolkitにファンクションのスピード監視, コード分割などが加わる

次の記事

2009年のベストiPhoneアプリケーション–AppleがiTunesの今年の傾向を集計して発表

今夜(米国時間12/8)のCampfire OneイベントでGoogleは、Google Web Toolkitに導入するいくつかの新しい技術を紹介した(このイベントでぼくが書いたライブのブログ記事がここにある)。この重要な発表には、デベロッパが自分のWebアプリケーションのスピードアップを図るためのSpeed Tracer、アプリケーションを分割してダウンロードできるようにするコード分割ツール、そしてデベロッパがアプリのロジック部分とプレゼンテーション部分を最初から最後まではっきり分離できるためのUiBinderが含まれる。

Speed TracerはGoogle Chromeのエクステンションで、デベロッパが自分のWebアプリケーションをより効率的にするための工夫や努力を助ける。中でも特にこのツールは、AJAXの最適化を助ける。ロード時間を短縮するためのオプティマイザは多いが、このSpeed Tracerはアプリの実行性能を対象とし、ユーザが今後長期にわたってそのアプリのいろんな機能を使い込んでいくことを想定した幅広い最適化を行う。GoogleのAndrew Bowersの説明によると、Speed Tracerは、以前は見つけにくかった実行性能のボトルネックを見つける、それを、WebkitのそのためのAPIにアクセスすることによって行う(Webkitを使っていないブラウザにはそのエンジンにそんなAPIがない)。

このツールは、アプリケーションの足を引っ張っているファンクションを個別に具体的に見つけて、それをリアルタイムでモニタできる。そしてデベロッパに、このファンクションが問題じゃないのと示唆する(ユーザが遅れを感じるのは実行に100ミリ秒以上もかかるようなファンクションだ)。

今夜のイベントで発表された第二の重要な機能は、デベロッパ自身が決めるコード分割だ。Bowersによると、Google Waveのチームが最初にWaveをビルドしたときは、JavaScriptの部分のサイズが1.4メガバイトにもなり、大きいだけでなくユーザの最初のロード時間がとても長くなった。そこでGoogleはコードを分割する方法を考え、最初のロード時には必要な部分だけをロードするようにした。今では、ブラウザからWaveを使おうとすると、最初はアプリケーションの実行に必要なもっとも基本的な部分だけがロードされる。そしてユーザがそれ以上のもの、たとえばSettingsのメニューなどを使おうとすると、ユーザのボタンクリックに応じてその機能が素早く取り込まれる。

コード分割は前からあるテクニックであり、それを自動化する試みもある。しかしBowersによれば、Googleは自動化とは逆の方向を選んだ。むしろデベロッパが、ユーザが必要とするファンクションを具体的に指定するのである。するとツールは、それらのファンクションに対応するコードを見つける。最初のロードで必要なファンクションもデベロッパが指定するが、ツールはそのあとの操作をすべてやってのける。

今夜紹介された第三のツールはUiBinderだ。これは、GoogleによるAdWordsの開発過程から生まれた。Bowersの説明によると、UiBinderは宣言的なUIであり*、それによりデベロッパはレイアウトのテンプレートをJavaのファイルに結びつけられる。両者をデベロッパが手作業でマージ(合体)する必要はない。従来のJavaでは、デベロッパがアプリケーションのロジック部分とレイアウトの部分の結び付けを自分でやらなければならなかった。そうすると、デザイナーがアプリケーションのルックスを変えたら、ロジックの部分もいじらなければならない。UiBinderを使うと、デベロッパは両者の分離をずっとキープできる。だからレイアウトが変わっても、ロジックのコードを書き変える必要がない。〔*: 宣言的(declarative)–何かを実現するための処理手続きを記述するのでなく、そこに必要なものを‘ナニナニ’と書いて指定するだけのプログラミング方式。〕



[原文へ]
[米TechCrunch最新記事サムネイル集]

(翻訳:iwatani(a.k.a. hiwa))

“Google Web Toolkitにファンクションのスピード監視, コード分割などが加わる” への3件のフィードバック

  1. […] Google Web Toolkitにファンクションのスピード監視, コード分割などが加わる Google Web Toolkitにファンクションのスピード監視, コード分割などが加わる […]

  2. […] Nexus OneとiPhoneの違いについて今日わかったこと Google Web Toolkitにファンクションのスピード監視, コード分割などが加わる 2010年にグーグルがすべきこと–5つの提言 […]

  3. […] Nexus OneとiPhoneの違いについて今日わかったこと Google Web Toolkitにファンクションのスピード監視, コード分割などが加わる 2010年にグーグルがすべきこと–5つの提言 […]

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中