SlideShare a Scribd company logo
1 of 45
Download to read offline
グレープシテゖ株式会社
   八巻 雄哉
  blog : d.hatena.ne.jp/Yamaki/
        twitter : yamaki00
 WPF 4とSilverlight 4、
  これから業務ゕプリを開発するならどっち?
得票数:86
WPF派
WPFの方が顧客にとっ           「とりあえずWebで作                    WPF 4
ては手軽で便利そう。            っとけ」病に反対の意
                      を込めてWPFにして                     34%
                      おきます。
Silverlight が WPF の
サブセットである限り
WPF 一択。
                                     Silverlight 4
Silverlight派
                                         66%
ゕプリケーション配布に            実際サポートするしない
おいてどちらかというと            は関係なく、マルチプラ
Silverlightの方が配布し      ットフォームという響き
やすいかなと思う。              は売りになりそう。
   導入しやすいこと
   保守しやすいこと
   開発しやすいこと
   技術的に実現できること
    業務ゕプリで技術を選定するとき
        それが一番大事♪
 実行環境(ランタ゗ム)
                     普及率
Ease of adoption
                     サ゗ズ
                     ゗ンストール
                       時間
                       方法
                       要件
 .NET Frameworkの゗ンストールが必須

                    10%
                                                          3.5 SP1
           25%                                            その他のバージョン
                                                          未゗ンストール
                                   65%

                                                    Scott Hanselman's Computer Zen
                        How many PCs in the world have the .NET Framework installed?
http://www.hanselman.com/blog/HowManyPCsInTheWorldHaveTheNETFrameworkInstalled.aspx
 OSプリ゗ンストール
  Windows           .NET Framework              普及率
   2000                     -                     1%
    XP                      -                     73%
   Vista                 3.0                      19%
     7              3.51(3.5 SP1)                 6%
            Operating System Market Share - December, 2009
                                   marketshare.hitslink.com


 PCメーカープリ゗ンストール
  可能性あり(Windows 7 + .NET Framework 4)
 Silverlightランタ゗ムの゗ンストールが必須



                                   3
     45%                           2
                                   1.0
            52%
                                   未゗ンストール

                                       riastats.com
                Rich Internet Application Statistics
      1%   2%                      Country : Japan
 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
.NET Framework    インストーラー種                    サイズ ダウンロードサイズ
                   再頒布パッケージ                   231.5 MB       -
     3.5 SP1
                  Web゗ンストーラー                    2.8 MB 10 MB – 60 MB
                 x86再頒布パッケージ                   37.7 MB       -
    4 Beta 2     x64再頒布パッケージ                   54.5 MB       -
(フルパッケージ) Ia64再頒布パッケージ                         56.4 MB       -
                  Web゗ンストーラー                    850 KB 25 MB – 56 MB
                 x86再頒布パッケージ                   30.9 MB       -
    4 Beta 2
                 x64再頒布パッケージ                   47.1 MB       -
  Client Profile
                  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
Silverlight   インストーラー種   サイズ
                ランタ゗ム      4.7MB
    3
              開発者ランタ゗ム    6.41MB
                ランタ゗ム       ?
  4 Beta
              開発者ランタ゗ム    7.63MB
 テスト環境
  CPU : Core 2 Duo T7400 2.16GHz
  メモリ : 3GB
  OS : Windows 7 Enterprise x86(VHDブート)
 計測対象
  .NET Framework 4 Beta 2 Client Profile
  Silverlight 3 RTW
 結果
  .NET Framework 4 Beta 2 Client Profile
                         秒 + 再起動
  Silverlight 3 RTW
                         秒
 両者共通
        ゗ンストーラーのダウンロードと実行
        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
 ゕプリケーション実行(゗ンストール)時
  WPF
     Bootstrapper(必須コンポーネント)
         MSI
         ClickOnce
     Internet ExplorerのMIMEハンドラ
         WPFブラウザゕプリケーション(XBAP)
  Silverlight
     ダウンロードサ゗トへのリンク表示
              (表示画像の変更可)
 XBAPにおける.NET Framework自動検出
       Internet Explorer 7以降
       拡張子XBAPのMIMEハンドラ
       ブートストラッパゕプリケーションが
        .NET Frameworkの゗ンストールを開始
            ダウンロードはバッググラウンド処理



WPF アプリケーションの配置
http://msdn.microsoft.com/ja-jp/library/aa969776.aspx
.NET FX 4    Silverlight
            OS
                              ( WPF )    3           4
Windows 7
                                ✔        ✔          ✔
Windows Server 2008 R2
Windows Vista
                                ✔        ✔          ✔
Windows Server 2008
Windows XP
                                ✔        ✔          ✔
Windows Server 2003
                2010年7月13日
Windows 2000 延長サポート終了            -       ✔          ?
※どちらも管理者権限が必要
※OSによりサービスパックの適用が必須のものあり
※SilverlihgtはSSE命令セットをサポートしたプロセッサが必要
 ゕプリケーションの自動更新
                     ランタ゗ムのバージョン管理
Maintenancebility
WPF                            Silverlight
           Windowsアプリケーション         ブラウザアプリケーション              Windowsアプ
                                                             リケーション
           XCOPY、イン   ClickOnce       XBAP      ブラウザ内         ブラウザ外
            ストーラー                 (ClickOnce)    実行            実行
自動更新          -          ✔            ✔           ✔                 ✔

  対話          -         必要           不要          不要                 必要

  ロールバック      -          可           不可          不可                 不可

オフライン実行       ✔          ✔             -          -                 ✔
 完全信頼XBAP(WPF 4で追加)
セキュリティ ゾーン               動作                        必要な作業
ローカル
                         自動的に完全信頼                  なし
コンピューター
                                                   ユーザーがプロンプト
゗ントラネット
                         対話を伴って完全信頼                内で確認する証明書を
および信頼済みサ゗ト
                                                   署名する。
                         信頼が許可されない
゗ンターネット                                            -
                         ため失敗



WPF XAML Browser Applications Overview
http://msdn.microsoft.com/ja-jp/library/aa970060(VS.100).aspx
 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
CLR 2.0




Silverlight 2
CLR 2.0                    CLR 4.0




Silverlight 3




          Quirksモード
    (Silverlight 2互換モード)
 n層開発
Ease of development    非同期通信
開発が必要な部分




WPF           ✔
Silverlight   -
開発が必要な部分      開発が必要な部分




WPF              ✔
Silverlight      ✔
n階層ゕプリケーション開発をシンプルに
クラ゗ゕント(Silverlight)             サーバー(ASP.NET)
   プロジェクト                         プロジェクト

 Domain                                 EntityObject
           Entity     コード生成
  Data
                              Domain    ObjectContext
 Source
          Domain              Service
          Context                       データゕクセス
  ビュー                                    レ゗ヤー


  二重化が必要な共通ロジックの開発を
       コードの自動生成により一元化
 SilverlightのWebサービス呼び出しは
  非同期のみ
 欠点
  コードの読み書きが大変
  余計な処理が必要
 RIA的には
   UIがブロックされないなんて素敵!
 業務ゕプリ的には
   間違って処理中にボタン押されたら大変!

 Silverlight Toolkit
   BusyIndicator
 機能要件
Possibility of implementation    非機能要件
                                  スクロールパフォーマンス
 3に足りなかった業務ゕプリ必須機能
  クリップボード
  右クリック、マウスホ゗ール
  UIElement
    TextInput、TextInputStart、TextInputUdate
  InputMethod
    PreferredImeConversionMode、PreferredImeState
  印刷
 PrintDocumentクラス
   PrintPage゗ベント
     PrintPageEventArgsメンバ
       HasMorePages、PageVisual、PrintableArea
   PageVisualプロパテゖに設定した
           UIElementがラスタラ゗ズされ印刷
   基本的には画面を印刷するための簡易機能
 WPF >>>> 超えられない壁 >>>> Silverlight
       (セキュリテゖの壁)




 WPF >> Silverlight >> 超えられない壁 >>>>
                    (セキュリテゖの壁)
 サンドボックスモード
  WebBrowserコントロール
  NotificationWindow
  ウゖンドウの位置と大きさの変更
 信頼昇格モード
  「C:¥Users」の特定フォルダに対する
   フゔ゗ルの読み書き
  ポリシーフゔ゗ルいらずのクロスドメ゗ン通信
  フルスクリーンモードにおけるフルキーボード対応
  COMオートメーション
 テスト環境
    CPU : Core 2 Duo T7400 2.16GHz
    GPU : NVIDIA Quadro NVS 110M
    メモリ : 3GB
    OS : Windows 7 Enterprise x86(VHDブート)
 DataGridコントロール
  10列×500行( = 5000セル)
 結果
  WPF 4
    最低フレームレート:    fps
  Silverlight 4
    最低フレームレート:    fps
 .NET Frameworkの゗ンストールは、
     思っていたよりは時間がかからない。
 XBAPは実はデキる奴だった。
  対話を伴わない自動更新
  完全信頼XBAP
 WPFはGPUを活用しているから速い
  という印象があるが、スクロールは遅い。
 Silverlightのランタ゗ムは共存できない。
 物理的な層を跨ぎ、非同期処理を
  強いられる開発は慣れていないと大変
  WCF RIA Servicesにより大部分が軽減される。
 業務ゕプリに必要な機能は揃っているが、
  痒いところに手が届かないこともある。
  ただしCOMを使えば何でもゕリ
 スクロールはWPFよりも速い。
ロールバックが必要?


       YES                 NO


WPFゕプリケーション             ゗ントラネット
  (ClickOnce)           のみで運用?

                  YES               NO


             WPFブラウザゕプリ            Silverlight
             ケーション(XBAP)         ゕプリケーション
 WPF派だったけどSilverlightに心変わりした。

 Silverlight派だったけどWPFに心変わりした。
発売中
                          http://www.grapecity.com/japan/c1/


エディション                          概要
                                Windowsフォーム開発用の
for Windows Forms 2010J
                                12コンポーネント
                                ASP.NET開発用、Ajaxに対応した
for ASP.NET 2010J
                                28のコンポーネント
                                Silverlight 3開発用の
for Silverlight 2010J
                                39のコンポーネント
                                上記のすべてのコンポーネントとWPF用
Enterprise 2010J                のコンポーネント、合計80種を収録した
                                最上位エデゖション
http://dotnetdemo.grapecity.com/demo/C1Studio/Demo.aspx
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?

More Related Content

What's hot

Visual Studio 2010でWPF/Silverlightをはじめる5つの理由~業務アプリ開発編~
Visual Studio 2010でWPF/Silverlightをはじめる5つの理由~業務アプリ開発編~Visual Studio 2010でWPF/Silverlightをはじめる5つの理由~業務アプリ開発編~
Visual Studio 2010でWPF/Silverlightをはじめる5つの理由~業務アプリ開発編~Yuya Yamaki
 
バージョン管理の断捨離
バージョン管理の断捨離バージョン管理の断捨離
バージョン管理の断捨離Kazushi Kamegawa
 
XPagesDay 2016 - XPages Future Roadmap
XPagesDay 2016 - XPages Future RoadmapXPagesDay 2016 - XPages Future Roadmap
XPagesDay 2016 - XPages Future RoadmapAtsushi Sato
 
C#/WPFで作るデスクトップマスコット入門
C#/WPFで作るデスクトップマスコット入門C#/WPFで作るデスクトップマスコット入門
C#/WPFで作るデスクトップマスコット入門Fujikido
 
20151106ノーツコンソ大阪notesアプリのデザインをcoolに(公開用)
20151106ノーツコンソ大阪notesアプリのデザインをcoolに(公開用)20151106ノーツコンソ大阪notesアプリのデザインをcoolに(公開用)
20151106ノーツコンソ大阪notesアプリのデザインをcoolに(公開用)Tetsuji Hayashi
 
Windows Phoneで始める拡張現実の世界
Windows Phoneで始める拡張現実の世界Windows Phoneで始める拡張現実の世界
Windows Phoneで始める拡張現実の世界Akira Hatsune
 
開発キックオフ時にマネージャが行うべき11のこと ~Visual Studio Online & TFS 使い始めと HOME 画面の構成
開発キックオフ時にマネージャが行うべき11のこと ~Visual Studio Online & TFS 使い始めと HOME 画面の構成開発キックオフ時にマネージャが行うべき11のこと ~Visual Studio Online & TFS 使い始めと HOME 画面の構成
開発キックオフ時にマネージャが行うべき11のこと ~Visual Studio Online & TFS 使い始めと HOME 画面の構成慎一 古賀
 
Windows Phone 8 アプリ開発 01.概要
Windows Phone 8 アプリ開発 01.概要Windows Phone 8 アプリ開発 01.概要
Windows Phone 8 アプリ開発 01.概要Akira Hatsune
 
Flash Developerになる4つのヒント
Flash Developerになる4つのヒントFlash Developerになる4つのヒント
Flash Developerになる4つのヒントYusuke Kamo
 
Msを16倍出し抜くwpf開発2回目
Msを16倍出し抜くwpf開発2回目Msを16倍出し抜くwpf開発2回目
Msを16倍出し抜くwpf開発2回目cct-inc
 
塹壕よりLivetとMVVM
塹壕よりLivetとMVVM塹壕よりLivetとMVVM
塹壕よりLivetとMVVMHiroshi Maekawa
 
ハードコア デバッギング ~ Windows のアプリケーション運用トラブルシューティング実践
ハードコア デバッギング ~ Windows のアプリケーション運用トラブルシューティング実践ハードコア デバッギング ~ Windows のアプリケーション運用トラブルシューティング実践
ハードコア デバッギング ~ Windows のアプリケーション運用トラブルシューティング実践TAKUYA OHTA
 
トラブル発生、その時あなたがすることは?
トラブル発生、その時あなたがすることは?トラブル発生、その時あなたがすることは?
トラブル発生、その時あなたがすることは?Kazushi Kamegawa
 
テクてく Lotus 技術者夜会 03/16 Lotus Notes/Domino Upgrade Pack とは
テクてく Lotus 技術者夜会 03/16 Lotus Notes/Domino Upgrade Pack とはテクてく Lotus 技術者夜会 03/16 Lotus Notes/Domino Upgrade Pack とは
テクてく Lotus 技術者夜会 03/16 Lotus Notes/Domino Upgrade Pack とはHiroaki Komine
 
Windows 8 cp 速攻レビュー
Windows 8 cp 速攻レビューWindows 8 cp 速攻レビュー
Windows 8 cp 速攻レビューMakoto Nishimura
 
Prism + ReactiveProperty入門
Prism + ReactiveProperty入門Prism + ReactiveProperty入門
Prism + ReactiveProperty入門一希 大田
 

What's hot (20)

Visual Studio 2010でWPF/Silverlightをはじめる5つの理由~業務アプリ開発編~
Visual Studio 2010でWPF/Silverlightをはじめる5つの理由~業務アプリ開発編~Visual Studio 2010でWPF/Silverlightをはじめる5つの理由~業務アプリ開発編~
Visual Studio 2010でWPF/Silverlightをはじめる5つの理由~業務アプリ開発編~
 
バージョン管理の断捨離
バージョン管理の断捨離バージョン管理の断捨離
バージョン管理の断捨離
 
WPF MVVM Review
WPF MVVM ReviewWPF MVVM Review
WPF MVVM Review
 
XPagesDay 2016 - XPages Future Roadmap
XPagesDay 2016 - XPages Future RoadmapXPagesDay 2016 - XPages Future Roadmap
XPagesDay 2016 - XPages Future Roadmap
 
C#/WPFで作るデスクトップマスコット入門
C#/WPFで作るデスクトップマスコット入門C#/WPFで作るデスクトップマスコット入門
C#/WPFで作るデスクトップマスコット入門
 
20151106ノーツコンソ大阪notesアプリのデザインをcoolに(公開用)
20151106ノーツコンソ大阪notesアプリのデザインをcoolに(公開用)20151106ノーツコンソ大阪notesアプリのデザインをcoolに(公開用)
20151106ノーツコンソ大阪notesアプリのデザインをcoolに(公開用)
 
MVVM入門
MVVM入門MVVM入門
MVVM入門
 
Windows Phoneで始める拡張現実の世界
Windows Phoneで始める拡張現実の世界Windows Phoneで始める拡張現実の世界
Windows Phoneで始める拡張現実の世界
 
開発キックオフ時にマネージャが行うべき11のこと ~Visual Studio Online & TFS 使い始めと HOME 画面の構成
開発キックオフ時にマネージャが行うべき11のこと ~Visual Studio Online & TFS 使い始めと HOME 画面の構成開発キックオフ時にマネージャが行うべき11のこと ~Visual Studio Online & TFS 使い始めと HOME 画面の構成
開発キックオフ時にマネージャが行うべき11のこと ~Visual Studio Online & TFS 使い始めと HOME 画面の構成
 
Windows Phone 8 アプリ開発 01.概要
Windows Phone 8 アプリ開発 01.概要Windows Phone 8 アプリ開発 01.概要
Windows Phone 8 アプリ開発 01.概要
 
Flash Developerになる4つのヒント
Flash Developerになる4つのヒントFlash Developerになる4つのヒント
Flash Developerになる4つのヒント
 
Msを16倍出し抜くwpf開発2回目
Msを16倍出し抜くwpf開発2回目Msを16倍出し抜くwpf開発2回目
Msを16倍出し抜くwpf開発2回目
 
塹壕よりLivetとMVVM
塹壕よりLivetとMVVM塹壕よりLivetとMVVM
塹壕よりLivetとMVVM
 
OITEC19_TFS
OITEC19_TFSOITEC19_TFS
OITEC19_TFS
 
ハードコア デバッギング ~ Windows のアプリケーション運用トラブルシューティング実践
ハードコア デバッギング ~ Windows のアプリケーション運用トラブルシューティング実践ハードコア デバッギング ~ Windows のアプリケーション運用トラブルシューティング実践
ハードコア デバッギング ~ Windows のアプリケーション運用トラブルシューティング実践
 
トラブル発生、その時あなたがすることは?
トラブル発生、その時あなたがすることは?トラブル発生、その時あなたがすることは?
トラブル発生、その時あなたがすることは?
 
テクてく Lotus 技術者夜会 03/16 Lotus Notes/Domino Upgrade Pack とは
テクてく Lotus 技術者夜会 03/16 Lotus Notes/Domino Upgrade Pack とはテクてく Lotus 技術者夜会 03/16 Lotus Notes/Domino Upgrade Pack とは
テクてく Lotus 技術者夜会 03/16 Lotus Notes/Domino Upgrade Pack とは
 
Windows 8 cp 速攻レビュー
Windows 8 cp 速攻レビューWindows 8 cp 速攻レビュー
Windows 8 cp 速攻レビュー
 
Prism + ReactiveProperty入門
Prism + ReactiveProperty入門Prism + ReactiveProperty入門
Prism + ReactiveProperty入門
 
Sl17
Sl17Sl17
Sl17
 

Similar to Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?

JavaScript And Keywords
JavaScript And KeywordsJavaScript And Keywords
JavaScript And Keywordsuupaa
 
Hardware control by .NET Core 3.1
Hardware control by .NET Core 3.1Hardware control by .NET Core 3.1
Hardware control by .NET Core 3.1Atomu Hidaka
 
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~Brocade
 
NetApp Session at PEX Tokyo 2013
NetApp Session at PEX Tokyo 2013NetApp Session at PEX Tokyo 2013
NetApp Session at PEX Tokyo 2013NetApp Japan
 
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組みKouji Matsui
 
【XP祭り2010】 ライトニングトークス 「マイクロソフトとアジャイル
【XP祭り2010】 ライトニングトークス 「マイクロソフトとアジャイル【XP祭り2010】 ライトニングトークス 「マイクロソフトとアジャイル
【XP祭り2010】 ライトニングトークス 「マイクロソフトとアジャイル智治 長沢
 
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMFAtomu Hidaka
 
Windows 7 オプショナルツール 一挙紹介
Windows 7 オプショナルツール 一挙紹介Windows 7 オプショナルツール 一挙紹介
Windows 7 オプショナルツール 一挙紹介shigeya
 
Introduction to web development 1
Introduction to web development 1Introduction to web development 1
Introduction to web development 1hideaki honda
 
販売店向けコールセンターシステム開発
販売店向けコールセンターシステム開発販売店向けコールセンターシステム開発
販売店向けコールセンターシステム開発Cybozucommunity
 
17-D-1 Azure開発の極意 ~2011年版~
17-D-1 Azure開発の極意 ~2011年版~17-D-1 Azure開発の極意 ~2011年版~
17-D-1 Azure開発の極意 ~2011年版~Sunao Tomita
 
Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)Monaca
 
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own PathFirefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Pathdynamis
 
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~Akira Inoue
 
TF Seminar 20110218
TF Seminar 20110218TF Seminar 20110218
TF Seminar 20110218hirookun
 
Interact 2019 - CI01 Windows Server 2019
Interact 2019 - CI01 Windows Server 2019 Interact 2019 - CI01 Windows Server 2019
Interact 2019 - CI01 Windows Server 2019 Osamu Takazoe
 

Similar to Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち? (20)

20070310
2007031020070310
20070310
 
JavaScript And Keywords
JavaScript And KeywordsJavaScript And Keywords
JavaScript And Keywords
 
Hardware control by .NET Core 3.1
Hardware control by .NET Core 3.1Hardware control by .NET Core 3.1
Hardware control by .NET Core 3.1
 
20060419
2006041920060419
20060419
 
【BS2】.NET 6 最新アップデート
【BS2】.NET 6 最新アップデート【BS2】.NET 6 最新アップデート
【BS2】.NET 6 最新アップデート
 
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
 
NetApp Session at PEX Tokyo 2013
NetApp Session at PEX Tokyo 2013NetApp Session at PEX Tokyo 2013
NetApp Session at PEX Tokyo 2013
 
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
 
【XP祭り2010】 ライトニングトークス 「マイクロソフトとアジャイル
【XP祭り2010】 ライトニングトークス 「マイクロソフトとアジャイル【XP祭り2010】 ライトニングトークス 「マイクロソフトとアジャイル
【XP祭り2010】 ライトニングトークス 「マイクロソフトとアジャイル
 
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
 
Windows 7 オプショナルツール 一挙紹介
Windows 7 オプショナルツール 一挙紹介Windows 7 オプショナルツール 一挙紹介
Windows 7 オプショナルツール 一挙紹介
 
Introduction to web development 1
Introduction to web development 1Introduction to web development 1
Introduction to web development 1
 
販売店向けコールセンターシステム開発
販売店向けコールセンターシステム開発販売店向けコールセンターシステム開発
販売店向けコールセンターシステム開発
 
17-D-1 Azure開発の極意 ~2011年版~
17-D-1 Azure開発の極意 ~2011年版~17-D-1 Azure開発の極意 ~2011年版~
17-D-1 Azure開発の極意 ~2011年版~
 
Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)
 
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own PathFirefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Path
 
Mvc conf session_5_isami
Mvc conf session_5_isamiMvc conf session_5_isami
Mvc conf session_5_isami
 
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~
 
TF Seminar 20110218
TF Seminar 20110218TF Seminar 20110218
TF Seminar 20110218
 
Interact 2019 - CI01 Windows Server 2019
Interact 2019 - CI01 Windows Server 2019 Interact 2019 - CI01 Windows Server 2019
Interact 2019 - CI01 Windows Server 2019
 

More from Yuya Yamaki

Basic言語でiOSアプリを作る
Basic言語でiOSアプリを作るBasic言語でiOSアプリを作る
Basic言語でiOSアプリを作るYuya Yamaki
 
続Xamarinはじめました
続Xamarinはじめました続Xamarinはじめました
続XamarinはじめましたYuya Yamaki
 
Xamarinはじめました
XamarinはじめましたXamarinはじめました
XamarinはじめましたYuya Yamaki
 
TypeScript入門してみた
TypeScript入門してみたTypeScript入門してみた
TypeScript入門してみたYuya Yamaki
 
Windowsの画面スケーリングを きちんと理解しよう
Windowsの画面スケーリングをきちんと理解しようWindowsの画面スケーリングをきちんと理解しよう
Windowsの画面スケーリングを きちんと理解しようYuya Yamaki
 
.Net技術でこれからも食べていくための技術戦略
.Net技術でこれからも食べていくための技術戦略.Net技術でこれからも食べていくための技術戦略
.Net技術でこれからも食べていくための技術戦略Yuya Yamaki
 
.NET技術でこれからも食べていくための技術戦略
.NET技術でこれからも食べていくための技術戦略.NET技術でこれからも食べていくための技術戦略
.NET技術でこれからも食べていくための技術戦略Yuya Yamaki
 
Developers Summit 2013【14-E-3】Windows 8デザインガイド
Developers Summit 2013【14-E-3】Windows 8デザインガイドDevelopers Summit 2013【14-E-3】Windows 8デザインガイド
Developers Summit 2013【14-E-3】Windows 8デザインガイドYuya Yamaki
 
デスクトップアプリ開発者が押さえておくべきWindows 8 時代の変革
デスクトップアプリ開発者が押さえておくべきWindows 8 時代の変革デスクトップアプリ開発者が押さえておくべきWindows 8 時代の変革
デスクトップアプリ開発者が押さえておくべきWindows 8 時代の変革Yuya Yamaki
 
デスクトップアプリ開発者が押さえておくべき Windows 8時代の変革
デスクトップアプリ開発者が押さえておくべきWindows 8時代の変革デスクトップアプリ開発者が押さえておくべきWindows 8時代の変革
デスクトップアプリ開発者が押さえておくべき Windows 8時代の変革Yuya Yamaki
 
Windows 8時代のUXを支える非同期プログラミング
Windows 8時代のUXを支える非同期プログラミングWindows 8時代のUXを支える非同期プログラミング
Windows 8時代のUXを支える非同期プログラミングYuya Yamaki
 
どうなる?Windows 8時代の業務アプリ開発
どうなる?Windows 8時代の業務アプリ開発どうなる?Windows 8時代の業務アプリ開発
どうなる?Windows 8時代の業務アプリ開発Yuya Yamaki
 
WPF/Silverlight視点で視る MetroスタイルのXAML
WPF/Silverlight視点で視るMetroスタイルのXAMLWPF/Silverlight視点で視るMetroスタイルのXAML
WPF/Silverlight視点で視る MetroスタイルのXAMLYuya Yamaki
 
77回スピーカーを経験して分かったこと」共有します
77回スピーカーを経験して分かったこと」共有します77回スピーカーを経験して分かったこと」共有します
77回スピーカーを経験して分かったこと」共有しますYuya Yamaki
 
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Yuya Yamaki
 
半透明は飾りです 偉い人にはそれがわからんのですよ
半透明は飾りです偉い人にはそれがわからんのですよ半透明は飾りです偉い人にはそれがわからんのですよ
半透明は飾りです 偉い人にはそれがわからんのですよYuya Yamaki
 
60分でわかる!SilverlightとWPFの入力チェック
60分でわかる!SilverlightとWPFの入力チェック60分でわかる!SilverlightとWPFの入力チェック
60分でわかる!SilverlightとWPFの入力チェックYuya Yamaki
 
Silverlight Line-Of-Business Applications
Silverlight Line-Of-Business ApplicationsSilverlight Line-Of-Business Applications
Silverlight Line-Of-Business ApplicationsYuya Yamaki
 
【13 C 2】デベロッパーに贈る!M-V-VMパターンで造るWPFアプリケーション
【13 C 2】デベロッパーに贈る!M-V-VMパターンで造るWPFアプリケーション【13 C 2】デベロッパーに贈る!M-V-VMパターンで造るWPFアプリケーション
【13 C 2】デベロッパーに贈る!M-V-VMパターンで造るWPFアプリケーションYuya Yamaki
 

More from Yuya Yamaki (19)

Basic言語でiOSアプリを作る
Basic言語でiOSアプリを作るBasic言語でiOSアプリを作る
Basic言語でiOSアプリを作る
 
続Xamarinはじめました
続Xamarinはじめました続Xamarinはじめました
続Xamarinはじめました
 
Xamarinはじめました
XamarinはじめましたXamarinはじめました
Xamarinはじめました
 
TypeScript入門してみた
TypeScript入門してみたTypeScript入門してみた
TypeScript入門してみた
 
Windowsの画面スケーリングを きちんと理解しよう
Windowsの画面スケーリングをきちんと理解しようWindowsの画面スケーリングをきちんと理解しよう
Windowsの画面スケーリングを きちんと理解しよう
 
.Net技術でこれからも食べていくための技術戦略
.Net技術でこれからも食べていくための技術戦略.Net技術でこれからも食べていくための技術戦略
.Net技術でこれからも食べていくための技術戦略
 
.NET技術でこれからも食べていくための技術戦略
.NET技術でこれからも食べていくための技術戦略.NET技術でこれからも食べていくための技術戦略
.NET技術でこれからも食べていくための技術戦略
 
Developers Summit 2013【14-E-3】Windows 8デザインガイド
Developers Summit 2013【14-E-3】Windows 8デザインガイドDevelopers Summit 2013【14-E-3】Windows 8デザインガイド
Developers Summit 2013【14-E-3】Windows 8デザインガイド
 
デスクトップアプリ開発者が押さえておくべきWindows 8 時代の変革
デスクトップアプリ開発者が押さえておくべきWindows 8 時代の変革デスクトップアプリ開発者が押さえておくべきWindows 8 時代の変革
デスクトップアプリ開発者が押さえておくべきWindows 8 時代の変革
 
デスクトップアプリ開発者が押さえておくべき Windows 8時代の変革
デスクトップアプリ開発者が押さえておくべきWindows 8時代の変革デスクトップアプリ開発者が押さえておくべきWindows 8時代の変革
デスクトップアプリ開発者が押さえておくべき Windows 8時代の変革
 
Windows 8時代のUXを支える非同期プログラミング
Windows 8時代のUXを支える非同期プログラミングWindows 8時代のUXを支える非同期プログラミング
Windows 8時代のUXを支える非同期プログラミング
 
どうなる?Windows 8時代の業務アプリ開発
どうなる?Windows 8時代の業務アプリ開発どうなる?Windows 8時代の業務アプリ開発
どうなる?Windows 8時代の業務アプリ開発
 
WPF/Silverlight視点で視る MetroスタイルのXAML
WPF/Silverlight視点で視るMetroスタイルのXAMLWPF/Silverlight視点で視るMetroスタイルのXAML
WPF/Silverlight視点で視る MetroスタイルのXAML
 
77回スピーカーを経験して分かったこと」共有します
77回スピーカーを経験して分かったこと」共有します77回スピーカーを経験して分かったこと」共有します
77回スピーカーを経験して分かったこと」共有します
 
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。
 
半透明は飾りです 偉い人にはそれがわからんのですよ
半透明は飾りです偉い人にはそれがわからんのですよ半透明は飾りです偉い人にはそれがわからんのですよ
半透明は飾りです 偉い人にはそれがわからんのですよ
 
60分でわかる!SilverlightとWPFの入力チェック
60分でわかる!SilverlightとWPFの入力チェック60分でわかる!SilverlightとWPFの入力チェック
60分でわかる!SilverlightとWPFの入力チェック
 
Silverlight Line-Of-Business Applications
Silverlight Line-Of-Business ApplicationsSilverlight Line-Of-Business Applications
Silverlight Line-Of-Business Applications
 
【13 C 2】デベロッパーに贈る!M-V-VMパターンで造るWPFアプリケーション
【13 C 2】デベロッパーに贈る!M-V-VMパターンで造るWPFアプリケーション【13 C 2】デベロッパーに贈る!M-V-VMパターンで造るWPFアプリケーション
【13 C 2】デベロッパーに贈る!M-V-VMパターンで造るWPFアプリケーション
 

Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?

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