OpenLaszlo は【 お ー ぷ ん ら ず ろ 】と読みます。
XMLを書いてFlashアプリやDHTMLアプリを作る無料ソフトです。
もう少し正確に言うと、OpenLaszloはブラウザで動くRIAアプリ(リッチインターネットアプリケーション)を作るオープンソースソフトウェア(OSS)です。RIAアプリを動かすプラットフォームとして、FlashやDHTMLが採用されています。
OpenLaszloで作ったプログラムは、実行環境としてFlashやDHTMLのどちらかを選択できます。FlashPlayerプラグインの入ったブラウザ、あるいは単にDHTML(Ajax)が動くブラウザがあれば良く、どちらにしても他に特別なプラグインを必要としないので、たいていのブラウザやデバイスで動作します。
三進金属工業HP。トップ画面上部。写真をクリックすると回転、一時停止、反転します。
皆既日食。TV中継見てたら地平線近くの様子が実際と違いました。。
Picasaと連動したスライドショー。PicasaのRSSを利用してネット経由で写真と説明文を取り込み。
| HTMLをやったことがある (その流れでXMLもだいたい雰囲気的にわかる) |
| Javascriptもかじったことがある (理屈わからずともサンプルのコピペで動かしてみたことがある、という人でもOK) |
HTMLタグでWeb画面を構築し、例えばボタンをクリックした時の動作は何らかのスクリプトを書く必要がある、ということが理解できているなら最低条件クリアです。実際それは私なのですが(^^;)。
CPL(Common Public License)というオープンソースライセンスです。
無料でダウンロードして利用できます。
CPLってどんなライセンスかというと・・・確かGPLより制限がゆるかったような・・・忘れました(- -)。興味があったら調べてみてください。
OpenLaszloはもともと米国Laszlo Systems社が開発した製品で、広く普及させるために2004年10月にオープンソース化され、コミュニティで開発が続行されるようになりました。
LZX言語 = XML + Javascript
OpenLaszloではXMLとJavascriptの組み合わせからなる、オブジェクト指向のLZX言語と呼ばれる独自のプログラミング言語で開発します。
本格的なプログラマでなくても、 HTMLやJavascriptでWebサイト/Webアプリを作った経験のある方にはとてもとっつきやすいものになっています。
OS(Windows/Linux/Mac) + JDK + Tomcat + OpenLaszlo
開発ツールとしてのOpenLaszloそのものはJavaサーブレットなので、Tomcatなどのサーブレットエンジン上で動きます。Tomcatを動作させるためにJDKも必要となるので、OpenLaszloの開発環境に必要なのはJDKとTomcatとなります。OSはWindowsでもLinuxでもMacでも何でもOK。
BOMなしUTF-8対応テキストエディタ
プログラムを書くのは、UTF-8で保存できるテキストエディタがあればOK。細かく言うと文字コードはBOMなしUTF-8です。
LZXタグ補完などコーディング支援機能のあるフリーのエディタも色々あります。ちなみに私はoeditという素(す)のエディタを使ってます。
作成するソースファイルは拡張子がlzxのテキストファイルです。
コンパイルはブラウザからlzxファイルにアクセスするだけです。内部で自動的にコンパイルされ、ブラウザ上に表示されます。HTMLを書いてはブラウザで確認する、というのと同じ作業です。
開発ではなく、アプリを利用する時の話です。
| プロキシ モード | OpenLaszloサーバで実行(サーブレット、JSPを動かすときと似ています)。 OpenLaszloが持つ全機能を利用できます。 |
|---|---|
| SOLO モード | 単なるFlashファイルあるいはJavascriptファイルとして実行。 swfファイル、jsファイルなので、OpenLaszloサーバは不要。 プロキシモードに比べ、利用できる機能に一部制限があります。 |
アプリの形式として、FlashかDHTMLかを選べます。
| Flash コンパイル | Flashプレイヤープラグインの入ったブラウザ があれば実行できます。 |
|---|---|
| DHTML コンパイル | Flashプレイヤープラグインは不要、つまりFlashに非対応のデバイスでも実行することができます。 |
ややこしいですが、Flash/DHTMLそれぞれにSOLOモード/プロキシモードがあります。
実行サーバにJDKとTOMCATがない場合、OpenLaszloは動作できないので、SOLOモードを選ぶしかありません。SOLOモードの場合、実行するにはApacheなどのWebサーバがあればOKです。
OpenLaszloの担当はWebアプリのユーザインターフェース部分になります。ようはWebの画面で、普通にWebサイトを作るときのHTMLが担当している部分です。
DBとデータやりとりしたり、他のWebサービスと連携したりするには、バックエンドのプログラムが必要になります。
| HTTPのGET/POSTが「name=value」の形式で受け取れること |
| 戻りデータはXML形式で返すこと |
これは、いわゆるRESTですかね?
これさえ満たしていれば、バックエンドの言語は選びません。C、Perl、PHP、Java、Ruby、ASPその他なんでもOKです。
他からデータをもらうだけなら、例えばRSSのようにXML形式であればOK。
バックエンド言語側はとにかくXML形式でデータを返すようにするだけでよく、HTMLのコーディングとかビューに関する部分を全く意識しないでいいので、開発効率がすごくあがると思います。ビューを構築するために、HTMLタグをガリガリPHPのコードに埋め込む作業はいりません。
LZXはそれなりに本格的なオブジェクト指向言語です。クラス、継承、オーバーライドなどの概念があります。
わかりやすくいうと、あるタグの機能を継承した独自のタグを作ることができます。つまり、標準コンポーネントとは違った独自のコンポーネントを作れます。
繰り返し似たような画面を作成するような場合、クラスでひとまとめにしていくとコーディングが楽になり便利です。
言語習得の第一歩。OpenLaszloでの Hello World です。
<canvas> <text>Hello World</text> </canvas>
実行例は下の通り。右クリックするとFlashアプリであることが確認できます。(OpenLaszloであることも)