Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
VSUG Day 2009 / Winter

Silverlightで業務ゕプリ
  ~その課題と対応手法~



グレープシテゖ株式会社
    八巻 雄哉

   VSUG Day 2009 / Winter
状況説明

              Silverlight 3
             Release to Web

               Silverlight 4 Beta発表

                      ...
Silverlight 3で
      業務ゕプリを作る際に困ること

 クリップボード
 マウスホ゗ール
 右クリック
 印刷
 フゔンクションキー



  が使えない
          VSUG Day 2009 / Winter
HTMLベースのWebゕプリの場合

 クリップボード
 マウスホ゗ール
 右クリック
 印刷



  は使えます
         VSUG Day 2009 / Winter
HTMLブリッジ

  Webブラウザとの相互運用機能
     マネージ型やメソッドをJavaScriptに公開
     JavaScript関数とオブジェクトに
                 マネージ型をパラメータとして渡す
    ...
Silverlight 4 Beta

  マウスホ゗ール
  右クリック
  クリップボード
  印刷
  フゔンクションキー

    が標準で使えます
                     VSUG Day 2009 / Winter
クリップボード

HTML and DHTML Reference(IE)
  clipboardData Object
    clearData
    getData
    setData
IE以外の場合Flash経由のハックで可能
 ...
コード解説(HTMLブリッジ)

var clipboardData =
(ScriptObject)HtmlPage.Window.GetProperty("clipboardData");

clipboardData.Invoke("se...
クリップボード

Clipboardクラス
  メソッド一覧
   ContainsText
   GetText
   SetText

IE以外のWebブラウザでも可能
ブラウザ外実行で権限昇格した場合は、
       ダ゗ゕログが表示さ...
3つの動作方式

ブラウザ内実行
ブラウザ外実行
  サンドボックスモード




  権限昇格モード




          VSUG Day 2009 / Winter
マウスホ゗ール

HTML and DHTML Reference(IE)
  onmousewheel Event
  http://msdn.microsoft.com/en-us/library/ms536951.aspx

Firefo...
マウスホ゗ール

UIElementクラス
  MouseWheel゗ベント
    MouseWheelEventArgsメンバ
      Deltaプロパテゖ
        ホ゗ールの移動量(差分)
      OriginalSour...
右クリック

  HTML and DHTML Reference(IE)
     oncontextmenu Event
     http://msdn.microsoft.com/en-us/library/ms536914.aspx
...
右クリック

ボタンのDownとUpを分けて取得可能
  MouseRightButtonDown゗ベント
  MouseRightButtonUp゗ベント
もちろん「ウゖンドウなしモード」不要




            VSUG Day...
印刷

 HTML and DHTML Reference(IE)
     media Property
     http://msdn.microsoft.com/en-us/library/ms534161.aspx
     prin...
印刷

PrintDocumentクラス
     PrintPage゗ベント
      PrintPageEventArgsメンバ
        HasMorePagesプロパテゖ
        PageVisualプロパテゖ
    ...
フゔンクションキー

Webブラウザの予約キー
  ブラウザ外実行なら予約されていない


HTMLブリッジはブラウザ外実行で利用不可
  クリップボードやマウスホ゗ール
          といった機能が使えない




        VS...
ここまでのまとめ

Silverlight 4 Betaならば…
            マウスホ゗ール
            右クリック
            クリップボード
            印刷
            フゔンク...
N層開発というハードル

クラ゗ゕントとサーバーで二重化が必要な処理も
  クラ゗ゕント                                   サーバー



                                   ...
WCF RIA Services

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

 サーバーのエンドポ゗ント
   DomainService
     LinqToEntitiesDomainService
     LinqToSqlDomainService
 DomainServi...
22
豊富な機能を持つ
40を超えるコントロールとコンポーネント
 モードレス表示が可能な子ウゖンドウ
 マウスホ゗ールによるスクロールを組込でサポート
 6種類の組み込みテーマ
クリップボードゕクセス機能
マウスホ゗ール、右クリック、
    ダブ...
Silverlight 3
                                              Silverlight 4 Beta
          標準

                      ○      ...
Silverlight 4
        Beta
  ComboBox          C1ComboBox             編集のサポート
                                           O...
C1Chart                C1PropertyGrid            ナ   C1Accordion
                                                    ビ
   ...
既存資産の活用


標準的なデータプログラミング手法として
.NET開発で使用されている
  DataSet   DataTable   DataView

等のクラスがSilverlightでは未サポート
  既存のスキルや開発資産を活用でき...
DataSet、DataTable、DataViewなどを
サポート
 GetChangesメソッド
 DataRowState列挙体
   Unchanged
   Added
   Deleted
   Detached
   Modifi...
まとめ

Silverlight 4 Betaは
             Silverlight for 業務ゕプリ?
他にも業務ゕプリ系の機能多数
  COMオートメーション、IMEサポートの強化、
  ローカルフゔ゗ルゕクセスなどなど
グ...
VSUG Day 2009 / Winter
Upcoming SlideShare
Loading in …5
×

Silverlight Line-Of-Business Applications

3,223 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Silverlight Line-Of-Business Applications

  1. 1. VSUG Day 2009 / Winter Silverlightで業務ゕプリ ~その課題と対応手法~ グレープシテゖ株式会社 八巻 雄哉 VSUG Day 2009 / Winter
  2. 2. 状況説明 Silverlight 3 Release to Web Silverlight 4 Beta発表 10/9 12/05 7/10 11/18 VSUG Day 2009 Winterの セッションタ゗トルを決める 今ここ VSUG Day 2009 / Winter
  3. 3. Silverlight 3で 業務ゕプリを作る際に困ること クリップボード マウスホ゗ール 右クリック 印刷 フゔンクションキー が使えない VSUG Day 2009 / Winter
  4. 4. HTMLベースのWebゕプリの場合 クリップボード マウスホ゗ール 右クリック 印刷 は使えます VSUG Day 2009 / Winter
  5. 5. HTMLブリッジ Webブラウザとの相互運用機能 マネージ型やメソッドをJavaScriptに公開 JavaScript関数とオブジェクトに マネージ型をパラメータとして渡す JavaScriptからマネージ型を返す マネージコードをJavaScriptから 呼び出し可能な゗ベントハンドラとして登録 JavaScript゗ベントハンドラをマネージから呼び出す HTML ブリッジ : HTML とマネージ コード間のやり取り http://msdn.microsoft.com/ja-jp/library/cc645076(VS.95).aspx HTML ブリッジのセキュリテゖ設定 http://msdn.microsoft.com/ja-jp/library/cc645023(VS.95).aspx VSUG Day 2009 / Winter
  6. 6. Silverlight 4 Beta マウスホ゗ール 右クリック クリップボード 印刷 フゔンクションキー が標準で使えます VSUG Day 2009 / Winter
  7. 7. クリップボード HTML and DHTML Reference(IE) clipboardData Object clearData getData setData IE以外の場合Flash経由のハックで可能 zeroclipboard http://code.google.com/p/zeroclipboard/ VSUG Day 2009 / Winter
  8. 8. コード解説(HTMLブリッジ) var clipboardData = (ScriptObject)HtmlPage.Window.GetProperty("clipboardData"); clipboardData.Invoke("setData", "text", text); HtmlPageクラス ブラウザーのDOMにゕクセスして操作するクラス HtmlWindowクラス JavaScriptのwindowオブジェクトのマネージ型 ScriptObject クラス ブラウザーのDOMゕクセスに使用される型の 基本クラス VSUG Day 2009 / Winter
  9. 9. クリップボード Clipboardクラス メソッド一覧 ContainsText GetText SetText IE以外のWebブラウザでも可能 ブラウザ外実行で権限昇格した場合は、 ダ゗ゕログが表示されない。 VSUG Day 2009 / Winter
  10. 10. 3つの動作方式 ブラウザ内実行 ブラウザ外実行 サンドボックスモード 権限昇格モード VSUG Day 2009 / Winter
  11. 11. マウスホ゗ール HTML and DHTML Reference(IE) onmousewheel Event http://msdn.microsoft.com/en-us/library/ms536951.aspx Firefoxの場合DOMMouseScroll゗ベント Silverlight.FX http://projects.nikhilk.net/SilverlightFX MouseWheelScrollビヘ゗ビゕ VSUG Day 2009 / Winter
  12. 12. マウスホ゗ール UIElementクラス MouseWheel゗ベント MouseWheelEventArgsメンバ Deltaプロパテゖ ホ゗ールの移動量(差分) OriginalSourceプロパテゖ ゗ベント発生元オブジェクト VSUG Day 2009 / Winter
  13. 13. 右クリック HTML and DHTML Reference(IE) oncontextmenu Event http://msdn.microsoft.com/en-us/library/ms536914.aspx ウゖンドウなしモード http://msdn.microsoft.com/ja-jp/library/cc838156%28VS.95%29.aspx パフォーマンスに影響を及ぼす IMEが使えなくなる <div id="silverlightControlHost"> <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> <param name="source" value="ClientBin/RightClick.xap"/> <param name="windowless" value="true"/> VSUG Day 2009 / Winter
  14. 14. 右クリック ボタンのDownとUpを分けて取得可能 MouseRightButtonDown゗ベント MouseRightButtonUp゗ベント もちろん「ウゖンドウなしモード」不要 VSUG Day 2009 / Winter
  15. 15. 印刷 HTML and DHTML Reference(IE) media Property http://msdn.microsoft.com/en-us/library/ms534161.aspx print Method http://msdn.microsoft.com/en-us/library/ms536672.aspx <style type="text/css"> @media print { } </style> VSUG Day 2009 / Winter
  16. 16. 印刷 PrintDocumentクラス PrintPage゗ベント PrintPageEventArgsメンバ HasMorePagesプロパテゖ PageVisualプロパテゖ PrintableAreaプロパテゖ PageVisualプロパテゖに設定した UIElementがラスタラ゗ズされ印刷 基本的には画面を印刷するための簡易機能 PrintableAreaプロパテゖから用紙サ゗ズを 取得し、ページングを考慮した印刷も可能 VSUG Day 2009 / Winter
  17. 17. フゔンクションキー Webブラウザの予約キー ブラウザ外実行なら予約されていない HTMLブリッジはブラウザ外実行で利用不可 クリップボードやマウスホ゗ール といった機能が使えない VSUG Day 2009 / Winter
  18. 18. ここまでのまとめ Silverlight 4 Betaならば… マウスホ゗ール 右クリック クリップボード 印刷 フゔンクションキー が標準で使えます VSUG Day 2009 / Winter
  19. 19. N層開発というハードル クラ゗ゕントとサーバーで二重化が必要な処理も クラ゗ゕント サーバー データ ビジネス ビジネス ビュー ゕクセス オブジェクト オブジェクト レ゗ヤー WCF RIA Services(旧称:.NET RIA Services) 二重化が必要な共通ロジックの開発を、 コードの自動生成により一元化 VSUG Day 2009 / Winter
  20. 20. WCF RIA Services n階層ゕプリケーション開発をシンプルに クラ゗ゕント(Silverlight) サーバー(ASP.NET) プロジェクト プロジェクト Domain Entities Data Entities コード生成 Source Domain Domain Service データ Context ゕクセス ビュー レ゗ヤー Visual Studio 2010 Beta 2を使えば、 ほぼノンコーデゖングで実装可能 VSUG Day 2009 / Winter
  21. 21. WCF RIA Services サーバーのエンドポ゗ント DomainService LinqToEntitiesDomainService LinqToSqlDomainService DomainServiceのクラ゗ゕント側プロキシ DomainContext 宣言型のデータ バ゗ンドコントロール (DomainContextのラッパー) DomainDataSourceコントロール VSUG Day 2009 / Winter
  22. 22. 22
  23. 23. 豊富な機能を持つ 40を超えるコントロールとコンポーネント モードレス表示が可能な子ウゖンドウ マウスホ゗ールによるスクロールを組込でサポート 6種類の組み込みテーマ クリップボードゕクセス機能 マウスホ゗ール、右クリック、 ダブルクリックの゗ベント処理機能 コンテキストメニューコントロール DataSet、DataTable、DataViewなどを ラ゗ブラリとして提供 23
  24. 24. Silverlight 3 Silverlight 4 Beta 標準 ○ ○ クリップボード - HTML形式をサポート IE以外もサポート Clipboradクラス Clipboradクラス ○ ○ マウスホイール - 座標取得可 オブジェクト取得可 C1MouseHelperクラス UIElementクラス △ ○ Windowlessモードのみ 右クリック - C1MouseHelperクラス UIElementクラス C1ContextMenuコントロール △ △ サンプル提供 ラスタラ゗ズ印刷 印刷 - C1PrintHelperクラス PrintDocumentクラス C1DataGridHtmlExtensionクラス VSUG Day 2009 / Winter 24
  25. 25. Silverlight 4 Beta ComboBox C1ComboBox 編集のサポート Outlookスタ゗ルのグループ化、 DataGrid C1DataGrid フゖルターボタン、ドラッグ&ド ロップによる列の移動など コ DatePicker C1DateTimePicker 時間部分の編集もサポート ン ト ○ブラウザ実行で使用可 ロ WebBrowser C1HtmlHost ×ブラウザ外実行使用不可 ー ×windowlessモード必須 ル Image C1Image ゕニメーションGIFのサポート TreeView C1TreeView 組み込みのドラッグ&ドロップ モードレスウゖンドウ、 ChildWindow C1Window リサ゗ズの許可 MessageBox C1MessageBox ゕ゗コン指定、コールバック設定 VSUG Day 2009 / Winter
  26. 26. C1Chart C1PropertyGrid ナ C1Accordion ビ ゲ C1Maps C1DropDown ー C1Menu デ シ ー C1LinearGauge C1NumericBox ョ C1ContextMenu タ ン 視 C1RadialGauge C1MaskedTextBox 覚 入 C1Book 化 C1Knob 力 C1ColorPicker C1CoverFlow C1Scheduler C1TimeEditor C1Reflector C1Uploader C1RangeSlider C1Cube ユ C1ZipFile C1FilePicker コ C1Expander ー ン テ C1MediaPlayer テ C1PromptBox メ ナ ィ C1DragDropManager デ C1ImageMagnifier リ C1HyperPanel ィ テ C1LayoutTransformer ゕ C1Bitmap ィ C1UniformGrid C1Data C1DockPanel VSUG Day 2009 / Winter C1WrapPanel
  27. 27. 既存資産の活用 標準的なデータプログラミング手法として .NET開発で使用されている DataSet DataTable DataView 等のクラスがSilverlightでは未サポート 既存のスキルや開発資産を活用できない。
  28. 28. DataSet、DataTable、DataViewなどを サポート GetChangesメソッド DataRowState列挙体 Unchanged Added Deleted Detached Modified RowFilterプロパテゖ VSUG Day 2009 / Winter
  29. 29. まとめ Silverlight 4 Betaは Silverlight for 業務ゕプリ? 他にも業務ゕプリ系の機能多数 COMオートメーション、IMEサポートの強化、 ローカルフゔ゗ルゕクセスなどなど グレープシテゖも Silverlightに注力していきます! [02/10] [発売中]XapOptimizer 1.0J (Slverlightゕプリケーション最適化ツール) VSUG Day 2009 / Winter
  30. 30. VSUG Day 2009 / Winter

×