現在、当サイト「mozilla.org 日本語版」の和訳文書は更新されておらず、mozilla.org の原文 よりも内容が古くなっている可能性があります。ご不便をお掛けしますが、最新の情報は原文をご確認ください。



Adobe/Mozilla の Tamarin プロジェクトに関するよくある質問

技術関連の FAQ

Adobe と Mozilla とのコラボレーションについて詳しく教えてください。

Adobe と Mozilla は、Adobe Flash® Player 9 に組み込まれている標準ベースのスクリプト言語エンジンの最新 Adobe® ActionScript™ Virtual Machine (AVM2) のソースコードを Adobe が提供し、Mozilla Foundation が Tamarin という新しいオープンソースプロジェクトとしてホストすることになったとのアナウンスを発表しました。

AVM2 は現在、Adobe Flash Player 9 に組み込まれて出荷されており、次世代の ActionScript を利用してその基礎から開発されています。この新しい仮想マシンは、リッチなインターネットアプリケーションを開発する上で必要となるパフォーマンスと機能を発揮できるように設計されています。Tamarin プロジェクトに提供された AVM2 のソースコードは、名前空間、クラス、オプション付きの強力な変数といった機能を備え、ActionScript バイトコードをネイティブ言語へと最高の実行スピードで変換するジャストインタイム (JIT) コンパイラを含む ECMAScript Edition 4 言語機能を実装しています。

Tamarin プロジェクトは、Mozilla が無償で提供する Web ブラウザ Firefox® に組み込まれる JavaScript のコアエンジンである次世代 SpiderMonkey や、Mozilla テクノロジをベースにしたその他の製品内部で Mozilla が利用する ECMAScript Edition 4 エンジンとなる予定です。このコードは引き続き、ActionScript Virtual Machine の一部として Adobe によっても利用されます。

開発者および組織は、このテクノロジに標準の Mozilla ライセンス (http://www.mozilla.org/foundation/licensing.html) を適用できます。

Tamarin のソースコードには誰がアクセスできますか?

Tamarin のソースコードは公式の Mozilla ソースコードリポジトリでホストされ、CVS ソースコード管理システムを使ってアクセスできます。Tamarin のソースコードはまた、Mozilla テクノロジをベースにして Mozilla が公開する Firefox その他の製品のソースコードディストリビューションにも含まれます。

Tamarin のソースコードはオープンソースコードとして公開されますので、コードのコピーを手に入れた人は誰でも独自の変更を施したり、その変更をオープンソースライセンス条項のもとで公開したり、その変更を Mozilla にフィードバックするともできます。Mozilla にフィードバックした場合は、Mozilla がホストする Tamarin のコードの公式版に含まれる可能性もあります。Adobe はこのオープンソースプロジェクトのための専属チームを抱えています。専属チームを紹介すると、モジュールオーナーの Dan Smith、オリジナルのソースコードの開発を手がけた Adobe エンジニア Jeff Dyer や Edwin Smith らがいます。Tamarin プロジェクトへの貢献は、Adobe と Mozilla からなる共同チームが管理します。

Tamarin はユーザに対してはどのようなライセンスになるのですか?

コアの Mozilla 製品を構成する他のコードと同様、Tamarin には MPL/GPL/LGPL トリプルライセンスが適用され、Mozilla Public License (MPL)、GNU General Public License (GPL) または GNU Lesser General Public License (LGPL) のいずれかでファイルを利用できます。各ライセンスの詳細については http://www.mozilla.org/MPL/ をご覧ください。

このプロジェクトによって開発者はどのような恩恵を受けることができるのですか?

Adobe が ActionScript Virtual Machine のソースコードを Tamarin プロジェクトに提供することで、開発者の皆さんは、さまざまなプラットフォームで動作する、より豊かで、よりインタラクティブ、そしてより魅力的な体験を開発・展開できるようになります。開発者の皆さんは具体的に、Tamarin のコードを利用して、Firefox ではるかに高速に動作する Web アプリケーションを作成できるようになります。

この動きは Flash Player の開発にどう影響するのでしょう?

Mozilla が関わる Tamarin プロジェクトによって、Adobe は Flash Player の将来のバージョンで採用される ActionScript のための標準に準拠した ECMAScript Edition 4 仕様の実装を提供できるようになります。

Tamarin のコードをアプリケーションに組み込む際、アプリケーションの説明として ActionScript という語句を使用することはできるのでしょうか?

ActionScript™ は Adobe が同言語を実装する際に使用する名前です。Adobe は現在、コードが特定のテストスイートを通過すれば、そのアプリケーションまたは実装が ActionScript に準拠していると言えるようなライセンスプログラムを開発している最中です。このプログラムが公開されれば、Tamarin を実装した製品で ActionScript という語句をどう使用できるのかを示したガイドラインへのリンクを Mozilla の Web サイトに掲載する予定です。

技術関連の FAQ

ActionScript™ とは何ですか?

ActionScript とは、ECMAScript をベースにしたプログラミング言語で、Adobe® Flash® のコンテンツやアプリケーションのスクリプティングのために使用されます。最近リリースされた Adobe Flash Player 9 には ActionScript 3.0 が含まれています。これは ECMAScript-262, Edition 3 をベースに、クラス、名前空間、オプション付きの強力な変数などの機能を拡張したものです。これら ActionScript 3.0 の拡張は、来年予定されている ECMAScript-262 標準の次期リビジョンに含まれる見込みです。

JavaScript と ActionScript は同じものですか?

ActionScript と JavaScript は、同じ ECMAScript-262, Edition 3 言語標準をベースにしています。しかし、ActionScript と JavaScript とではサポートするライブラリが異なります。

例えば、JavaScript は一般的にブラウザ内部で使用され、その Document Object Model (DOM) はブラウザウィンドウ、ドキュメント、そしてフォームを中心に扱い、さらに XML をサポートし、Ajax まで処理します。ActionScript は Adobe Flash Player 内部で実行され、その DOM はメディアを中心に扱い、アニメーション、オーディオ、テキスト、そしてイベント処理をサポートします。

つまり、言語は同じなのですが、独自の拡張やサポートライブラリを持っているわけです。ただし、こうした背景があっても Firefox や Adobe Flash Player の DOM API にはいずれも影響しません。

AVM2 とは何ですか?

AVM2 とは最新の Adobe ActionScript Virtual Machine で、Adobe Flash Player 9 で採用されている標準ベースのスクリプティング言語です。AVM2 は、次世代の ActionScript を利用してその土台から作成されています。この新しい仮想マシンは、リッチなインターネットアプリケーションを開発する上で必要となるパフォーマンスと機能を発揮できるように設計されています。AVM2 は、実行時の完全なエラー報告、内蔵のデバッグ機能、そしてバイナリーソケットをサポートしており、開発者は同プレーヤーを拡張してあらゆるバイナリープロトコルで利用することができます。AVM2 はまた、ActionScript バイトコードをネイティブなマシンコードへと最高の実行スピードで変換するジャストインタイム (JIT) コンパイラを備えています。

AVM1 やオープンソースとして公開されているコードはあるのですか?

AVM1 は Adobe Flash Player 9 やそれ以前のプレーヤーで利用されており、ActionScript の過去のバージョンを実行する際に利用されています。AVM2 は AVM1 をはじめから書き直したもので、より高いパフォーマンス、ECMA-262 Edition 3 との互換性、そして今後の発展のための新しい基礎となっています。AVM1 のソースコードは、オープンソースとしては公開されていません。

どのようにしたら ActionScript 3.0 アプリケーションをビルドして実行できますか?

開発者の皆さんは無料の Adobe Flex™ SDK (http://www.adobe.com/products/flex/sdk/)、Flex Builder、または Flash® Professional を利用して ActionScript ソースコードを Flash ファイル (SWF) へとコンパイルできます。SWF ファイルは、Web や独立して動作するアプリケーションとして配布でき、Adobe Flash Player で実行できます。

実際には何がオープンソースとして公開されるのですか?

Tamarin のリリースには次のコンポーネントが含まれます。

  • 現在 Adobe Flash Player 9 で出荷されている ActionScript Virtual Machine (AVM2) からのソースコード (ジャストインタイム (JIT) ランタイムコンパイラおよび保存能力を持つガベージコレクタ)。
  • ActionScript で書かれたプロトタイプコンパイラの部分実装 (これはオープンソースコミュニティによる開発を経て ECMAScript Edition 4 の全仕様として実行される予定)。これは、コンパイル対象と同じ言語で書かれた「自己完結型」コンパイラとなります。

Adobe Flex や Flash Professional で利用されている ActionScript コンパイラはオープンソースとして公開されるのですか?

いいえ。先の質問にもあるように、Tamarin のリリースにはプロトタイプの部分実装が含まれます。このコンパイラは Adobe Flex や Flash Professional からのコンパイラとはまったく異なるものです。計画では、SpiderMonkey のコンパイラをまずはじめに利用し、協力して自己完結型の ECMAScript Edition 4 コンパイラを開発する予定です。

ActionScript Virtual Machine (AVM2) は ActionScript 言語と同じものですか?

いいえ。まったく異なります。ActionScript Virtual Machine は、ActionScript 言語によって定義されたオペレーションやセマンティクスの実行をつかさどります。

Tamarin をめぐる Mozilla の計画はどのようなものですか?

Tamarin のコードは、Firefox や Mozilla テクノロジをベースにしたその他の製品で採用されているオープンソースな C ベースの JavaScript エンジンである SpiderMonkey 内に含まれることになります。

Adobe は引き続き Tamarin や ActionScript Virtual Machine の開発に携わるのでしょうか?

はい。Adobe はこれからも、 ActionScript Virtual Machine にエンジニアリングリソースを投資し、Mozilla コミュニティとオープンに協力して Tamarin のコード改良に努めます。この関係は、ActionScript Virtual Machine のあらゆる将来版の開発において重要な役割を果たすことになるでしょう。ActionScript への今後のアップデートは、現在 ECMA TC-39/TG-1 ワーキンググループで標準化がすすめられている ECMAScript-262, 4th Edition をベースにする計画です。Adobe は引き続きこのワーキンググループに積極的に参加していく予定です。

ECMAScript ワーキンググループには他に誰が参加しているのですか?

同ワーキンググループは、Mozilla で CTO を務め、JavaScript の生みの親でもある Brendan Eich が率いており、Yahoo!、Apple、Microsoft、Adobe、Opera などが参加しています。

SpiderMonkey や Firefox に Tamarin が登場するのはいつでしょう?

Mozilla のエンジニアリングチームは現在、Tamarin が SpiderMonkey および Firefox の製品版に含まれるのは 2008 年前半になるだろうと予測しています。