フルフィーチャフレームワーク Dojo

Dojo開発者であるAlex Russell氏はSitePen BlogにおいてDojo In 6Kのタイトルのもと、さらに軽量で高速に動作するDojoについて発表した。このDojoを使うと、この手のフレームワークとしては最軽量とみられているjQueryよりも最初のページの読み込み時間を高速化できるという。

DojoはjQueryやPrototypeなどの軽量JavaScript Ajaxフレームワークと比較して、多くの機能を実現していることからフルフィーチャフレームワークと呼ばれている。以前のバージョン(0.4系、0.9系)はその機能の多さゆえに読み込みに時間がかかると批判されることが多かったが、Dojo 1.0からはコンポーネントを遅延読み込みすることで最初のロード時間を短縮しつつ、多くの機能を使う方法を実現している。

Alex Russell氏が発表したDojo In 6Kはこのアイディアをさらに推し進めたもので、最小コンポーネントであるdojo.jsにおける必要なベース機能すら後から読み込むようにして縮小化をはかったというものだ。モジュールシステム、スタブ関数とコンストラクタのみが含められており、実際に使われる段階でコードを読み込む仕組みになっている。最終的にGzip圧縮で6KBほどという最小サイズが実現されている。

この最小化Dojoは特にiPhoneのようなモバイルデバイスでの利便性を向上させることを目指しているとみられる。コアサイズが少なくなったことで最初の読み込みは高速になる。しかし読み込みを遅延させているだけで最終的に読み込むサイズが少なくなるわけではない。しかしモバイルの利用シーンを考えると、このように分割して読み込むようにすることでユーザに読み込みを負担を感じさせることなく処理を実現できるというわけだ。

jQueryの開発者であるJohn Resig氏はAlex Russell氏のブログに対し、Alex Russell氏の説明からはjQueryが重いように思えてしまうが実際のオーバーヘッドはわずかなものであり、この手のJavaScriptライブラリのなかではもっと読み込み速度が速いことを自身のブログにおいて補説している。

正式リリースされているわけではないが、Alex Russell氏が発表したDojo In 6Kの取り組みはモバイルデバイスにおけるWebアプリケーションの快適な動作を実現するうえできわめて魅力的なものだ。今後のリリースに反映される可能性もある。DojoのユーザのみならずWebデベロッパは同取り組みに注力しておきたい。