![]()
Spaceport で AS→JS 変換 -- GAMES@CODAME に参加しました --
川崎です。先週からサンフランシスコ・ベイエリア・シリコンバレーでの活動を開始しました!
18日(水)は、Adobe さんの SF SOMA オフィスで開催されたイベント GAMES@CODAME(FlashONGames) に参加しました。

メイントークは、Spaceport のプレゼンでした。
Spaceport は、Flash コンテンツを HTML5+JavaScript に変換するプラットフォームです。
同様な仕組みは既にいくつかありますが、Spaceport は JavaScript で書かれた ActionScript 3.0 風のサブセット API が提供されていて、既存の AS ソースコードを JS にコード変換して使うアプローチ。「ブラウザの JavaScript のランタイムの高速化は著しいから iPhone・Android でも快適に動く」そうです。Objective-C で書くよりもだいぶソースコードが短くて済む。
SWF ファイルのベクターデータは、独自の Spaceport Graphics Format (SGF) または JavaScript Vector Object (JVO) フォーマットに変換します。ただし、互換性は完全ではなくて、AS・SWF ともにサブセットが利用可能とのこと。
実際にソースコード変換してみた例
ライブラリにあるスプライトを表示するだけの AS3
package {
public class Sample extends MovieClip {
public function Sample() {
var sprite:Sprite = new MySprite();
addChild(sprite);
}
}
}
Spaceport によって生成された JavaScript
define([], function() {
var Sample = sp.Class.create("Sample", sp.MovieClip, {
constructor: function Sample() {
sp.superOf(this).constructorArgs(arguments);
var self = this;
var sprite = new MySprite();
self.addChild(sprite);
}
});
return Sample;
})
実際には、既存のアプリをそのまま変換させて配布するというよりは、既存の .fla 資産や Flash Professional の環境を利用しつつ、ActionScript エンジニアが PC/iPhone/Android 向けの共通アプリを作りやすくする、ということか。AS→JS 変換の互換性はなかなか大変だと思うけど、よく作りこんだなあ。
(オマケ)Adobe さんの会場
今回の Adobe さんの会場は SOMA 地区にあり、昨年、参加した TechCrunch Disrupt SF 2011 の会場 San Francisco Design Center Concourse のすぐ隣のブロックになります。
エントランス。受付でセキュリティ用のネームタグを受け取って入ります。
このイベント会場は、普段は、Adobe オフィスのカフェテリアなのかな。
会場に進みます。右手にはピザに並ぶ列。
無料イベントなのに、ディベロッパー向けだからか、ピザ・コーラ・ビールが無料で出てきます。
イベントが始まる前に、参加者同士の交流・ネットワーキングの時間です。
私も、ピザ&コーラをゲット!
昨年 Palo Alto で開催したイベント MA7 Ninja Challenge でも、アドバイスを頂いて、イベント本編を始める前にピザでソーシャライズの時間を入れましたが、確かに、今回こちらに来てから参加しているどのイベントも、必ず最初にピザ(かパスタ)が出てきます。腹ごしらえしつつ、周りと話してから、本編が始まります。
これからも、こちらのイベントにいろいろ顔を出してみる予定です。
よろしくお願いします。




