1. ホーム
  2. Blog
  3. Spaceport で AS→JS 変換 -- GAMES@CODAME に参加しました --

Spaceport で AS→JS 変換 -- GAMES@CODAME に参加しました --

川崎 有亮

川崎 有亮

イベント,技術,海外

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

photo
メイントークは、Spaceport のプレゼンでした。

Spaceport は、Flash コンテンツを HTML5+JavaScript に変換するプラットフォームです。

同様な仕組みは既にいくつかありますが、Spaceport は JavaScript で書かれた ActionScript 3.0 風のサブセット API が提供されていて、既存の AS ソースコードを JS にコード変換して使うアプローチ。「ブラウザの JavaScript のランタイムの高速化は著しいから iPhone・Android でも快適に動く」そうです。Objective-C で書くよりもだいぶソースコードが短くて済む。

Spaceport

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 のすぐ隣のブロックになります。

photo

エントランス。受付でセキュリティ用のネームタグを受け取って入ります。
このイベント会場は、普段は、Adobe オフィスのカフェテリアなのかな。

photo

会場に進みます。右手にはピザに並ぶ列。
無料イベントなのに、ディベロッパー向けだからか、ピザ・コーラ・ビールが無料で出てきます。
イベントが始まる前に、参加者同士の交流・ネットワーキングの時間です。

photo

私も、ピザ&コーラをゲット!

昨年 Palo Alto で開催したイベント MA7 Ninja Challenge でも、アドバイスを頂いて、イベント本編を始める前にピザでソーシャライズの時間を入れましたが、確かに、今回こちらに来てから参加しているどのイベントも、必ず最初にピザ(かパスタ)が出てきます。腹ごしらえしつつ、周りと話してから、本編が始まります。

これからも、こちらのイベントにいろいろ顔を出してみる予定です。
よろしくお願いします。

トップへ戻る