図1●アーキテクチャ
図1●アーキテクチャ
[画像のクリックで拡大表示]
図2●サンプル・アプリケーション
図2●サンプル・アプリケーション
[画像のクリックで拡大表示]
リスト1●hello.lzx(<a href="./hello.zip" target="_blank">圧縮ファイル・ダウンロード</a>)
リスト1●hello.lzx(<a href="./hello.zip" target="_blank">圧縮ファイル・ダウンロード</a>)
[画像のクリックで拡大表示]
図3●IDE for Laszlo(編集画面)
図3●IDE for Laszlo(編集画面)
[画像のクリックで拡大表示]
図4●IDE for Laszlo(実行結果確認)
図4●IDE for Laszlo(実行結果確認)
[画像のクリックで拡大表示]

この連載記事の目次へ

 今回はオープンソースで実現するリッチクライアントの第2弾として,Flashベースのリッチクライアント技術である「OpenLaszlo」を紹介する。日本でもコミュニティ「Laszlo Japan」が発足するなど,急速に注目を集めている。

OpenLaszloとは

 OpenLaszloは米Laszlo Systemsが開発した,Flashでリッチクライアントを開発するためのプラットフォームである。

 FlashベースというとMacromedia Flex(以下,Flex)を思い浮かべる読者も多いと思う。ユーザー・インタフェースをXMLで定義する点や,サーバーのアーキテクチャなど類似している点は多い。現時点では開発環境などFlexがリードしている点が多いが,OpenLaszloの持つオープンソースという最大の特徴が支持を得られれば,十分に選択肢となりうるであろう。

 OpenLaszloの特徴をまとめると以下のようになる。

  • オープンソース(ライセンスはCPL)であり,商用製品・サービスに組み込みやすい
  • Flashの高い表現力,操作性をWebクライアント上に構築できる
  • Java,XML,JavaScriptといったWeb系のエンジニアには標準的な技術を利用している。
  • 普及率の高いFlashプラグイン上で動作するため,ユーザーに受け入れられやすい

    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のバイナリがダウンロードされ表示される。