Download - Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
![Page 1: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/1.jpg)
グレープシテゖ株式会社
八巻 雄哉 blog : d.hatena.ne.jp/Yamaki/
twitter : yamaki00
![Page 2: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/2.jpg)
WPF 4とSilverlight 4、 これから業務ゕプリを開発するならどっち?
WPF 4 34%
Silverlight 4 66%
得票数:86
Silverlight派
WPF派
WPFの方が顧客にとっては手軽で便利そう。
「とりあえずWebで作っとけ」病に反対の意を込めてWPFにしておきます。
ゕプリケーション配布においてどちらかというとSilverlightの方が配布しやすいかなと思う。
実際サポートするしないは関係なく、マルチプラットフォームという響きは売りになりそう。
Silverlight が WPF のサブセットである限り WPF 一択。
![Page 3: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/3.jpg)
導入しやすいこと
保守しやすいこと
開発しやすいこと
技術的に実現できること
業務ゕプリで技術を選定するとき それが一番大事♪
![Page 4: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/4.jpg)
Ease of adoption
実行環境(ランタム)
普及率
サズ
ンストール
時間
方法
要件
![Page 5: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/5.jpg)
.NET Frameworkのンストールが必須
65%
25%
10%
3.5 SP1
その他のバージョン
未ンストール
Scott Hanselman's Computer Zen
How many PCs in the world have the .NET Framework installed? http://www.hanselman.com/blog/HowManyPCsInTheWorldHaveTheNETFrameworkInstalled.aspx
![Page 6: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/6.jpg)
Operating System Market Share - December, 2009
marketshare.hitslink.com
OSプリンストール
PCメーカープリンストール
可能性あり(Windows 7 + .NET Framework 4)
Windows .NET Framework 普及率
2000 - 1%
XP - 73%
Vista 3.0 19%
7 3.51(3.5 SP1) 6%
![Page 7: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/7.jpg)
riastats.com
Rich Internet Application Statistics
Country : Japan
52%
2% 1%
45% 3
2
1.0
未ンストール
Silverlightランタムのンストールが必須
![Page 8: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/8.jpg)
OSプリンストール
なし
PCメーカープリンストール
あり
HP Envy 13-1000 Notebook PC series specifications http://h10010.www1.hp.com/wwpc/ca/en/ho/WF06a/321957-321957-3995709-3995710-3995710-3995928.html
![Page 9: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/9.jpg)
.NET Framework インストーラー種 サイズ ダウンロードサイズ
3.5 SP1 再頒布パッケージ 231.5 MB -
Webンストーラー 2.8 MB 10 MB – 60 MB
4 Beta 2 (フルパッケージ)
x86再頒布パッケージ 37.7 MB -
x64再頒布パッケージ 54.5 MB -
Ia64再頒布パッケージ 56.4 MB -
Webンストーラー 850 KB 25 MB – 56 MB
4 Beta 2 Client Profile
x86再頒布パッケージ 30.9 MB -
x64再頒布パッケージ 47.1 MB -
Webンストーラー 850 KB 25 MB – 54 MB
Satter Ramblings: Deploying .NET Framework 4 Beta 2
http://www.satter.org/2009/10/deploying-net-framework-4.html
![Page 10: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/10.jpg)
Silverlight インストーラー種 サイズ
3 ランタム 4.7MB
開発者ランタム 6.41MB
4 Beta ランタム ?
開発者ランタム 7.63MB
![Page 11: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/11.jpg)
テスト環境
CPU : Core 2 Duo T7400 2.16GHz
メモリ : 3GB
OS : Windows 7 Enterprise x86(VHDブート)
計測対象
.NET Framework 4 Beta 2 Client Profile
Silverlight 3 RTW
![Page 12: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/12.jpg)
![Page 13: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/13.jpg)
![Page 14: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/14.jpg)
結果
.NET Framework 4 Beta 2 Client Profile
秒
Silverlight 3 RTW
秒
+ 再起動
![Page 15: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/15.jpg)
両者共通
ンストーラーのダウンロードと実行
Windows Update(追加選択)
Active Directory、Systems Management Server (SMS)
管理者向けの Microsoft .NET Framework 3.5 配置ガド
http://msdn.microsoft.com/ja-jp/library/dd297674.aspx Silverlight デプロメントガドv2
http://www.microsoft.com/japan/silverlight/resources.aspx
![Page 16: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/16.jpg)
ゕプリケーション実行(ンストール)時
WPF Bootstrapper(必須コンポーネント)
MSI
ClickOnce
Internet ExplorerのMIMEハンドラ
WPFブラウザゕプリケーション(XBAP)
Silverlight ダウンロードサトへのリンク表示
(表示画像の変更可)
![Page 17: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/17.jpg)
XBAPにおける.NET Framework自動検出
Internet Explorer 7以降
拡張子XBAPのMIMEハンドラ
ブートストラッパゕプリケーションが .NET Frameworkのンストールを開始
ダウンロードはバッググラウンド処理
WPF アプリケーションの配置
http://msdn.microsoft.com/ja-jp/library/aa969776.aspx
![Page 18: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/18.jpg)
OS .NET FX 4 ( WPF )
Silverlight
3 4
Windows 7 Windows Server 2008 R2
✔ ✔ ✔
Windows Vista Windows Server 2008
✔ ✔ ✔
Windows XP Windows Server 2003
✔ ✔ ✔
Windows 2000 - ✔ ?
※どちらも管理者権限が必要 ※OSによりサービスパックの適用が必須のものあり ※SilverlihgtはSSE命令セットをサポートしたプロセッサが必要
2010年7月13日 延長サポート終了
![Page 19: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/19.jpg)
Maintenancebility
ゕプリケーションの自動更新
ランタムのバージョン管理
![Page 20: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/20.jpg)
WPF Silverlight
Windowsアプリケーション ブラウザアプリケーション Windowsアプリケーション
XCOPY、インストーラー
ClickOnce XBAP(ClickOnce)
ブラウザ内 実行
ブラウザ外 実行
自動更新 - ✔ ✔ ✔ ✔
対話 - 必要 不要 不要 必要
ロールバック - 可 不可 不可 不可
オフライン実行 ✔ ✔ - - ✔
![Page 21: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/21.jpg)
WPF XAML Browser Applications Overview
http://msdn.microsoft.com/ja-jp/library/aa970060(VS.100).aspx
完全信頼XBAP(WPF 4で追加) セキュリティ ゾーン 動作 必要な作業
ローカル コンピューター
自動的に完全信頼 なし
ントラネット および信頼済みサト
対話を伴って完全信頼 ユーザーがプロンプト内で確認する証明書を署名する。
ンターネット 信頼が許可されない ため失敗
-
![Page 22: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/22.jpg)
WPF 同一環境に異なるバージョンの.NET
Frameworkを共存可能(side-by-side実行)
Silverlight 同一環境に異なるバージョンの
Silverlightランタムは共存不可能
Silverlight 3ランタム上のSilverlight 2ゕプリはQuirksモード(互換モード)で動作
既存のSilverlight 2アプリケーションを確実にSilverlight 3で動作させる
5 アップグレードによる互換性に影響する変更点
http://msdn.microsoft.com/ja-jp/library/cc645049%28VS.95%29.aspx#sectionToggle4
![Page 23: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/23.jpg)
CLR 2.0
Silverlight 2
![Page 24: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/24.jpg)
CLR 2.0 CLR 4.0
Silverlight 3
Quirksモード
(Silverlight 2互換モード)
![Page 25: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/25.jpg)
Ease of development
n層開発
非同期通信
![Page 26: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/26.jpg)
WPF ✔
Silverlight -
開発が必要な部分
![Page 27: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/27.jpg)
WPF ✔
Silverlight ✔
開発が必要な部分 開発が必要な部分
![Page 28: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/28.jpg)
サーバー(ASP.NET) プロジェクト
二重化が必要な共通ロジックの開発を コードの自動生成により一元化
データゕクセス レヤー
Domain Service
EntityObject
Domain Context
Entity コード生成
ビュー
Domain Data
Source
n階層ゕプリケーション開発をシンプルに
ObjectContext
クラゕント(Silverlight)
プロジェクト
![Page 29: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/29.jpg)
![Page 30: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/30.jpg)
SilverlightのWebサービス呼び出しは 非同期のみ
欠点
コードの読み書きが大変
余計な処理が必要
![Page 31: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/31.jpg)
RIA的には
UIがブロックされないなんて素敵!
業務ゕプリ的には
間違って処理中にボタン押されたら大変!
Silverlight Toolkit
BusyIndicator
![Page 32: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/32.jpg)
Possibility of implementation
機能要件
非機能要件
スクロールパフォーマンス
![Page 33: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/33.jpg)
3に足りなかった業務ゕプリ必須機能
クリップボード
右クリック、マウスホール
UIElement TextInput、TextInputStart、TextInputUdate
InputMethod PreferredImeConversionMode、PreferredImeState
印刷
![Page 34: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/34.jpg)
PrintDocumentクラス
PrintPageベント
PrintPageEventArgsメンバ
HasMorePages、PageVisual、PrintableArea
PageVisualプロパテゖに設定した UIElementがラスタラズされ印刷
基本的には画面を印刷するための簡易機能
![Page 35: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/35.jpg)
WPF >>>> 超えられない壁 >>>> Silverlight (セキュリテゖの壁)
WPF >> Silverlight >> 超えられない壁 >>>> (セキュリテゖの壁)
![Page 36: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/36.jpg)
サンドボックスモード
WebBrowserコントロール
NotificationWindow
ウゖンドウの位置と大きさの変更
信頼昇格モード
「C:¥Users」の特定フォルダに対する フゔルの読み書き
ポリシーフゔルいらずのクロスドメン通信
フルスクリーンモードにおけるフルキーボード対応
COMオートメーション
![Page 37: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/37.jpg)
テスト環境
CPU : Core 2 Duo T7400 2.16GHz
GPU : NVIDIA Quadro NVS 110M
メモリ : 3GB
OS : Windows 7 Enterprise x86(VHDブート)
DataGridコントロール
10列×500行( = 5000セル)
![Page 38: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/38.jpg)
結果
WPF 4
最低フレームレート: fps
Silverlight 4
最低フレームレート: fps
![Page 39: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/39.jpg)
.NET Frameworkのンストールは、 思っていたよりは時間がかからない。
XBAPは実はデキる奴だった。
対話を伴わない自動更新
完全信頼XBAP
WPFはGPUを活用しているから速い という印象があるが、スクロールは遅い。
![Page 40: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/40.jpg)
Silverlightのランタムは共存できない。
物理的な層を跨ぎ、非同期処理を 強いられる開発は慣れていないと大変
WCF RIA Servicesにより大部分が軽減される。
業務ゕプリに必要な機能は揃っているが、 痒いところに手が届かないこともある。
ただしCOMを使えば何でもゕリ
スクロールはWPFよりも速い。
![Page 41: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/41.jpg)
ロールバックが必要?
WPFゕプリケーション
(ClickOnce)
ントラネット
のみで運用?
WPFブラウザゕプリ
ケーション(XBAP)
Silverlight
ゕプリケーション
YES
YES
NO
NO
![Page 42: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/42.jpg)
WPF派だったけどSilverlightに心変わりした。
Silverlight派だったけどWPFに心変わりした。
![Page 43: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/43.jpg)
エディション 概要
for Windows Forms 2010J Windowsフォーム開発用の 12コンポーネント
for ASP.NET 2010J ASP.NET開発用、Ajaxに対応した 28のコンポーネント
for Silverlight 2010J Silverlight 3開発用の 39のコンポーネント
Enterprise 2010J 上記のすべてのコンポーネントとWPF用のコンポーネント、合計80種を収録した最上位エデゖション
発売中 http://www.grapecity.com/japan/c1/
![Page 44: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/44.jpg)
http://dotnetdemo.grapecity.com/demo/C1Studio/Demo.aspx
![Page 45: Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?](https://reader034.vdocuments.pub/reader034/viewer/2022050722/5463d9e3af795974338b46a6/html5/thumbnails/45.jpg)