トップ » 技術記事 » クライアント(ブラウザ)もサーバも同一言語で書ける haXe を使ってみる(1) - インストールと「Hello World!」

クライアント(ブラウザ)もサーバも同一言語で書ける haXe を使ってみる(1) - インストールと「Hello World!」 はてなブックマーク数 このエントリーをブックマークに追加

どうも、あかさたです。今回からはJava ライクな言語で記述すると、Flash, JavaScript, サーバー(NekoVM)上で動作するコードを出力する haXe という言語を紹介します。

haXe とは?

haXe(ハックスもしくはエックスと発音する)とは、Flash(swf)と JavaScript と NekoVM という VM 上で動作するバイトコードを出力するコンパイラを持った Java ライクなオブジェクト指向プログラミング言語です。

NekoVM について少し補足しましょう。Neko とは、組み込み可能なスクリプト言語です。NekoVM は、この Neko をコンパイルして生成したバイトコードを実行する軽量な VM です。マルチスレッドとマルチ VM をサポートしています。

mod_neko というモジュールを使用すると、Apache に組み込むこともできるため、haXe を使用すると、ブラウザとサーバ(Apache)で動作するコードを、同一の言語で記述することができます。

Silverlight も次のバージョンでは haXe と同様サーバとクライアントで同一の言語を採用できるようになりますが、haXe には、現在使用することができる実装が存在すること、Flash を生成できること、サーバに Apache を使用することができることなどにメリットがあるといえるでしょう。

本連載ではこの haXe のクライアント(Flash、JavaScript)、サーバの Hello World 作成と簡単な文法の紹介をします。今回は、インストールして、クライアント(Flash、JavaScript)の「Hello World!」を実行してみましょう。

haXe をインストールする(Windows)

まずは、haXe をインストールしてみましょう。

以下の URL から Windows インストーラをダウンロードしてください。このインストーラには必要ファイルは含まれておらず、オンラインから必要ファイルをダウンロードしてからインストールすることになります。ですから、haXe のインストール時にはネットワーク環境が必要になります。

次に、インストーラを実行します。

私の環境では、Windows Vista では「管理者として実行」を行わないとエラーが発生しました。コマンドライン上で行う操作も、コマンドプロンプトを起動する際には「管理者として実行」が必要になります。注意してください。

コマンドプロンプトを実行して、以下を実行できれば、インストールは完了です。

haxe -help

Hello haXe [Flash] World!

haXe の第一歩として、Flash クライアントを生成してみましょう。まず、任意の場所に空のディレクトリを作成してください。「HelloWorld.hx」「index.html」「compile.hxml」の三つのファイルを作成します。

それぞれの拡張子を確認しておきます。「.hx」はソースコードです。「.html」はもちろん html で、生成した swf ファイルを貼りつけるためのファイルです。「.hxml」には、コンパイル時のオプションなどを書きこみます。

まずは、「HelloWorld.hx」に以下のコードを記述してください。

「HelloWorld.hx」

class HelloWorld {
    static function main() {
        trace("Hello World !");
    }
}

次に、「compile.hxml」を以下のように記述します。

「compile.hxml」

-swf helloworld.swf
-main HelloWorld

最後に「index.html」を以下のように記述してください。

「index.html」

<html>
<head><title>haXe Flash</title></head>
<body bgcolor="#dddddd">
<object	classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
        width="400"
	height="300"
	id="haxe"
	align="middle">
<param name="movie" value="helloworld.swf"/>
<param name="allowScriptAccess" value="always" />
<param name="quality" value="high" />
<param name="scale" value="noscale" />
<param name="salign" value="lt" />
<param name="bgcolor" value="#ffffff"/>
<embed src="helloworld.swf"
       bgcolor="#ffffff"
       width="400"
       height="300"
       name="haxe"
       quality="high"
       align="middle"
       allowScriptAccess="always"
       type="application/x-shockwave-flash"
       pluginspage="http://www.macromedia.com/go/getflashplayer"
/>
</object>
</body>
</html>

以上で作業は終わりなので、以下のコマンドを実行してコンパイルしてから、「index.html」にアクセスしてください。以下のような実行結果が表示されます。

haxe compile.hxml

実行結果(Flash)

実行結果(Flash)

Hello haXe [JavaScript] World!

haXe はコンパイルオプションを変えるだけで、JavaScript のソースコードを出力することができます。Flash クライアントで使用した「HelloWorld.hx」を使って、JavaScript クライアントを生成してみましょう。「HelloWorld.hx」と同じディレクトリに、以下のように、「compile_js.hxml」と「index_js.html」ファイルを作成してください。

「compile_js.hxml」

-js helloworld.js
-main HelloWorld

「index_js.html」

<html>
<head><title>haXe JS</title></head>
<body>

<div id="haxe:trace"></div>
<script type="text/javascript" src="helloworld.js"></script>

</body>
</html>

次に、コマンドプロンプトで「haxe compile_js.hxml」を実行してから、「index_js.html」にアクセスすると、JavaScript で動作する HelloWorld クライアントを表示することができます。

実行結果(JavaScript)

実行結果(JavaScript)

まとめ

今回の記事では、「haXe とは?」「haXe のインストール」「haXe の Hello World!」について紹介しました。次回は、haXe で書いたコードをサーバで動かす予定です。それでは!

Series Navigation基本的な文法»

このサイトについて

八角研究所
株式会社八角研究所のWEBサイトですよー。 いろんなものを創り出すことのできる環境をコツコツ構築中。 いったい、いつになったらできるのか。 この技術情報サイトもそのための活動の一環のつもり。

執筆者紹介

あかさた

あかさた

未踏(2006年度下期)でWeb上で動作するモデリング環境 Kodougu の開発をしてました。こちらでもブログを書いています。

TrackBack URL :