Silverlight Line-Of-Business Applications

3,147 views
3,085 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,147
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
33
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

×