ジョイ・オブ・プログラミング:Silverlight 2

ハッとしてグッと操作! 「Silverlight 2で業務アプリ」を考える

シグマコンサルティング 菅原 英治
2008/09/02

Page1 Page2 Page3

皆さん、こんにちは。ロブです。今回は、ハッとして! グッと直観的に操作できるような使い勝手の良いビジネス・アプリをSilverlight 2で作ることができないか、についてその可能性を考えました(※本稿では、アプリケーションを「アプリ」と略記します)。

Microsoft Silverlightの公式サイト

 なお、以降、「Silverlight」と記述したものは、「Silverlight 2」を指します(※本稿は「Silverlight 1」は対象としていません。Silverlight 1については「.NETを知らない人でも分かるSilverlight入門」をご参照ください)。

 Silverlightは、マイクロソフトの新しい技術で、RIA(Rich Interactive Application、つまり使い勝手の良い)なWebアプリを作ることができる技術です。ひと言で述べると、マイクロソフト版のFlashといえます。また、ビジネス・アプリという観点からはAdobe AIRFlexが最大のライバルといえるでしょう。

 本稿でのビジネス・アプリの定義は、企業のビジネスをサポートするために利用されるアプリです。例えば、在庫管理、受発注、勤怠管理、会計・経理システムなど。これまで、ビジネス・アプリは、どちらかというと最小限の機能を満たしていればよいとされ、そのユーザー・インターフェイスの使い勝手やデザインを良くする努力は置き去りにされてきたように思えます。Silverlightによるビジネス・アプリは、そのような点を改善でき、より使い勝手の良いビジネス・アプリを提供することが可能となります。

 ただし、Silverlightのバージョンは、執筆時点でまだベータ版(Silverlight 2 Beta 2)です。従って、今回はこれまでの記事のようにサンプル・コードの解説はしません。サンプルが正式版で動かなかったら残念ですからね。そこで本稿では、Silverlightでビジネス・アプリを開発について、わたしが簡単なサンプルを作り、その結果感じたことを述べることにしました。

 それではさっそく始めましょう。まずは、なぜSilverlightでビジネス・アプリを作るのか、について考えます。

なぜSilverlight 2でビジネス・アプリを作るのか

 それでは、なぜSilverlightでビジネス・アプリを作るのか、を考えます。多々あるビジネス・アプリの開発方法の中から、なぜSilverlightを選択するのか、選択する価値はどこにあるのか、を考えます。

2つの高いポテンシャル

 わたしはSilverlightによるビジネス・アプリ開発を選択する理由として、Silverlightには次の2つの高いポテンシャルがある、と考えています。

ユーザーの数

 第一のポテンシャルは、ユーザーの数です。Silverlightは、クロスプラットホームで動作します。そのため、Windowsフォーム・アプリのようなWindowsクライアントに限らず、Mac OSクライアントなど、より多数のユーザーが期待できます。

開発者の数

 第二のポテンシャルは、開発者の数です。まずASP.NETであれ、Windowsフォーム・アプリであれ、.NETの開発経験者は、Silverlightアプリの開発方法を容易に身に付けられます。それは、Silverlightでのアプリケーション開発は、.NET開発者が慣れ親しんできたイベント・ドリブン・モデルでの開発が行えるからです。

 また、Silverlight 2に含まれる「DLR(Dynamic Language Runtime)」*1がJavaScript、PHP、Ruby、Pythonなどの言語をサポートしていることを考えると、その開発者の数は途方もない数となり得ます。

*1 Silverlight 2には、標準の.NET Frameworkのサブセット(=機能縮小版)である「.NET Framework for Silverlight」が含まれており、.NET Frameworkの一部の「基本クラス・ライブラリ」、.NETの実行エンジンである「CoreCLR」(共通言語ランタイム。通称:mini-CLR)、そのCoreCLR上で動作してIronPythonやIronRubyなどの動的言語をサポートする「DLR」(動的言語ランタイム)などがサポートされています。そのDLRによって、Silverlight 2では、C#やVisual Basicから、JavaScript、PHP、Ruby、Pythonまで、さまざまなプログラミング言語を扱えるようになっています。

配布の容易さとRIA開発の容易さ

 別の理由として、Silverlightの配布の容易さRIA開発の容易さもある、と考えています。RIA開発の容易さとは、使い勝手の良いアプリをいかに簡単に作れるかということです。この2つの容易さを、Visual Studio 2008を利用したビジネス・アプリのほかの形態と比較して考えて行きます。

Visual Studio 2008によるビジネス・アプリの4つの形態

 現在、Visual Studio 2008を利用したビジネス・アプリの主な形態を挙げると、下記の4つになるでしょう。

Windowsフォーム・アプリ
WPFアプリ
ASP.NET Webアプリ
ASP.NET AJAXアプリ

 Windowsフォーム・アプリとWPFアプリは、クライアント・コンピュータ上で動作します。そのため、アプリが新しくなった場合は、ClickOnceなどの配布テクノロジを使って、アプリを更新する方法を用意する必要があり、この場合には配置がやや面倒です。またクライアント側に.NET Frameworkをインストールする必要があるなど、動作させるためのハードルが、ほかと比べてやや高いといえます。

 ASP.NET Webアプリは、その名のとおりWebアプリです。そのため、アプリの配置はとても簡単に行えます。また、クライアント側にはInternet Explorerなどのブラウザさえあればよいという利点があります。

 わたしの経験から述べると、ビジネス・アプリ開発では、昨今はその配布の便利さなどから、特にASP.NET Webアプリが普及してきたように思えます。また、新しい技術に理解のある開発プロジェクトでは、ASP.NET Webアプリに加え、より使いやすい機能を提供するためにASP.NET AJAXを採用している場合もあるでしょう。

4つの形態とSilverlightによる開発との比較

 さて、これら4つの形態のアプリとSilverlightアプリとの比較を、配布の容易さ、RIA開発の容易さの観点からまとめると、次の表のようになります。

アプリの形態 配布の容易さ RIA開発の容易さ
Silverlight
Windowsフォーム
×
WPF
×
ASP.NET Web
×
ASP.NET AJAX
4つの形態のアプリとSilverlightアプリとの比較

 表に示したとおり、Silverlightによる開発は、配布の容易さとRIA開発の容易さの2つを兼ね備えているといえるでしょう。

 配布の容易さとして、Silverlightでは.xapファイル(=クライアント側で利用する.DLLファイルをZIP圧縮してまとめたファイル)をWebサーバ上に置くだけで配布が可能です。また、利用するクライアントとしては、初回利用時にのみブラウザにSilverlightのプラグインをインストールする必要があるものの、以降はブラウザで簡単に利用できます。

 RIA開発の容易さについてですが、Silverlightでは、例えば、画面上の画像やボタンなどを拡大/縮小、回転させるなどのアニーメーションを簡単に設定できます。また、テキストボックスに入力されたキーの制御など、Webアプリでは実装するのがなかなか面倒な処理も、簡単に行えます。ほかにも、Webアプリでは実現が難しいユーザー・インターフェース(例えば、ブラウザ上のフォームにマウスで手書きの絵を描くなど)を提供できます。

 Silverlightは、WPFのサブセットなので、WPFで行えるすべての機能をサポートしているわけではありません。しかしながら、DataGridコントロールのように、ビジネス・アプリ役立つSilverlightにしか存在しない機能もあります。

Silverlightで作る価値がありそう

 以上から、Silverlightは、多数のユーザー、多数の開発者が期待でき、また、配布の容易さ、RIA開発の容易さの2つの良さを兼ね備えており、ビジネス・アプリの開発方法として検討する価値がありそうです。

 そこで、わたしは実際にSilverlightでサンプルのビジネス・アプリを作成し、その内容を評価することにしました。


 INDEX
  ジョイ・オブ・プログラミング:Silverlight 2
  ハッとしてグッと操作! 「Silverlight 2で業務アプリ」を考える
  1.なぜSilverlight 2でビジネス・アプリを作るのか
    2.Silverlight 2を活用したビジネス・アプリのサンプル
    3.Silverlight 2アプリ開発の特徴

 ジョイ・オブ・プログラミング

TechTargetジャパン

Insider.NET フォーラム 新着記事
  • Kinectが切り開く“夢の近未来” (2012/2/2)
     日本を含めた世界中でKinect for Windowsセンサー商用版とSDK正式版がリリース。未来のコンピューティングはどう変化するのか?
  • 3つの視点でネイティブと.NETの適材適所を考察 (2012/1/31)
     アプリ開発は「ネイティブ」と「.NET」、どちらが最良? その問いには「適材適所」と答えるしかない。では、“適所”は一体どこかを考察する
  • SQL Azure Data Sync入門 (2012/1/30)
     SQL Azure/SQL Serverデータベース間のデータ同期を簡単に実現するサービスとは? その仕組みや使用手順を解説
  • Windows Phoneアプリ市場の現状を分析する (2012/1/27)
     Windows Phone のアプリ・ストアに日々登録されている多種多様なアプリ。カテゴリ別のアプリ数は? 市場の現状を明らかにする

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

.NET開発者中心に生まれ変わりました

.NET開発者中心コーナー

- PR -

@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH