先駆者が語る
Flashは粘土、Silverlightはレゴブロック
2008/04/22
順調なスタートというのも間違った表現ではないのかもしれない――マイクロソフトが提供するクロスプラットフォーム対応のリッチ・インターネット・アプリケーション技術「Silverlight」の利用が増えている。GyaOが一部サービスで採用したのに続き、ヤフーも採用を発表した。この2つのサービスを手がけるのは、セカンドファクトリー。同社の取締役 グローバルストラテジグループ シニアエクスペリエンスアーキテクトの東賢氏は「XAMLの存在がSilverlightのミソだ」と話す。
Silverlightはその誕生当初からアドビシステムズの「Flash」と比較されてきた。というか、Flashが持つ市場を獲得しようとしたマイクロソフトがSilverlightを開発したといえるだろう。SilverlightとFlashの違いは何だろうか。Flashを使ったWebサイト、Webアプリケーションの開発も多数手がけてきた東氏は「Flashは粘土、Silverlightはレゴブロック」と表現する。
デザインとロジックを分離して開発可能
Silverlightの最大の特徴は、WebアプリケーションやWebサイトにおいて、デザインとロジックを分離して開発できることだ。デザイン部はXMLベースのマークアップ言語「XAML」で設計する。ロジック部はC#やVBのコードで記述する。例えば、セカンドファクトリーの場合は、マイクロソフトの「Expression Blend」でXAMLを使った画面設計や、画面の動きに当たるインタラクションの設計を行う。ロジック部分はVisual Sudioで開発する。
デザイン部とロジック部を別々の人が、別々の工程で開発することが可能になり、たとえ開発途中でロジック部の大きな変更があっても、デザイン部には影響を及ぼさないというメリットがある。Expression BlendとVisual Sudioは同じプロジェクトファイルを開くことができ、開発者間のコラボレーションも容易。このことから東氏は「Silverlightはレゴブロックのように積み上げていって、そのブロックを後から組み替えることができる」と表現するのだ。
デザインとロジックの分離は、分業開発が可能になることを意味する。Flashで長年開発してきたセカンドファクトリーにとって「分業は大きな壁だった」(東氏)。「ロジックを変更するなど何をするのでもFlashはIDEを開かないと、どうしようもなかった。そうするとチームの全員がIDEを知っていないといけない」。これでは多くの人員が必要になる大規模な開発は難しい。セカンドファクトリーもActionScriptの分割開発などを行ってきたが、やはり完全な分業は実現しなかったという。
対して、デザインとロジックを分離できるSilverlightはXAMLという共通基盤のうえで分業して開発ができる。長期間にわたってメンテナンスが必要になるようなアプリケーション開発など「特に大規模な開発はSilverlightが向いている」(東氏)。
瞬発力ではFlash
安定的なアーキテクチャを構築できる反面、Silverlightは瞬発力に欠ける。東氏は「1週間でコンテンツを作ることが求められる場合は、Flashで作るかもしれない」と話す。「Flashは粘土みたいなもの。あるものを瞬間的に作る場合、直感的にやりやすい」からだ。しかし、粘土には再現性がなく、再利用も難しいという面がある。
人材面ではFlashやActionScriptの開発者の層がSilverlightと比べて厚いというメリットがある。しかし、Silverlightの基盤となる.NET FrameworkやC#、もしくはJavaScriptの開発者をSilverlight開発者の予備軍と数えると形勢は逆転する。「確かにいまSilverlightの開発ができるという人はいないが、潜在的に使えるようになる人は、相当いる」と東氏は見る。
後発だけにSilverlightはよく考えられた技術といえるだろう。しかし、技術的な優位性だけでその技術が普及するわけではないのが、マイクロソフトにとって悩ましいところだ。Flashには豊富やツールをはじめ、これまで蓄積されてきた膨大なノウハウや、開発者の熱心なコミュニティがある。 Flash PlayerがほとんどのクライアントPCにインストールされているのも、Silverlightにはない強力な優位性だ。
関連リンク
関連記事
情報をお寄せください:
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|
キャリアアップ
- - PR -
転職/派遣情報を探す
「ITmedia マーケティング」新着記事
2024年ホリデーシーズン、米企業はどう挑む? マーケターが直面する課題とは
消費者の記録的な消費意欲を背景に、2024年のホリデーマーケティングキャンペーンは、メ...
Pontaデータを活用して企業のLINE公式アカウントやLINE広告の効果を分析 何ができる?
従来のPontaデータを活用したメッセージ配信や広告配信と組み合わせることで、LINEを使っ...
売上高100億円以上の企業に調査 生成AIの「マーケティング」への活用意向は?
ウイングアーク1stは、売上高100億以上の企業に勤務する部長などのマネジメント層535...