SilverlightとFlashをつなぐ

Silverlightを囲む会 in大阪#2 にて少し時間をいただいて発表しました。

見知らぬ人ばっかりだったので、いつもより長めに自己紹介しています。

デモ

要 Silverlight 2.0&Flash Player 9 という激しく見る人を選ぶコンテンツです。

Silverlight から Flash を操作してます。左側が Silverlight 2、右側が Flash です。

Silverlight の四角をクリックすると、Flash の四角の色が変わります。逆方向もやりたかったのですが、JS で属性を設定する方法が分からなかったのでできていません。

何の役に立つのかはよく分かりません。

ソース一式(スライド含む)は こちら から。

感想

Flash 界隈では「Silverlight って微妙だよね」という扱いなんだけど、今回の勉強会の参加者でも Silverlight を触ったことある人はほとんどいなかった。「Silverlight に夢見てます」みたいな発言もなかったので、Flash 界隈も MS 開発者界隈も Silverlight の認識はあまり変わらないのかもしれない。

2次会で印象的だった話。『イントラのシステム組むなら ASP.NET とか WPF を選択する』『あえて Silverlight を選択する理由はない』『マス向けの Web サービスなら Ajax か Flash を選択する』。

もちろん、Visual Studio とか C# で Web アプリを開発できるのは MS 開発者には魅力的だし、Ruby や Python で組めるのも Web 開発者へのアピールになるんだけど、いずれにせよ、本格的に使えるのはプレーヤーが普及する数年後になるだろう。

Adobe の立場から考えると、Visual Studio(C#, VB) と DLR に言語的なメリットで勝つのは無理なので、Silverlight が普及するまでの数年で、どれだけ多くの開発者を Flex/AIR に引きずり込めるかが勝負になるのかな。あとは、DRM を理由に Silverlight を採用するサイトが増えるのを避けるために、早く DRM 対応のもろもろを公開していかなきゃね、というところか。

逆質問への回答

発表者が質問する、という暴挙に出たわけですが、やさしく教えてもらえました。ありがとうございます。

忘れないようにメモしておきます。

CHMのサンプルが動かなかった
Silverlight2.0 ではまった話 にて自己解決済み。
XAMLのサンプルばっかり
Silverlight 2 開発のバリエーション にて XAML 相当の内容を JS で作成する方法を解説済み。
UserControl にタグを複数書いたら動かない
UserControl には1つしか含められない。中にコンテナを入れることはできる。だから、ボタンの中にコンテナを入れて、その中に複数のボタンを置く、ということも実は可能。
C#、VBな開発とJS, Ruby, Python な開発の関係
C#、VB では MSIL 形式の DLL が生成されてXAP に含まれる。これを CLR が実行する。JS, Ruby, Python はソースがそのまま XAP に含まれていて、CLR で動く DLR がこれを実行する。
JS で [ScriptableMember()] を設定する方法
JS で属性を設定する方法は誰も知らなかった。でも、できなきゃ不便だからできるんじゃない?というコメントをもらった。