第7回 メモリリークが少なくなったGoogle Maps APIのバージョン2が登場
株式会社ピーデー川俣 晶
2006/4/20
ハイライト1・Google Maps API Version 2のリリース |
ダウンロードするJavaScriptプログラムのサイズが小さくなったGoogle Maps API v.2 |
Ajaxの代表的なアプリケーションの1つといえるだけでなく、いま最もWeb上で活用されるAPIを提供するGoogle Mapsですが、そのAPIのバージョン2が2006年4月3日にリリースされています。まさにAjaxの進化は止まらないという感じです。
変更点の一部を見てみましょう。
まず、ダウンロードするJavaScriptプログラムのサイズが小さくなっているといいます。上記文書によれば約半分ということで、これは画期的なことです。このプログラムはかなりのサイズがありましたが、それが減るとすれば、細い回線でパケット代を気にしながら閲覧する場合には大きな価値があるでしょう。
ほかにもさまざまな変更があります。2つのサテライトのズームレベルが追加され、より自由度の高い参照が可能になりました。画面のコーナーに全体像を示す小さな地図を表示させ、現在見ている場所が容易に分かるようにするとともに、大域内での移動もスムーズにできるようになります。メモリリークも少なくなり、使っているうちに思わず大量のメモリを消費しているという事態も減ります。開発者向けには、デバッグ情報を表示するフローティングするウィンドウを表示する機能も提供されます。
今回は、あくまで概要に触れるだけにとどめますが、近い将来、この新しいAPIを活用したさまざまなサービスが出てくることでしょう。それをワクワクしながら待ちたいと思います。
ハイライト2・Ajaxアプリをデスクトップで実行するNetJaxer |
ウインドウズアプリライクなAjax UI |
Ajaxアプリケーションと、通常のデスクトップアプリケーションの境界はあいまいになり続けています。機能面でワープロ等の、これまではデスクトップアプリケーションで行うものと思われていたソフトが、Ajaxで実現されていたりします。使い勝手の面でも、Ajaxアプリケーションの進化は続いており、Windowsアプリケーションと見分けがつかない……というレベルのUIライブラリも生まれています。
ここまで来ると、両者を区別して扱いたくない……というニーズが出てくるのも当然の成り行きでしょう。このNetJaxerは、GmailのようなAjaxアプリケーションを、あたかもデスクトップアプリケーションのように実行させることができます。
このようなソフトは、古くからパソコンに慣れ親しんできたが、Webブラウザ文化にはなじみが薄いユーザーにAjaxアプリケーションを使ってもらうには有効でしょう。また、Webブラウザ上で利用していると、そのソフトに関係ない多くの操作がWebブラウザを通じて実行できてしまう……という問題も解決できます。慣れないユーザーに、Webブラウザではなく、あくまで特定のAjaxアプリケーションを使わせたい……という場合にも有効でしょう。
ハイライト3・AjaxAMP v3.0 |
-
WinAMPをブラウザからリモートコントロールできるAjaxアプリケーション
世の中にはすごいソフトがあるものだなと思います。これは、MP3プレーヤーとして有名なWinAMPを、WebブラウザからリモートコントロールするAjaxアプリケーションです。Ajaxというと、当初は地図、最近はワープロなどに注目が集まっていますが、こういう音楽再生の分野で活用されることもある……ということですね。
さて、このAjaxAMPは、ただ単にWebブラウザからWinAMPを操作するだけではありません。例えば、第1のコンピュータ上のAjaxAMPから第2のコンピュータ上のWinAMPを操作し、その結果は第3のコンピュータから音楽として流れる……ということもできるようです。
圧縮された音楽のデータは割と軽いので、ネットワーク経由で好きな場所で再生させることも可能だと思いますが、それを手軽かつ便利に実行する手段として、このようなアプローチはありでしょう。
そのほかのみどころ |
Ajaxとそれに関連する話題を紹介します。
XMLHttpRequestオブジェクトはW3Cに提案 |
W3Cに提案されたXMLHttpRequestオブジェクト
Ajaxの中核として使われるXMLHttpRequestオブジェクトは、マイクロソフトが独自にInternet Explorerのために開発したもので、HTML、ECMAScriptとして標準化されたJavaScript、DOMなどと異なり、一切の公的な標準の裏付けがないものでした。それが、デファクトスタンダードとして複数のWebブラウザに広まり、結果としてAjaxの繁栄をもたらしたわけです。
こうなったら、Webの標準を定めるW3Cも黙ってはいられないということでしょう。XMLHttpRequestオブジェクトの仕様を勧告する文書の作業中の版が公開されました。気になる人は、これを読んで意見をW3Cへ送るとよいでしょう。
とはいえ、これがどれぐらい価値を持つかは分かりません。なぜなら、すでに普及してしまったWebブラウザに含まれるXMLHttpRequestオブジェクトが、この仕様の影響を受けることはないからです。依然として、Ajax開発者はXMLHttpRequestオブジェクトの仕様の違いから解放されることはなさそうです。
RFCに提案されたJSON
JSONはIETFへ |
XMLHttpRequestオブジェクトがW3Cに行ったのとは異なり、JSONはIETFへ行きました。こちらは、インターネットの基礎的な標準を定める組織であり、ここからリリースされる文書はRFCと呼ばれます。
しかし、同じAjax関連の技術であるのに、どうして異なる組織で扱われているのでしょうか? おそらく、XMLHttpRequestオブジェクトはDOM等と強く関連するWebブラウザ上の技術であるのに対して、JSONはネットワークを流れる情報交換形式としての傾向が強いためではないかと思います。
この2つの動きは、扱う組織の差によって先行きに変化があるのか、注目して見守りたいと思います。
ajaxWrite
.docファイルで保存ができるajaxWrite |
前回、AjaxワープロのWritelyをGoogleが買収したという話題を書きましたが、ほかにも名乗りを上げたAjaxワープロがあります。その名もズバリ、ajaxWriteといいます。
このサイトを見に行くと、“Click the icon for the server nearest you to launch ajaxWrite in seconds!”(アイコンをクリックすれば、近くのサーバーからajaxWriteが数秒で起動するよ!)という挑発的な記述が見えます。これはもう、くどくどと説明するよりも、実際にアクセスしてクリックしていただく方が早いでしょう。
ただし、うっかりInternet Explorerでアクセスすると、“OOPS! - Firefox 1.5 (or higher) Required for ajaxWrite”と怒られるので注意!
ajaxSketch
ベクター系の画像編集機能が使えるajaxSketch |
ajaxWriteと同じajax13 Inc.が開発した画像ソフトです。
ベクター系の画像編集機能を持っていますが、これも同様にクリックすればすぐに動かして試してみることができます。
ですから、説明文を読むよりも、ぜひ試してみてください。
Ajaxにおけるメモリリークの注意点
JavaScriptにもメモリリークの問題が |
これは技術者向けの情報です。JavaScriptにもメモリリークの問題があり、実際に、はてなのブックマーク追加ページにその問題があったということです。はてなのような著名サービスでも発生している問題ですので、注意喚起のために掲載しました。
Ajax解体新書(1) よりAjaxを深く理解するために、ブラウザ上の「見た目」だけに注目するのではなく、実際に目に見えない舞台裏の通信内容をモニタリングしてみよう
Ajax技術の目に見えない通信内容をのぞいてみよう 2006/2/11 |
古くて新しいAjaxの真実を見極める 「Webインターフェイスの新しい手法」「画期的なWebアプリケーションの仕組み」であるとして開発者たちの人気を集めるAjaxとは何なのか、その真実を見極めてみよう 最終更新 2005/8/2
|
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|