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

    この先は会員の登録が必要です。今なら有料会員(月額プラン)が4月末まで無料!

    日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら