Silverlight Development Part2

Similar documents
Silverlight

スライド 1

ASP.NET and Silverlight

PLEASE READ (hidden slide)

d_appendixB-asp10appdev.indd

Microsoft PowerPoint - hmoriya-REMIX2006-Print-New [互換モード]


00vb10-CONT-deitel.indd

新しいイテレーション型開発

paper.pdf

HOW DO I WebBrowser コントロールで HTML5 を 使用するには ここでは以下の手順で説明します Video 要素を使用する Silverlight と JavaScript の間でやり取りする Canvas 要素を使用する Video 要素を使用する 1. Visual Stu

Microsoft PowerPoint - Windows Presentation Foundation (WPF) 3.5 の新機能

XML Consortium 2009/5/8 XML Consortium Enterprise2.0 アプリを支えるクラウド基盤としての Windows Azure XML コンソーシアム Web 2.0 部会 日立ソフト宮崎昭世 Microsoft MVP for Development Pl

.NET Framework 4.0 世代の Expression Trees

MVP for VB が語る C# 入門

SharpShooter Reports.WPF 基本的な使い方 Last modified on: November 15, 2012 本ドキュメント内のスクリーンショットは英語表記ですが SharpShooter Reports JP( 日本語版 ) では日本語で表示されます

.NET_3.5 Technical Briefing ソースコード説明 担当者の Demo 実施時の環境 注意 Visual Studio 2008β2 日本語版および Microsoft Silverlight Tools Alpha for Visual Studio 2008 Beta 2

XAML Do-It-Yourself 第 3 回ベントとトリガー XML Do-It-Yourself 第 3 回目は ベント処理とトリガーについて学習します Windows フォームゕプリケーションでは たとえば ボタンが押された というベントに対応する処理 ( ベントハンドラー ) を記述する

PowerPoint プレゼンテーション

WPF アプリケーションの 多言語切替

untitled

S2Pradoの紹介

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成

Web2.0 LL Framework Ruby on Rails / TurboGears / CakePHP Atlas Web2.0 XML Selenium / JMeter 3 Ajax Web 2.0 UI Ruby on Rails Web 2. ASP.NET AJAX,

PowerPoint Presentation

IT / KPI IT WF(XOML),BPEL WSDL XSD IT XSD WSDL BPEL XOML XML

デモで理解する Facebook アプリ開発のポイント シグマコンサルティング ( 株 ) 菅原英治

Web データ管理 JavaScript (1) (4 章 ) 2011/12/7( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/21

モバイルアプリを Azure で作る - データを扱う Azure Storage を利 してデータを保存する 本稿では PHP と Windows Azure を使って 画像などのファイルを扱うアプリケーションを開発する方法を説明します Windows Azure Platform では データの

Oracle JDeveloper 10g ADF Creation Date: Jul 07, 2004 Last Update: Jul 08, 2004 Version 1.0

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

PowerPoint プレゼンテーション

情報システム設計論II ユーザインタフェース(1)

- 目次 - 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET 2.0 AJAX Extensions 1.0 のインストール ASP.NET AJAX のWeb アプリケーション開発環境準備 AJAX W

改版履歴 版数 改版日付 改版内容 /03/14 新規作成 2013/03まで製品サイトで公開していた WebSAM DeploymentManager Ver6.1 SQL Server 2012 製品版のデータベース構築手順書 ( 第 1 版 ) を本 書に統合しました 2

SmartBrowser_document_build30_update.pptx

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略   

: Name, Tel name tel (! ) name : Name! Tel tel ( % ) 3. HTML. : Name % Tel name tel 2. 2,., [ ]!, [ ]!, [ ]!,. [! [, ]! ]!,,. ( [ ], ),. : [Name], nam

MVC4 Mobile Classic

untitled

sp2-2.indd

PDFViewer for WPF/Silverlight

Microsoft PowerPoint _2b-DOM.pptx

Prog2_12th

データを TreeView コントロールで表示 VisualStudio2017 の Web サイトプロジェクトで bootstrap, 及び script フォルダの js ファイルが使用できるマスターページを親とする TestTreeView.aspx ページを作成します 下記の html コー

10-C.._241_266_.Z

intra-mart マスカット連携ガイド

目次 はじめに... 3 システムの必要条件... 3 サンプルアプリケーションの作成... 3 手順 手順 手順 手順 手順 手順 終わりに... 23

InstallShield FAQ < 独自の InstallShield 前提条件を作成する > 注 ) このドキュメントは InstallShield 2014 Premier Edition を基に作成しています InstallShield 2014 以外のバージョンでは設定名などが異なる場合

Chart3D for WPF/Silverlight

MISAO with WPF

JavaScript の使い方

JavaScript演習

Ignite UI リリースノート jquery ASP.NET MVC HTML 5 CSS に特化したインフラジスティックスのコントロール群は 高度な Web ユーザーエクスペリエンスの実現を強力にサポートします Web テクノロジーの強固な基盤をプラグインや機能拡張を使用せずに構

Filr 2.0 Desktopアプリケーションリリースノート

目次 はじめに... 3 システムの必要条件... 4 ライセンス認証... 4 アクティベーション... 6 開発... 7 手順 1. アプリケーションの作成... 7 手順 2. データソースの作成と代入... 7 手順 3. テンプレートの作成 手順 4. レポートビューアの追加

intra-mart Accel Platform — 招待機能プログラミングガイド   初版  

ComboBox for ASP.NET Web Forms

Whitepaper - Why CM7

Webプログラミング演習

Lotus Domino XML活用の基礎!

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略   

JavaScript 1.! DOM Ajax Shelley Powers,, JavaScript David Flanagan, JavaScript 2

Blue Asterisk template

Microsoft Word - FWTEC0003.doc

Web データ管理 JavaScript (3) (4 章 ) 2011/12/21( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/18

Visual Basic Oracle Database 11 Release 1

Prog2_4th

スライド 1

Oracle SOA Suite 11gコンポジットに対するSOASchedulerの構成

// このクラスの有効期間中の各呼び出しに使用される キャッシュされた Socket オブジェクト Socket socket = null; // 非同期処理が完了したことを通知するために信号を送るオブジェクト static ManualResetEvent clientdone = new Ma

JavaScript 演習 2 1

BinaryImage for ASP.NET Web Forms

Enterprise Architect 12.0 機能ガイド

Ignite UI サービスリリースノート jquery ASP.NET MVC HTML 5 CSS に特化したインフラジスティックスのコントロール群は 高度な Web ユーザーエクスペリエンスの実現を強力にサポートします Web テクノロジーの強固な基盤をプラグインや機能拡張を使用

2

平成 30 年度 プログラミング研修講座 岩手県立総合教育センター

Microsoft Word - Writing Windows Installer's DLL.doc

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版  

Windows XP(SP3) の場合または,.Net Framework 4 Client がインストールされていない場合,.Net Framework 4 Client Profile の同意画面が表示されます.Net Framework がインストールされている場合は, この画面は表示されませ

スライド 1

Seasar.NET入門

10th Developer Camp - B5

Team Foundation Server 2018 を使用したバージョン管理 補足資料

Twitterクライアントに学ぶASP.NETアプリ

WebOTXマニュアル

Microsoft Word - Android_SQLite講座_画面800×1280

_IMv2.key

DEMO1 まずはやってみよう アクティビティをダブルクリック 作成 - プロジェクト C# => Workflow CodeActivity をぽとぺ シーケンシャルと ステートマシン それぞれのコ ンソールアプリ あとライブラリがある びっくりマークは足りていないあかし プロパティをみると判別で

e10s におけるプロセス間通信の基本 219 HACK #34 Components.manager.removeBootstrappedManifestLocati on() function shutdown(adata, areason) { const IOService =

IronPython による柔軟なゲーム開発 筑波大学 AmusementCreators

Embarcadero Developer Camp

<4D F736F F D BC696B18F88979D939D90A782F08D6C97B682B582BD A DD975E8AC7979D CC8D5C927A2E6

nopcommerce Adobe Flash ( 1 ) 1 nopcommerce 2.2 ( [5, p.3-4] )

Dolteng Scaffoldに対する機能追加とマスタ-ディテールScaffoldの紹介

Windows Web Windows Windows WinSock

マイクロソフト株式会社デベロッパー & プラットフォーム統括本部平野和順

スライド タイトルなし

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版  

C# の現在・過去・未来

Transcription:

Silverlight Development Part2 The Final Answer of Rich Web Technology 株式会社アークウェイ代表取締役社長.NET コンサルタント森屋英治 (Hideharu Moriya) Microsoft MVP Solutions Architect Copyright 2007 Archway Inc Page 1

アークウェイについて ビジョン : 開発者たちの幸せ サービス コンサルティングサービス.NET 技術を中心としたアーキテクチャ / システム構築のコンサルテーション アーキテクチャ策定サービス 最適なアーキテクチャ策定をご支援します メンタリングサービス 開発現場の一員として参加しながら.NET 技術やアジャイル開発などの技術指導を行います トレーニングサービス.NET 技術 アジャイル開発などのトレーニング Copyright 2007 Archway Inc Page 2

アークウェイについて 製品 ainote( アイノート ) マインドマップ機能対応ソフトウェアファクトリ支援ツールベータ 3 2007/09 版明日リリース! 研究開発ソフトウェアファクトリ NAgile 詳しくはホームページをご覧ください URL:http://www.archway.co.jp モチベーションが高い開発者 メンターを募集しています! 連絡先 :sales@archway.co.jp Copyright 2007 Archway Inc Page 3

Part1 Agenda Silverlight とはコンセプト DAL 開発スタイルアーキテクチャ XAML オブジェクトブラウザは親友基本コンポーネント X:Name イベント 1.0 と 1.1 の違い Copyright 2007 Archway Inc Page 4

SilverLightとは Coding Anywhere.NETとの連携 ASP.NETとの連携ネットワーク XML LINQ その他 ファイル MACでの開発 Part2 Agenda Copyright 2007 Archway Inc Page 5

Copyright 2007 Archway Inc Page 6

Silverlight とは Microsoft Silverlight は クロスブラウザ クロスプラットフォームに対応する Web ブラウザのプラグインです.NET を基盤とし Web における次世代のメディア体験と RIA* を実現します *RIA (Rich Interactive Application) 参照 :http://www.microsoft.com/japan/silverlight/default01.aspx Copyright 2007 Archway Inc Page 7

Coding Anywhere Copyright 2007 Archway Inc Page 8

Coding Anywhere Silverlight アーキテクチャ JavaScriptからのアクセスマネージドコードからのアクセスダイナミックランゲージ (Python) ASP.NETとの連携 Copyright 2007 Archway Inc Page 9

Browser Host.NET for Silverlight Data WPF Networking MS AJAX Library LINQ XLINQ Extensible Controls REST POX DOM Integration Application Services Ruby DLR Python BCL Generics Collections CLR Execution Engine XAML RSS SOAP JSON Legend V1.1 Legend Deploy Presentation Core V1.0 UI Core Inputs DRM Friction-Free Installer Vector Text Keyboard Mouse Ink Media Auto- Updater Animation Images Media VC1 WMA MP3 Controls Layout Editing Copyright 2007 Archway Inc Page 10

ラウザイベント / メソッド呼び出し.NET DLR WEB サーバ JavaScript イベント / メソッド呼び出し XAML イベント / メソッド呼び出し レンダリング メソッド呼び出し Silverlight プラブグHTML インレンダリング ASP.NET イベント 論理的な定義 Copyright 2007 Archway Inc Page 11

JavaScript からのアクセス document.getelementbyname document.getelementbyid document HTML WebApplication.Current.RegisterScriptab leobject( ScriptObject", this); content Silverlight コントロール Silverlight プラグイン Script オブジェクト XAML イベント メソッド プロパティ silverlightcontrol.content.findname(x:name) Copyright 2007 Archway Inc Page 12

JavaScript からのアクセス JavaScript から DOM document.getelementbyname document.getelementbyid JavaScript から XAML silverlightcontrol.content.findname(x:name) JavaScript からマネージドコード [Scriptable] 属性 WebApplication.Current.RegisterScriptabl eobject( basic", this) control.content.basic.search() Copyright 2007 Archway Inc Page 13

JavaScript から DOM へのアクセス <div id="silverlightcontrolhost" class="silverlighthost" > <script type="text/javascript"> createsilverlight(); function HideForm() { var silverlightcontrol = document.getelementbyid('silverlightcontrol'); if (silverlightcontrol) { var message = silverlightcontrol.content.findname("messagetext"); message.text = document.getelementbyid(" html_textbox_id ").value; } } </script> <table><tr> <td> テキストを入力してください :</td> <td><input type="text" id= html_textbox_id" name=" html_textbox_name" value="" /></td> </tr> <tr><td> </td> <td><input type="button" id="m_submit" name="m_submit" value=" クリック " onclick="hideform();" /></td></tr></table> </div> Copyright 2007 Archway Inc Page 14

JavaScript から XAML へのアクセス <script type="text/javascript"> createsilverlight(); function HideForm() { var silverlightcontrol = document.getelementbyid('silverlightcontrol'); if (silverlightcontrol) { var storybord = silverlightcontrol.content.findname("teststory"); storybord.begin(); } } </script> <Canvas xmlns="http://schemas.microsoft.com/client/2007" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:name="parentcanvas Loaded="Page_Loaded" x:class="attachfromjavascript.page;assembly=clientbin/attachfromjavascript.dll" Width= 640 Height= 480 Background= Black > <Canvas.Resources> <Storyboard x:name="teststory"> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="messageText" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X ) > ( 以下略 ) Copyright 2007 Archway Inc Page 15

JavaScript からマネージドコード プロパティやメソッドまたはイベントに Scriptable 属性を設定 [Scriptable] public void Search(string Name) { } Scriptable オブジェクトを登録する WebApplication.Current.RegisterScriptableObject( basic", this); スクリプトからマネージドコードへアクセスする var control = document.getelementbyid( silverlightcontrol"); control.content.basic.search(input.value); Copyright 2007 Archway Inc Page 16

マネージドコードからのアクセス マネージドコードから HTML DOM HtmlPage.Document.GetElementByID マネージドコードから XAML Copyright 2007 Archway Inc Page 17

マネージドコードから HTML DOM HTML DOM へのアクセスを可能とする名前空間の追加 using System.Windows.Browser; イベントとの連結やメソッドコール プロパティへのアクセス HtmlElement mybutton = HtmlPage.Document.GetElementByID("myButtonID"); mybutton.attachevent("onclick", new EventHandler(this.myButtonClicked)); private void mybuttonclicked(object sender, EventArgs e) {... } Copyright 2007 Archway Inc Page 18

マネージドコードから XAML <Rectangle x:name= rectangle /> void OnMouseEnter(object sender, MouseEventArgs e) { rectangle.height = 75; rectangle.opacity = 0; } Copyright 2007 Archway Inc Page 19

DLR(Python) Page.xaml <Canvas x:name="parentcanvas" xmlns="http://schemas.microsoft.com/client/2007" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Loaded="OnLoad" x:classが必要ない Width="640" Height="480" Background="Black" > <x:code Source="Code.py" Type="text/ironpython" /> <TextBlock x:name="message" Foreground="White" Text="Hello" FontSize="100" MouseLeftButtonDown="OnClick" /> </Canvas> Code.py def OnClick( sender, e ): Message.Text = "Clicked!!" Message.FontSize = Message.FontSize * 1.1 Copyright 2007 Archway Inc Page 20

DEMO Copyright 2007 Archway Inc Page 21

.NET との連携 Copyright 2007 Archway Inc Page 22

Rich Web Technology Copyright 2007 Archway Inc Page 23

+ Copyright 2007 Archway Inc Page 24

.NET Copyright 2007 Archway Inc Page 25

Copyright 2007 Archway Inc Page 26

Final Answer! Copyright 2007 Archway Inc Page 27

.NET との連携 ASP.NETとの連携 (ASP.NET Futures) ネットワーク XML LINQ Copyright 2007 Archway Inc Page 28

ASP.NET との連携 (ASP.NET Futures) ASP.NET Features をインストール入手先 : http://www.microsoft.com/downloads/details.aspx?familyid=93237 77e fe78 430c ad92 d5be5b5ead98&displaylang=en ASP.NET Web Application プロジェクトを右クリックし [Add Silverlight Link ] をクリック関連付ける Silverlight プロジェクトを選択 Copyright 2007 Archway Inc Page 29

ASP.NET との連携 (ASP.NET Futures) XAMLファイルがコピーされるコンパイルされたものは ClientBinの下に配置される Copyright 2007 Archway Inc Page 30

ASP.NET との連携 (ASP.NET Futures) Microsoft.Web.Preview 名前空間が追加される ツールボックスの ASP.NET Futures タブから Xaml を追加 Copyright 2007 Archway Inc Page 31

ASP.NET との連携 (ASP.NET Futures) XamlUrl プロパティに使用する XAML ファイルを指定 Xaml だけではエラーとなるため AJAX Extensions タブの ScriptManager を追加する必要がある <cc1:xaml ID="Xaml1" runat="server" Height="329px" Width="422px" XamlUrl="Page.xaml"> </cc1:xaml> <asp:scriptmanager ID="ScriptManager1" runat="server"> </asp:scriptmanager> Copyright 2007 Archway Inc Page 32

Downloder Web Service WCF Coming soon ネットワーク Copyright 2007 Archway Inc Page 33

Downloader private void DownloaderInit() { Downloader downloader = new Downloader(); downloader.open("get", new Uri("/data/logos.zip", UriKind.Relative)); downloader.completed += OnDownloadComplete; downloader.downloadfailed += OnDownloadFailed; downloader.send(); } public void OnDownloadComplete(object sender, EventArgs e) { ImageControl.SetSource(sender, "Silverlight_logo.png"); } Logos.zip の中のファイル名を指定 Copyright 2007 Archway Inc Page 34

Web サービス JSONのみサポート ( 現時点 ) ローカルサービスのみサポート ( 現時点 ) Silverlight 用のプロキシジェネレータもサポート Typed データアクセス可能 同期と非同期モデル Copyright 2007 Archway Inc Page 35

Web Service 側の設定 Web Services( 同期 ) [System.Web.Script.Services.ScriptService] public class ProcessData : System.Web.Services.WebService { [WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public String GetInfomation() { } } クライアントコード private ProcessData proxy = new ProcessData(); string result = proxy.getinfomation(); Copyright 2007 Archway Inc Page 36

Web Services( 非同期 ) Web サービスの非同期呼び出し _proxy.begingetinfomation(new AsyncCallback(OnWSCallComplete), null); 非同期のコールバック public void OnWSCallComplete(IAsyncResult asyncresult) { _xmldata = _proxy.endgetinfomation(asyncresult); } Copyright 2007 Archway Inc Page 37

XmlReader & XmlWriter Alpha バージョンにおける Core XML ライブラリの XML のリードとライト機能 LINQ to XML サポート予定 Reader の初期化 XmlReader xr = XmlReader.Create(new StringReader(RawResponse)); ノードの検索と値の読み込み xr.readtofollowing( ProcessData"); string playernodetext = xr.value; string playernameattribute = xr.getattribute("name"); Copyright 2007 Archway Inc Page 38

LINQ LINQ = Language INtegrated Query C#3.0,VB9.0,.. 開発言語のクエリー機能拡張オブジェクト リレーショナル DB XML をクエリーにより統合可能すべての IEnumerable<T> ベースのソースで動作可能 var query = from p in _data orderby p.workingset descending where p.workingset > 8*1024*1020 select new ProcessInfomation { Name = p.name, WorkingSet = p.workingset }; Copyright 2007 Archway Inc Page 39

LINQ C# VB9.0 その他の言語 Silverlight サポート.NET Language Integrated Query Silverlight サポート予定 LINQ to Objects LINQ to DataSets LINQ to SQL LINQ to Entities LINQ to XML <book> <title/> <author/> <year/> <price/> </book> オブジェクト リレーショナル XML Copyright 2007 Archway Inc Page 40

[WebMethod] WS + LINQ [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public String GetInfomation() { return (new XElement("ProcessInfo", from p in Process.GetProcesses() select new XElement("ProcessData", new XElement("Name", p.processname), new XElement("WorkingSet", p.workingset64)))).tostring(); } Copyright 2007 Archway Inc Page 41

その他 Copyright 2007 Archway Inc Page 42

その他 ファイル File Dialog IsolatedStorage MAC での開発 Copyright 2007 Archway Inc Page 43

File Dialog public void OnClicked(object o, EventArgs e) { } OpenFileDialog filedialog = new OpenFileDialog(); if (DialogResult.OK == filedialog.showdialog()) { Message.Text = "Opened" + filedialog.selectedfile.name; } Copyright 2007 Archway Inc Page 44

IsolatedStorage 分離ストレージは 仮想ファイルシステムを抽象化したもので 仮想ファイルシステムのルートは 物理的なファイルシステムにおいて ユーザごとに配置される隠しフォルダとなる安全なユーザ単位のファイルを扱うことができるスマートクライアントのシナリオでは必須 Cookieよりもはるかに多くのデータを処理できる Copyright 2007 Archway Inc Page 45

IsolatedStorage File への書き込み using (IsolatedStorageFile isostore = IsolatedStorageFile.GetUserStoreForApplication()) { using (IsolatedStorageFileStream isostream = new IsolatedStorageFileStream("ProcessInfo.xml", FileMode.Create, isostore)) { using (StreamWriter writer = new StreamWriter(isoStream)) { writer.write(_xmldata); } } } Copyright 2007 Archway Inc Page 46

Web サーバとブラウザ MAC での開発 サーバ :Apachその他あらゆるサーバブラウザ :Firefox Safari( インテルMACのみ ) Copyright 2007 Archway Inc Page 47

MAC での開発 ( デバック ) MAC で Silverlight code のデバッキングが可能 MAC にプロキシクライアントのインストールが必要 プロキシとセットアップ手順 C: Program Files Microsoft Visual Studio 9.0 Silverlight MacIntel プロキシはブラウザアクティベーションの前に実行されている必要あり Copyright 2007 Archway Inc Page 48

DEMO Copyright 2007 Archway Inc Page 49

まとめ SilverLight とは開発スタイル Coding Anywhere.NET との連携 ASP.NET との連携ネットワーク XML LINQ その他ファイル MAC での開発 Copyright 2007 Archway Inc Page 50

Enjoy Silverlight Copyright 2007 Archway Inc Page 51

ご静聴 ありがとう ございました Copyright 2007 Archway Inc Page 52

ページナビゲーション HtmlPage.Navigate("http://www.archway.co.jp"); String server = HtmlPage.DocumentUri.Host; Copyright 2007 Archway Inc Page 53

http://silverlight.net/ リソース http://msdn2.microsoft.com/en us/library/bb428859.aspx Copyright 2007 Archway Inc Page 54