FLATzブログ

[Flash/Flex]の記事一覧

[haXe]WEBアプリ開発をまるっとこなせるプログラミング言語

2007年07月13日(金)09:05|sato|FLATzブログ, Flash/Flex, 技術情報このエントリをdel.icio.usに追加このエントリをはてなブックマークに追加

こんにちは。佐藤です。


さて、早速ですが皆さんhaXeという言語をご存知でしょうか?本日は、ちょっとマイナーなプログラミング言語haXeについて紹介したいと思います。


haXe


haXeとは、プログラミング言語の名前です。「クラス」や「継承」などの仕組みを利用することのできるオブジェクト指向言語で、その構文はJAVAやActionScriptに良く似ています。大きな特徴は、様々なプラットフォームでの動作をサポートしているということです。haXeのコンパイラがサポートするのは、JavaScript、swf、Nekoの3種類で、このそれぞれについては順に説明したいと思います。


開発者はNicolas Cannasseさんというフランスの方で、今も開発が続けられています。ちなみに、僕は始めhaXeを「ヘックス」と読んでいました。どうもかっこ悪い読み方だとは思っていたのですが、haXeはフランス語的に読むと「エックス」なのだそうです。余談ですが、Flashに通ずる方なら誰でも知っているMTASCという無料のActionScript2.0用コンパイラがあります。Nicolas Cannasse氏はその開発者でもあります。


swfへのコンパイル


haXeで書かれたソースコードは、swfとしてコンパイルすることができます。しかも、FlashPlayer6~9まで、どのバージョンのswfとしてでもコンパイル可能です。もちろん、FlashPlayer9用ならActionScript3.0としてバイトコードが生成されます。swfへコンパイルすることができるという点の魅力は、ほとんど同じソースコードで多くのバージョンへ対応できるということです。


例えばFlex2でWEBアプリケーションを制作した場合はFlashPlayer9用のswfとなります。そのためWiiや携帯でも利用可能にするためには、ActionScript2.0(あるいはActionScript1.0)で一から作り直さなければなりません。ところがhaXeの場合には、一部のAPI以外の基本的な部分は全てそのままで、コンパイルをしなおすだけで良くなります。


nekoへのコンパイル


haXeで書かれたソースコードは、NekoVMというバーチャルマシン上で動くバイトコードとしてコンパイルすることができます。NekoVMは、MTASC・haXeと同様にNicolas Cannasse氏の開発したVMで、その名前の由来は猫だそうです。NekoVMはWindows,Linux,OS X(Universal binaries)で動作し、さらにmod_nekoというモジュールでApacheWEBサーバー上でも動作します。つまり、NekoVMを用いることでhaXeによるサーバーサイドの開発が可能になります。


JavaScriptへの書き出し


haXeで書かれたソースコードはJavaScriptとして書き出すことができます。とだけ、言ってしまってはあまり興味を持ってもらえないかも知れませんが、実はいくつかの小さなメリットはあります。まず第一にhaXeには非常に高機能なFlashDevelopというフリーのIDEがあります。haXeには非常にたくさんのAPIが存在するため、IDEのコード補完機能などによって開発の効率が上がることも多いのではないでしょうか?第二にはデバッグがしやすくなります。JavaScriptを用いた開発ではエラーの発見に難儀することもあると思いますが、haXeからの変換であればエラーの多くは変換時に出力されるため、効率的にデバッグを行うことができます。


まとめ


haXeにはオープンソースであることや拡張性が高いことなど他にもたくさんの魅力的な点はあります。しかし、やはりもっとも興味深いのは一つの言語を覚えることで様々なプラットフォームでの開発に対応できるという部分ではないかと思います。サーバー側をNekoVM、クライアント側をJavascriptとswfで制作すると考えれば、haXeだけで、WEBアプリケーションの全てを開発することができます。


確かにJavaやActionScriptに良く似ているとはいえhaXe自体は独自の言語なので、今から新しい言語を覚えるのはちょっと…と、思う方もいらっしゃると思います。確かにあまり流行ってもいないので、haXeをメインスキルにやっていこうというのは難しいかもしれませんが、さまざまな状況でhaXeという選択肢を増やせることを考えれば、サブスキルとしては良いのではないでしょうか?

続きを読む


[Report][AIR]Adobe AIR Developers Night に行ってきました

2007年07月12日(木)11:40|sato|FLATzブログ, Flash/Flex, 技術情報このエントリをdel.icio.usに追加このエントリをはてなブックマークに追加

お久しぶりです。佐藤です。


先日、Adobe AIR Developers Nightというイベントがありました。僕も参加してきましたので、本日はザックリとそのレポートをいたします。ちなみに「AIR」は元々は「Apollo」と呼ばれていたもので、以前の僕の記事でも少しだけ紹介をしております。


今回のイベントは


  • アドビシステムズセッション
  • AIRデモバトルセッション
  • パネルディスカッション

という流れとなっており、メインは「AIRデモバトルセッション」です。ビールやコーラを飲みながらAIRで作られたアプリケーションのデモを見る、というちょっと変わったイベントでした。


オープニング&アドビシステムズセッション


Adobeの社員の方が今後のAIRのロードマップなどについて発表されていました。まず、Flex3 SDKが、2007年内中にはMPL下でオープンソース化されるとのことでした。また、先日AdobeLabで公開されたFlex3 SDK beta1に含まれるAIR SDK beta1で新たにつかえるようになった機能の紹介として、アプリケーション間でのドラッグ&ドロップ、PDFの表示、ローカルデータベース(SQlite)について説明がありました。特にローカルデータベースに関しては、GoogleGearsとAPIを整合予定とのことです。


その後、Adobeの本社から実際にFlashを制作しているチームの方々の発表があり、DreamWeaverで制作しているWEBサイトをAIRとしてデスクトップアプリケーション化するエクステンションの紹介、さらにFlashで制作しているswfをAIRとしてデスクトップアプリケーション化するエクステンションの紹介がありました。既存のWEBサイトやWEBアプリを、デスクトップアプリケーションとしても活用していけるという可能性を見せてもらえた気がします。


AIRデモバトルセッション


続いては、様々な企業の方がAIRで制作したアプリケーションのデモを見せながら、AIRへの思いを述べるというセッションでした。


FLO:Q(ソニー株式会社)さんは、多機能なブログパーツを提供しているサービスで、AIRを使ってデジカメやウォークマンとブログパーツとを連携させるというデモを行っていました。デモの内容としてはデジカメで撮った写真をAIRアプリを使ってドラッグ&ドロップでブログパーツにすぐに反映するといった内容でした。


株式会社セカンドファクトリーさんは、Metabo Campという対メタボリック用の公開中サンプルアプリケーションの紹介を行っていました。またサーバーとの連携のデモとして、Metabo Campでの自分のでのがんばりをサーバーへ送るとPDFの賞状がもらえるというようなデモも行っていました。


ひがやすをさんは、coraleefという開発中のプロダクトの紹介とデモを行っていました。caraleefでは、VBやDelphiで制作されたフォームをAIRのフォーム(mxml)に変換することができるそうです。


SiTE4Dさんは、公開中のAIRアプリケーションの紹介とデモを行っていました。さまざまな単機能(時計、カレンダー、ビデオや画像のビューア、天気予報、…etc)を持ったパーツを組み合わせるて表示できる、まさにデスクトップアクセサリというようなアプリケーションでした。


株式会社バスキュールさんは、いくつかのデモを行っていましたが、一つがAirworksというもので、見た目はFireworksというAdobe社の画像編集ソフトにそっくりだけど実はブラウザ、というアプリケーションでした。AirGuitarがギターを弾いているフリなら、Airworksは仕事を・・・みたいなことをおっしゃってました。それからグリットブラウザというニコニコ動画風ブラウザのデモも行っていました。


TK LABさんは、サーバー側からのプッシュ配信とAIRアプリのデモとして、サーバー側からデスクトップのAIRアプリにイベントを通知するデモを行っていました。


パネルディスカッション


アドビ社の方と6社(5社と1人)の発表者で行われたパネルセッションでは、最近はMicroSoftのSilverLightなど次々に新しい技術が出てきている中、AIRはどのように発展していくべきなのか、あるいはどうすればAIRが世の中に浸透していくのか、といった話題が出ていました。また、AIRの開発者コミュニティを活性化していくことが今後非常に大事だ、という話もありました。


感想


今回のイベント会場には約600人もの人がいたようで、AIRが多くの開発者の興味を引いていることは間違いないと思います。ただAdobe社主催のイベントだということもあったので、「AIRはすごい」みたいな雰囲気で充満しているかと思っていたのですが、多くの人が客観的にAIRという技術を見極めようとしている感じを受けました。


多くの新しく面白い技術が出てくる中、機能的にAIRが突出しているという部分はあまりありません。AIRでできることは他の技術でもおそらく実現可能です。最終的にAIRという技術が一般的になるかどうかは、AIRのランタイムの普及率やパネルディスカッションで話題に出たユーザーコミュニティの活性化など、AIRを包む環境次第だと思います。


僕自身AIRには興味深々ではありますが、AIRの今後の動向などをしっかり見極めるようにしていかなければならない、そんなことも考えさせられたイベントでした。

続きを読む


Page 1 of 41234»

このページの先頭へ