2010
01.21

毎日更新するという目標で始めて間もなくデスマーチに巻き込まれましたw
おかげで3日と持たなかった八雲です。

というわけで、復帰1発目はいつも使ってるけど毎回忘れてググッている内容ですw
若年性健忘症が不安視され・・・というほどもう若くなかったorz

Google AJAX Libraries API

Google AJAX Libraries APIは、人気のあるJavaScriptのライブラリをGoogleがホスティング、ユーザーは自由にかつ無制限に(!)利用できるAPIです。

Google AJAX Libraries API
http://code.google.com/intl/ja/apis/ajaxlibs/documentation/#AjaxLibraries

AJAX Libraries API は、最も人気の高いオープン ソース JavaScript ライブラリ用のコンテンツ用の配布ネットワークと読み込みを提供するアーキテクチャです。google.load() メソッドを使用すると、アプリケーションから高速でグローバルに、拡大し続ける人気の高いオープン ソース ライブラリにアクセスできるようになります。

利用例

利用方法は大きく2つ。
以下はjQueryの例ですが、他のライブラリやフレームワークも同様の形で利用できます。

<!-- 外部のライブラリとして -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
  //ここら辺にいつも通り記述できる
  $(document).ready(function(){
    alert('Hello!');
  });
</script>
<!-- Googleの機能を利用して -->
<script src="http://www.google.com/jsapi"></script>
<script>
  // Load jQuery
  google.load("jquery", "1");  //jQueryの1.x(最新版)を呼び出す

  google.setOnLoadCallback(function() {
      //ここら辺にいつも通り記述できる
      $("#huga").html('Hello!');
  });
</script>

対応しているライブラリ

最新の対応状況は英語版のドキュメントを参照。日本語版のドキュメントは更新がちょっと遅いです。

  • jQuery
  • jQuery UI
  • Prototype
  • script.aculo.us
  • MooTools
  • Dojo
  • SWFObject
  • Yahoo! User Interface Library (YUI)
  • Ext Core
  • Chrome Frame

効能

自分でファイルを準備する必要がないというのも大きなメリットですが、それ以外にも次のような効果が期待できます。何ともGoogleらしいですね^^;

Google人気JavaScriptライブラリ配布開始、ネット全体でキャッシュ効果

The AJAX Libraries APIはこれを解決することを目指している。主な特徴は次のとおり。
* Google CDNを活用したファイルの配布
* 対応していればGzip圧縮転送を有効にする
* ダウンロードするファイルは可能なかぎり最小化されたものとなる
* キャッシュが有効になるように工夫されており、一度どこかでダウンロードしてあればキャッシュが使えるため不要なダウンロードしなくなる
* バージョン番号にワイルドカードが指定できるため自動的にマイナーアップデートを実施できる

新しいバージョンが出たらすぐに更新されるの?

ライブラリの反映は結構早いようです。例えばjQueryの場合、バージョン1.4は2010年1月14日にリリース、AJAX Libraries APIもGMT的に見てその日のうちに更新されているっぽいです(本家とLast-Modifiedが異なることからの推論)。

AJAX Libraries API
http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js
$ telnet ajax.googleapis.com 80
Trying 72.14.203.95...
Connected to ajax.googleapis.com (72.14.203.95).
Escape character is '^]'.
GET /ajax/libs/jquery/1.4.0/jquery.min.js HTTP/1.0
Host: ajax.googleapis.com

HTTP/1.0 200 OK
Content-Type: text/javascript; charset=UTF-8
Last-Modified: Thu, 14 Jan 2010 01:36:01 GMT
Date: Wed, 20 Jan 2010 08:30:38 GMT
Expires: Thu, 20 Jan 2011 08:30:38 GMT
X-Content-Type-Options: nosniff
Server: sffe
Cache-Control: public, must-revalidate, proxy-revalidate, max-age=31536000
Age: 19
X-XSS-Protection: 0

jQuery本家
http://code.jquery.com/jquery-1.4.min.js
$ telnet code.jquery.com 80
Trying 72.21.91.20...
Connected to code.jquery.com (72.21.91.20).
Escape character is '^]'.
GET /jquery-1.4.min.js HTTP/1.0
Host: code.jquery.com

HTTP/1.0 200 OK
ETag: "9e6861c-110ce-960a0e00"
Content-Type: application/x-javascript
Accept-Ranges: bytes
Last-Modified: Wed, 13 Jan 2010 20:26:32 GMT
X-Cache: HIT
Vary: Accept-Encoding
Content-Length: 69838
Connection: close
Date: Wed, 20 Jan 2010 08:38:36 GMT
Server: ECS (sea/5527)

jQuery、Amazonのクラウド使ってんのかな。

紹介サイト

・GoogleでホストされているjQueryを使う方法
http://www.ideaxidea.com/archives/2009/03/jquery_on_google.html

No Comment.

Add Your Comment