あの処理がこのWebブラウザでも動いたら……デベロッパにとって、Webアプリケーションのクロスブラウザ対応化は頭を悩ませる作業のひとつ。最近ではさまざまなAjaxフレームワークが登場しクロスブラウザでの実装も楽になってきたが、このたびひときわ違ったアプローチを試みるAjaxフレームワークがリリースされた。レイアウトをXMLベースで記述し、XULやSVGをもクロスブラウザで動作させるライブラリ「Ample SDK」とは何か?

Ample SDKはClientside OY社が開発/公開しているAjax GUI Frameworkライブラリ。Ample Runtimeと呼ばれる独自のランタイムを使用し、DOM CoreDOM XPathXInclude 1.0SVG 1.2 TinyXUL(XML User Interface Language)といった機能をクロスブラウザで実現する(一部は開発中。詳細は図表を参照されたい)。GNU Lesser General Public License / Commercial Licenseのデュアルライセンスのもとで公開されている。

Compatibility - Ample SDKよりAmple SDK compatibility tableを引用。HTML5.0対応とIEのSVG対応以外では高い実装/再現率のもよう

特筆すべき点として、Ample SDKはユーザインタフェースのアプローチ手段がほかのAjaxフレームワークと異なっていることが挙げられる。ExtJSYahoo UIはJavaScriptベース、Dojoは独自の拡張要素をもちいてレイアウトを定義するが、Ample SDKではXMLマークアップベースでこれを定義する。配布WebサイトではAmple SDKの特徴/実現できることを5点にまとめている。

  1. Layout Application UI in a standard XML appliance
  2. Style Application UI in CSS you got used to
  3. Write Application Logic in JavaScript against standard DOM APIs
  4. Extend UI Components in standard XBL 2.0 or JavaScript
  5. Run Your Rich Internet Application seamlessly in any Web Browser

Ample SDKのアーキテクチャ - リファレンスのSolution Architectureより抜粋

本稿ではAmple SDKの数ある機能のうち、XULベースで実装したユーザインタフェースをクロスブラウザ上で動作させるサンプルを紹介しよう。