あの処理がこのWebブラウザでも動いたら……デベロッパにとって、Webアプリケーションのクロスブラウザ対応化は頭を悩ませる作業のひとつ。最近ではさまざまなAjaxフレームワークが登場しクロスブラウザでの実装も楽になってきたが、このたびひときわ違ったアプローチを試みるAjaxフレームワークがリリースされた。レイアウトをXMLベースで記述し、XULやSVGをもクロスブラウザで動作させるライブラリ「Ample SDK」とは何か?
Ample SDKはClientside OY社が開発/公開しているAjax GUI Frameworkライブラリ。Ample Runtimeと呼ばれる独自のランタイムを使用し、DOM CoreやDOM XPath、XInclude 1.0、SVG 1.2 Tiny、XUL(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フレームワークと異なっていることが挙げられる。ExtJSやYahoo UIはJavaScriptベース、Dojoは独自の拡張要素をもちいてレイアウトを定義するが、Ample SDKではXMLマークアップベースでこれを定義する。配布WebサイトではAmple SDKの特徴/実現できることを5点にまとめている。
- Layout Application UI in a standard XML appliance
- Style Application UI in CSS you got used to
- Write Application Logic in JavaScript against standard DOM APIs
- Extend UI Components in standard XBL 2.0 or JavaScript
- Run Your Rich Internet Application seamlessly in any Web Browser
本稿ではAmple SDKの数ある機能のうち、XULベースで実装したユーザインタフェースをクロスブラウザ上で動作させるサンプルを紹介しよう。