今回はオープンソースで実現するリッチクライアントの第2弾として,Flashベースのリッチクライアント技術である「OpenLaszlo」を紹介する。日本でもコミュニティ「Laszlo Japan」が発足するなど,急速に注目を集めている。
OpenLaszloとは
OpenLaszloは米Laszlo Systemsが開発した,Flashでリッチクライアントを開発するためのプラットフォームである。
FlashベースというとMacromedia Flex(以下,Flex)を思い浮かべる読者も多いと思う。ユーザー・インタフェースをXMLで定義する点や,サーバーのアーキテクチャなど類似している点は多い。現時点では開発環境などFlexがリードしている点が多いが,OpenLaszloの持つオープンソースという最大の特徴が支持を得られれば,十分に選択肢となりうるであろう。
OpenLaszloの特徴をまとめると以下のようになる。
XML言語LZXとJavaScriptでアプリ作成
それでは,OpenLaszloの概要を見ていく。
OpenLaszloのアプリケーションはXMLベースのオブジェクト指向言語LZXとJavaScriptを組み合わせて作成する。作成したLaszloアプリケーション(LZXファイル)をLaszloプレゼンテーション・サーバー上にデプロイ(配置)すると初回アクセス時にコンパイルされ,作成されたFlashのバイナリファイルがダウンロード,クライアントで実行される(図1)。
2回目以降は変更が加わっていなければキャッシュされたアプリケーションが配布されるため高速にアクセスできる。また,デプロイメントモードを切り替えることで,事前にバイナリ・ファイルを作成できるので,Laszloプレゼンテーション・サーバーが稼働しない環境でも配布することができる。
コンポーネントを配置してUIを作成
次に,OpenLaszloによるアプリケーション開発のイメージを掴んでいただくために,簡単なサンプルを例に見ていくことにしよう(図2)。
先に述べたとおり,Laszloアプリケーションの開発はオブジェクト指向言語LZXを使用することになる。このLZXの書き方とLaszloのコンポーネントの利用方法を理解することがLaszloアプリケーション開発の一つ目の壁になる。
LZXの雰囲気を掴んでいただくために,以下のようなLaszloアプリケーションのソースコードをご覧いただこう(リスト1)。
このようにXML形式で座標や色などを指定しながらコンポーネントを配置していくことでユーザー・インタフェースを作成する。またイベントはソースコード中の「onclick…」のように,JavaScriptで記述する。このようにXMLでユーザー・インタフェースを記述するという方法は,開発環境との親和性が高く,最近多く見られる手法である。
こちらのhello.lzxファイルをLaszloプレゼンテーション・サーバー上に配置し,ブラウザからアクセスするとFlashのバイナリがダウンロードされ表示される。