サーバーサイドでFlashファイル(.swf)を生成する

サーバーサイドでFlashファイル(.swf)を生成する

 Ming(http://www.libming.org/)は、Flashファイル(.swfファイル)を生成するC言語のライブラリです。

 PerlやPHPなどで書かれたラッパーが存在するので、多くのUNIX系の環境であれば簡単に扱うことができます。これによってサーバーサイドでSWFファイルを動的に生成することが可能になります。Mingは比較的古くからあるライブラリで、Flex SDKがリリースされる以前はFlash IDEを買わずに簡単なswfを生成する方法として、特にサーバーサイドのアプリケーションエンジニア層に重宝されてきました。

 ですが、現在でもなかなかバージョンが進まなかったり、複雑なアニメーションなどを実現しようとすると途端に難しくなったりと注意するところは多々あります。例えば、サーバーサイドをPerlやRubyなどで書いて一部の例えばグラフのようなもののみをFlashで実現したいような用途では、その言語のままでFlashを記述していけるというメリットがあります。

 OpenLaszlo(http://www.openlaszlo.jp/)は、「オープンソースのRIA開発プラットフォーム」という位置づけになっています。

 特徴は、コンテンツをLZXという独自のマークアップ言語で記述することによってサーバーサイドでFlashのみならずHTML+JavaScriptとして生成することができることです。

 LaszloサーバーはJavaサーブレットコンテナ上で動く「フロントエンドを生成するため」のアプリケーションで、ユーザーのブラウザに表示されたコンテンツからサーバーへのデータ通信は独自ではなく、XML形式などの一般的なものが使われます。

 非常に特徴的な技術で、最終的な出力形式に依存しない言語でファイルを記述しておくやり方は、問えば携帯ブラウザの多様化などで今後1アプリケーションに対しフロントエンドが複数必要になってくる場合は有効になってくるかもしれません。現在、国内ではほとんど例を聞きませんが、今後の動きには注目する価値があると思います。

まとめ

 いかがでしたでしょうか。本連載ではまず「ストリーミング」をキーワードにFlashでの動画の扱い方、また、それを可能とするサーバーサイドアプリケーションであるRed5を中心に紹介してきました。

 サーバーと連携したFlashアプリケーションというと動画ストリーミングに代表されるマルチメディア的なものがまず連想されますが、それだけではなくサーバーと連携することによりオブジェクトの共有やメソッド呼び出しなど、よりオンラインであることを生かしたFlashアプリケーション開発が可能になります。

 第2回(http://www.thinkit.co.jp/article/152/2/)では、Red5に付属してくるデモアプリケーションの動かし方について紹介しました。Red5はJavaで書かれたオープンソースのソフトウエアですので、多くの環境で簡単に使いはじめることができます。Flashクリエーターにはやや敷居が高いと考えられがちなJava言語ですが、Red5のデフォルトのアプリケーションを動かすまでならば一般的なアプリケーションと同じような気軽さで動作させることができます。

 まずはRed5をダウンロードして、そのサンプルで遊んでみてください。実際にちょっと触ってみるとより具体的なイメージがわき、新しいアイデアにつながるかと思います。

 第3回(http://www.thinkit.co.jp/article/152/3/)では、クライアントとサーバーサイドと両方のプログラミング手法について紹介していますので、アイデアが浮かんだらそれを取りかかりにプログラミングに進んでいただけたらと思います。

 今回は、Red5と関連すると思われるプロジェクトをいくつかピックアップしてみました。そういったものをチェックしていくと今後のトレンドが見えてくるかもしれませんし、これからのFlash動向をつかむ際の参考になればと思います。

 なお、本稿の執筆にあたって、以下を参考にしました。

「Adobe Open Sourse」(http://opensource.adobe.com/)(アクセス:2008/11)

「Open Source Flash」(http://osflash.org/)(アクセス:2008/11)

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30