これにより、新しいツールを学ぶことなくプロジェクトのサポートを新しいプラットフォームに拡張できます; Flashは自動的にJavaScript / HTML5に変換されます。 Smokescreenはオープンソースライセンスの下でリリースされ、無料で配布されます。 サポートとメンテナンスのコストが低いため、Smokescreenが必要な方法で機能することを確認できます。 このライブラリは、ActionScriptを使用しないJavaScript開発、プロジェクトのHTMLページに接続されたFlashによる開発など、幅広い開発ツールを提供します。
著者からのプロジェクトの説明
Adobe FlashはどのAppleモバイルデバイスでも動作しないという事実をご存じでしょう。 さらに、AppleはFlashをiPhone / iPod / iPadで実行することを決して許可しないようです。
これらの事実は、モバイルデバイスでのオンライン広告の暗い絵を描きます。 多くの人々は今でもアドビの既存のツールを使用して広告を作成したいと考えており、単一のプラットフォーム(iPhone / iPod / iPad)のためにこれらのツールを他のツールに置き換えています。 広告ネットワークとして、インタラクティブ広告は退屈な静的広告よりも魅力的であると考えているため、オプションの1つを選択しなければなりませんでした。
Smokescreenのすべての取り組みは、現時点で暫定的なものです。 将来的には、より多くのFlash機能のサポートを追加し、バグを修正し、パフォーマンスを改善する予定です。 これはほんの始まりに過ぎません。 Smokescreenは現在、重要なFlash 8アニメーション機能、ストリーミングオーディオ、サウンドエフェクト、一部の入力機能、および基本的なActionScriptをサポートしています。
図書館の原理
Chris Smoakのスモークスクリーン「JavaScript Flash Player」は信じられないほど素晴らしいものです。 ブラウザウィンドウで完全に動作し、SWFファイルを読み取り、(純粋なJSを使用して)アンパックし、画像と埋め込みオーディオファイルを抽出し、base64を使用してそれらをパックし、データとしてデータページに挿入します:uri、ベクトルグラフィックはアニメーションSVGで収集されます。 デバッガー(Chrome Web Inspector)では、デモの再生中にSVGがリアルタイムでどのように変化するかを確認できます。 Smokescreenは、独自のActionScriptバイトコードインタープリターも実装しています。 [...]気になるのはライブラリのパフォーマンスだけです。175KBのボリュームと8000行を超えるコードがあるため、低電力のモバイルデバイスで問題が発生する可能性があります。
ライブラリの動作を示すデモ
デモでは、Smokescreenの動作を示しています。 サイレントデモは、同じページのFlashオプションと比較されます。 SmokescreenはJavaScriptで記述されているため、Flashプラグインよりも実行速度が遅く、ブラウザのパフォーマンスによって速度が制限されます。 より多くのトリックを適用して速度を上げるまで、iPad / iPhone / iPodで十分な速度で動作しないデモもあります。
最新のブラウザを使用してください。 現在、SmokescreenはFirefox 3.6、Chrome 5、Safari 4、およびMobileSafariで動作します。 Opera 10.5オペラには既知の問題が修正されます。 IE9は有望に見えますが、IEでは機能しません。
Smokescreenで表示されるSWFアニメーション動画
Win、Mac、およびLinuxプラットフォームのデモ
アニメーションバナー
Win、Mac、Linux、iPad、iPhone、iPodのデモ)
Win、Mac、Linux、iPadのデモ
iPadの煙幕ビデオ
参照資料
記事の準備では、次のリソースが使用されました。
- プロジェクトの公式サイト: smokescreen.us
- Simon WillisonのブログSmokescreenデモに関するメモ:JavaScriptのFlashプレーヤー (記事「Library Operation Principle」の一部 )
試したい方へ
ライブラリはまだ正式に提出されていないため、ライブラリへのリンクはありません(プレリリースのみが発表されています)。 将来的には、上記のように、ライブラリはオープンソースライセンスの下で利用可能になります。 情報提供の目的で、次のマークが付いたライブラリコードを投稿したSimon Willisonリポジトリを使用できます。
http://gist.github.com/418177に非圧縮バージョンを投稿しました(コマンドTextMate Bundles-> JavaScript-> Reformat Selectionを使用)。
情報提供のみを目的として-ライブラリコードはまだ開かれていません。