Ajax(XHR)如きにjQueryは重過ぎ!!な時の軽量ライブラリ集

WP Super Cache の導入にあわせて、人気の記事をカウントしてくれるプラグインを Popular Posts + Post-Plugin Library から WordPress Popular Posts に変えてみました。

理由は、Popular Posts がキャッシュ化されたページではカウントしてくれなかったからです。その点 WordPress Popular Posts は、Ajax (XHR) でカウントしてくれるので、静的ページでも OK です。

ところが WordPress Popular Posts は、高々ページの ID を送るだけなのに jQuery (もちろん min 版ですが) を読み込みます。それだけならもっと簡単なスクリプトでもいいんじゃない?ということで、自分の勉強を兼ねて調べたことを共有してみたいと思います。

vX – A Super-Lightweight Javascript Toolkit

vX - A Super-Lightweight Javascript Toolkit

vX は機能性よりもサイズをコンパクトにすることを第1にデザインされたライブラリです。最初は Ajax 用の小さなライブラリ関数だけでしたが、イベントのハンドリングやエンコード関連、アニメーションや JSON の扱いなど、28のミニ関数郡からなりますが、全てをあわせても非圧縮状態で3KBと、超軽量なフレームワークとなっています。さすがに使い勝手が良いとはいえませんが、一通りのドキュメントは揃っていますし、MochiKit の様に必要な関数だけを選択してカスタムなライブラリを作成するツールも提供されており、小さくて DIY 向きのライブラリではないかと思います。私はこれの Ajax だけ (287バイト) をインラインで埋め込んで使っています。

サイズ [KB] 3.0
ライセンス MIT License

miniajax – Mini Ajax is a Lightweight Javascript AJAX library

miniajax - Mini Ajax is a Lightweight Javascript AJAX library

Ajax に特化したライブラリです。XHR の GETPOST に、フォームからクエリをシリアライズする関数と、レスポンスを HTML 要素に反映する関数が加わった感じです。$ (ドル記号) が他のライブラリと衝突しますので、注意が必要です。

サイズ [KB] 1.5
ライセンス GNU General Public License v2.0

mini – Tim’s Mini JavaScript Library

Tim's Mini JavaScript Library

機能もコードもほとんど上述の miniajax と同じです。名前空間が mini.ajax に変更されていることと、フォーム・データのチェック用関数 mini.form が加わっているところが違いです。

サイズ [KB] 1.8
ライセンス フリーウェア

microajax – Tiny AJAX library

microajax - Tiny AJAX library

GETPOST 行うだけの超シンプルな関数です。

サイズ [KB] 0.9
ライセンス New BSD License

jx – JavaScript Ajax Library

jx - JavaScript Ajax Library

V2.01.A は GET、POST が可能ですが、コードが多少冗長です。軽量版の V3.00.A は GET メソッドしか対応しておらず、ちょっとアレな感じはしますが、一応 JSON を扱います。

サイズ [KB] 1.0
ライセンス サイトにもコードにも著作権表示が見当たりません

scatterjs – Lightweight RESTful ajax library

scatterjs - Lightweight RESTful ajax library

フォームを介してサーバーと連携をとることに特化した、RESTful な完全スタンドアロンの Ajax ライブラリです。jQuery や Mootools、Prototype など他のライブラリと共存することが出来ます。

サイズ [KB] 2.6
ライセンス MIT License

XMLHttpRequest.js – Standard-compliant cross-browser XMLHttpRequest

XMLHttpRequest.js - Standard-compliant cross-browser XMLHttpRequest

W3C の標準に準拠した XMLHttpRequest オブジェクトを透過的に使用可能とするクロス・ブラウザのためのライブラリです。IE, Gecko系、Safari, Opera など、古いブラウザも含めてかなり広範囲な対応がとられています。ブラウザの互換性を重視するなら、他の Ajax ライブラリと組み合わせて使うと良いでしょう。

サイズ [KB] 3.8
ライセンス GNU General Public License

JsHttpRequest: cross-browser AJAX + file uploading

JsHttpRequest: cross-browser AJAX + file uploading

IE5.0+, Mozilla 1.7+, FireFox 1.0+, Opera 7.3+, Safari と、古いブラウザから対応されています。結構、規模は大きいのですが、ファイルのアップロード や PHP との連携など、例題とドキュメントがしっかりしており、実用にも十分耐えられるように思います。

サイズ [KB] 15
ライセンス GNU Lesser General Public License

参考

Feather Ajax

Feather Ajax

オブジェクト・オリエンテッドな軽量 Ajax ライブラリです。複数のコネクションがちゃんと貼れるようです。PHP を使った例題もしっかりしており、使用方法に戸惑うことはないでしょう。

サイズ [KB] 1.6
ライセンス フリーウェア

liteAJaX

liteAJaX

原理証明用の Ajax ライブラリだそうです。ソースコードが読み易く、コメントもしっかりしているので、学習用に良いのではないでしょうか。

サイズ [KB] 5
ライセンス GNU General Public License

SimpleJS

SimpleJS

XHR と結果の表示エフェクト (ローディング中表示など) が1つの関数で出来るように作られています。他にもちょっとしたアニメーションが出来るようになっていたり、スライドショーやアコーディオン効果のプラグインもあり、小粒でもちゃんと使えるようになっています。

サイズ [KB] 14
ライセンス フリーウェア

参考

Ajax Baron – Java Ajaxライブラリ Ajax Baron (エイジャックス バロン)

Ajax Baron

サーバー・サイド Java で XML Web サービスを作るためのライブラリが基本ですが、クライアント・サイドの JavaScript、JSONP もサポートしており、RESTful な AjaxWeb アプリケーション開発を行うための純日本製フレームワークです。ドキュメント、サンプルともかなり充実しています。

サイズ [KB] 6.6
ライセンス フリーウェア

Ajaxはじめの一歩 XMLHttpRequest – [Javascript] All About

All About Ajaxはじめの一歩 XMLHttpRequest

私はここで Ajax を勉強させてもらいました。サンプルコードと平易な解説が秀逸です。

MochiKit – A lightweight Javascript library

MochiKit - A lightweight Javascript library

jQuery と並ぶ軽量 JavaScript ライブラリですが、その最大の特徴は、必要なモジュールだけを組み合わせてライブラリを作ることが出来る Web ペースのツールが提供されていることでしょう。軽量とはいえ、Ajax だけでも MochiKit.Base + MochiKit.Async で約35KBytes必要です。豊富なドキュメントと例題が、使い方を理解するのに役に立つでしょう。

サイズ [KB] 35
ライセンス MIT Licence

taconite

taconite

JavaScript コードを書かなくても DOM 操作が出来ることが特徴の Ajax 専用フレームワークです。jQuery のプラグインとしても動作することが出来ます。

サイズ [KB] 7.6
ライセンス Apache License, Version 2.0

Clean AJAX

Clean Ajax

Ajax 専用の高度なフレームワークです。その特徴は次の様にうたわれています。

  • 高度な抽象化
  • 最小構成が明確
  • 同時に複数要求を処理可能
  • 例外処理
  • コンソールでメッセージのモニタが可能
  • キャッシュと履歴の管理
  • 要求を管理するためのメッセージキュー
  • ガベージコレクション
  • SOAP、XMLRPC、および JSON の統合
  • OpenAjax Hub 1.0 に準拠
  • クロスブラウザ (IE、Firefox、Mozilla、Opera、Safari、Chrome)
サイズ [KB] 36
ライセンス GNU General Public License

λJS – Ultra lightweight JavaScript library

λJS - Ultra lightweight JavaScript library

MochiKit に触発され開発されたようですが、ちょっとした視覚的効果や、ドラッグ・アンド・ドロップ機能などを含めても、未圧縮状態で33KBと超軽量をうたっている JavaScript フレームワークです。Python スクリプトでカスタムモジュールを構成する仕組みです。

サイズ [KB] 33
ライセンス MIT Licence

Anaa – Simple lighweight Ajax library

Anaa - Simple lighweight Ajax library

異なるドメイン間でデータがやり取りできるクロス・サイト用の拡張や、Google Gears を使ったローカル用の Anaa Gears というライブラリなどもあるAjax フレームワークです。デモも豊富です。

サイズ [KB] 3.5
ライセンス GNU General Public License v2.0

JSquared – the light-weight & light-touch JavaScript library

JSquared - the light-weight & light-touch JavaScript library

jQuery 等と違って $ を使わず、DOM 操作も標準的な JavaScript の記法に則っていますので、馴染みが早いでしょう。Ajax だけでなく、アニメーションや DOM 操作、クロスブラウザなイベント・ハンドラを備えた本格的な JavaScript フレームワークとなっています。

サイズ [KB] 49
ライセンス GNU Lesser General Public License

参考情報

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

海外からの投稿は受け付けていません