SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
僕がやった
XAML戦略!森 博之 | Microsoft MVP for Visual C#
極東IT-Engineers 代表 | RIAアーキテクチャ研究会
自己紹介
 森 博之(もり ひろゆき)
 MS開発技術を専門としたフリーランスエンジニア
 Microsoft MVP for Visual C#
 極東IT-Engineers 代表
 ブログ:もり ひろゆきの日々是勉強
 http://moriblog.kit-eng.com
 Twitter
 Windows8対応[基本+実用]
Windowsストアアプリ開発入門 好評発売中!
Agenda
 戦略1:XAMLことはじめ
 戦略2:データバインディング|アニメーション
 戦略3:Model-View-ViewModel
戦略1:
XAMLことはじめ
XAMLはXMLかぁ…。
私とXAML
 XAMLとの出会い
 WPF/E(Windows Presentation Foundation / Everywhere)
 現在→WPF/Windows Phone(Silverlight)/Windowsストアアプリ
 XAMLの説明を読んだ第一印象
 XMLかぁ・・・設定ファイルみたいなのはやだなぁ・・・。
 宣言型マークアップ言語
 そんなに浸透するのかなぁ?
 アプリを作成するためにXMLとC#を行き来して・・・
 結局多くのアプリ開発はデザイナーとコードを行き来する
XAML以前
 XMLを学ぶ。
 XAMLの構文を学ぶのに初歩的なXMLの構文の知識が役立った
 情報ソース:
 書籍(必修XML/加山恵美/技術評論社)
 ISBN:978-4-7741-3031-6
XAMLとは
 eXtensible Application Markup Language
 XMLベースの宣言型マークアップ言語
→XMLの規約が適用されている
 必要がない場合は変数宣言を行わなくともよい
 オブジェクトのインスタンス化スクリプト
<Button Content=“Click” />
[C#]var btn = new Button() { Content = “Click” };
[VB]Dim btn = New Button With { .Content = “Click” }
XMLの規約を踏襲しているので・・・
 利用されている文字コードはUTF-8
 XML Namespaceによってアセンブリをマッピング!
 WPF/Windows Phone(Silverlight)/Windowsストアアプリで方言がある!
URI形式:xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
WinStoreApp:xmlns:local="using:_01_WindowsStoreAppXaml"
WPF: xmlns:usercontrol="clr-namespace:Wpf.Lib;assembly=WpfControlLibrary1"
WP(SL):xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
コンテンツプロパティ属性
 コンテンツプロパティ属性
 クラスにContentProperty属性を付与
 XAMLでプロパティ指定のないコンテンツの格納先プロパティを定義
[ContentProperty("Title")]
public class SampleButton : Button
{
public string Title { get; set; }
}
コレクション構文
 .NETでリストなどのコレクションに要素を追加するような場合
 AddメソッドやAddRangeなどを利用する。
 コレクション初期化子などを利用する。
 XAMLではIListインターフェースを継承する(つまり、Addメソッドを持つ)オ
ブジェクトにはコンテンツ領域に複数のオブジェクトを指定できる
<StackPanel>
<Button FontSize="40">ボタン1</Button>
<Button FontSize="40">ボタン2</Button>
<Button FontSize="40">ボタン3</Button>
</StackPanel>
パネル
 UI要素は1つで完結することはあまりない!
 複数のUI要素を利用する場合、どのように配置するかを指定する必要がある
 XAMLでレイアウトを指定→パネルコントロール!
 Panelの数はWPFがダントツ!
Windows Store WPF Windows Phone(Silverlight)
Grid Grid Grid
StackPanel StackPanel StackPanel
Canvas Canvas Canvas
DockPanel
WrapPanel
UniformGrid
戦略2:
データバインディング|アニメーション
XAML系フレームワークの目玉機能!
XAML系フレームワークにおける
データバインディングとは
データバインディングとは
2つのデータポイントの同期を保つための技術
エッセンシャルWPFより
同期=常に同じ値となるように保つ
⇒主にFrameworkElementクラスとBindingクラスで実現
基本的なBindingのイメージ
 BindingTarget (バインディングターゲット)
 FrameworkElementの派生クラス
 BindingSource (バインディングソース)
 任意オブジェクト
BindingTarget BindingSourceBinding
依存関係プロパティ
 プロパティ値の変化を検知・通知するためのアプリケーション内のインフラ
 DependencyObjectクラス・DependencyPropertyクラスによって実現
 つまり、言語仕様ではなくクラスライブラリにより実現されている
 実装例で確認してみよう
依存関係プロパティの実装例
public class MyText : DependencyObject
{
public static readonly DependencyProeprty TextProperty =
DependencyProperty.Register(“Text”, typeof(string),
typeof(MyText));
public string Text
{
get { return (string) this.GetValue(TextProperty); }
set { this.SetValue(TextProperty, value); }
}
}
<MyText Text=“テキスト” />
値の通知方式
 UIデータ変化の通知を必要とするXAML系の機能
 アニメーション
 データバインディング
 これらの通知にはイベントの仕組みが用いられている
 INotifyPropertyChanged
 INotifyCollectionChanged
プロパティ変化の通知
 INotifyPropertyChanged
public class Person : INotifyPropertyChanged {
public event PropertyChangedEventHandler PropertyChanged;
private string name;
public string PersonName {
get { return name; }
set {
name = value;
OnPropertyChanged("PersonName");
}
}
protected void OnPropertyChanged(string propertyName) {
if (PropertyChanged != null) {
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
基本的なBindingのイメージ
 BindingTarget (バインディングターゲット)
 FrameworkElementの派生クラス
 上記オブジェクトの依存関係プロパティ
 BindingSource (バインディングソース)
 任意オブジェクト
BindingTarget BindingSourceBinding
マークアップ拡張
 属性構文で一部のオブジェクトを指定できるようにするための仕組み
<TextBlock>
<TextBlock.Text>
<Binding ElementName=“MyTextBox” Path=“Text” />
</TextBlock.Text>
</TextBlock>
<TextBlock Text=“{Binding ElementName=MyTextBox,Path=Text}” />
マークアップ拡張の作成
<TextBlock Text=“{demo:Hello}” />
using System;
using System.Windows.Markup;
namespace BindingDemo
{
public class HelloExtension : MarkupExtension
{
public override object ProvideValue(IServiceProvider serviceProvider)
{
return "Hello";
}
}
}
今回は仕組みを理解してもらうために作
成方法を説明しましたが、マークアップ
拡張の自作は可読性を落とす原因となり
えるため注意が必要です。
だいたいの場合、データバインディング
で解決できるはずですので、まずはデー
タバインディングで解決できないか検討
しましょう。
XAMLで言うアニメーション
 タイムスライスによるアニメーション
 UIに紐づくプロパティ値を時系列に値変化を与えることで実現している。
 つまり、UI要素のどのプロパティにどのような値を適用するのかということが
XAML系アニメーションでは重要となる
XAML系アニメーション
 タイムスライスによるアニメーション
 プロパティ値を時系列で変化させることで実現している
 具体的には・・・
 プロパティ値を変化させる
⇒Animationクラス
 Animationの開始するきっかけの指定
⇒コード、トリガー、VisualStateManager
Animationクラス
 Animationクラスではプロパティに設定する設定値を発生させる
⇒最終的には対象となるプロパティに設定する値となる訳だから対象プロパ
ティに併せてAnimationオブジェクトを選択する
Double⇒ DoubleAnimation
Color ⇒ ColorAnimation
Point ⇒ PointAnimation
(WPFの場合はこの他にも豊富なAnimationクラスが用意されている)
Animationクラスのプロパティ
 System.Windows.Media.Animation名前空間
プロパティ 意味、役割
From 開始値
To 終了値
By From値またはプロパティの設定値に指定値を加算し終了値にする
BeginTime,Duration 開始時間、アニメーション時間
RepeatBehavior リピート回数
Animation対象の設定
 Storyboardを利用
 Storyboard
 直訳すると絵コンテ
 XAML系ではAnimationオブジェクトを複数内包するChildrenプロパティを持つ
 Animationの値設定はStoryboardへ添付プロパティで行う
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="MyTextBox"
Storyboard.TargetProperty=“FontSize”
From="1.0" To="0.0" Duration="0:0:1" />
</Storyboard>
参考)~AnimationUsingKeyFrame
 時系列でアニメーションの値変化を制御したい場合などに利用できる
 DurationやBegin/Endの代わりにKeyFrameオブジェクトを指定する
<ColorAnimationUsingKeyFrames.KeyFrames>
<LinearColorKeyFrame KeyTime="0:0:0.25" Value="Red" />
<LinearColorKeyFrame KeyTime="0:0:0.5" Value="Blue" />
<LinearColorKeyFrame KeyTime="0:0:0.75" Value="Yellow" />
<LinearColorKeyFrame KeyTime="0:0:1" Value="Green" />
</ColorAnimationUsingKeyFrames.KeyFrames>
実際のレイアウトには・・・
 PanelコントロールにはUI要素のコレクションを
保持し、内包するUI要素のレイアウトを管理する
という機能を持つ
 実際のレイアウトの配置には「スロットモデル」と
呼ばれる仕組みが用いられている
 UI要素の階層内で測定・配置の2段階でサイズ調
整を行う
 UI要素内でレイアウトに連動するプロパティの変
化を検知すると変化した値に応じてレイアウト調
整が動作する
1.Measure
2.Arrange
1.Measure
2.Arrange
Resize!
Grid
StackPanel
TextBlock
TextBox
Button
TextBlock
参考)Windowsストアアプリでは・・・。
 Windowsストアアプリで利用できるアニメーションの追加機能
 アニメーション実装済コントロール
 あらかじめコントロールにアニメーションが組み込まれている。
 切り替え効果
 コントロールの子要素の追加・削除などコントロールの挙動に合わせたアニメーション定
義を行う仕組み
 テーマアニメーション
 切替効果より詳細な定義が可能。
 一般的によく利用されるようなアニメーションが定義されている。
戦略3:
Model-View-ViewModel
Model-View-ViewModel
 XAML系フレームワークを利用しているとMVVMというキーワードを耳にす
るようになる。
 そういえば本日のセッションにも・・・・
 少し大きなアプリケーションをプログラミングするとやはりプログラムの依存
性の高さによってコードの保守性を損ねたりする。
 高凝縮
 疎結合
→独立性の高いシンプルなモジュールで構成するほうが可読性が高くなる
 n層のアプリを作成することもこういった問題へのアプローチの1つ。
Model-View-Controller
 WebやClientでメジャーな分離パターン
 本質的にはモデルとなるビジネスロジックからプレゼンテーションを分離を
行うことで関心事の分離を行うパターン
 XAML系のフレームワークでは外観をXAMLで作成することができる
→コントロールへの値の適用はバインディングにより実現が可能
→それ以外にもビヘイビアやトリガー、コマンドなどを利用することでコードビハ
インドにあるコードもバインディングオブジェクトに格納することが可能となる
→ViewModel
MVVMを取り入れるには
 基本的にはデータバインディングをベースにしたパターン
 インフラなしではやはり少し厳しい・・・。
 著名なフレームワーク
 Livet
 公開場所: http://ugaya40.net/livet
 WPF用フレームワーク
 MVVM Light Toolkit
 公開場所: https://mvvmlight.codeplex.com/
 Windowsストアアプリ/WPF/SilverlightなどXAML系フレームワークで利用できる
まとめ
 XAMLによる表現力の向上は無視できない!
 習得のハードルはそれほど高くない!
 情報はかなりそろってきている
 データバインディング|アニメーション
 紹介しきれなかった有用な機能がまだまだあります!
 難しいようですが、こちらも情報は結構あります!
 Blendなどを組み合わせるとより簡単に!
 Model-View-ViewModel
 XAMLでまともに開発するとなると、押さえる必要がある
Thank you!ご清聴ありがとうございました!

Más contenido relacionado

La actualidad más candente

Movable Type Meetup JSON - MTDDC Meetup TOKYO 2014
Movable Type Meetup JSON - MTDDC Meetup TOKYO 2014Movable Type Meetup JSON - MTDDC Meetup TOKYO 2014
Movable Type Meetup JSON - MTDDC Meetup TOKYO 2014bitpart
 
Data API ことはじめ
Data API ことはじめData API ことはじめ
Data API ことはじめYuji Takayama
 
Webアプリ開発のトレンドとUIライブラリ開発事情(仙台Geek★Night #1)
Webアプリ開発のトレンドとUIライブラリ開発事情(仙台Geek★Night #1)Webアプリ開発のトレンドとUIライブラリ開発事情(仙台Geek★Night #1)
Webアプリ開発のトレンドとUIライブラリ開発事情(仙台Geek★Night #1)masakazusegawa
 
20140416 Movable Type Seminar
20140416 Movable Type Seminar20140416 Movable Type Seminar
20140416 Movable Type SeminarSix Apart
 
プラグイン作者脳になろう ~実案件で学ぶプラグイン開発フロー~
プラグイン作者脳になろう ~実案件で学ぶプラグイン開発フロー~プラグイン作者脳になろう ~実案件で学ぶプラグイン開発フロー~
プラグイン作者脳になろう ~実案件で学ぶプラグイン開発フロー~Takeuchi Yuichi
 
Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界Yuji Takayama
 
MTAppjQueryでマニュアルいらずの管理画面を
MTAppjQueryでマニュアルいらずの管理画面をMTAppjQueryでマニュアルいらずの管理画面を
MTAppjQueryでマニュアルいらずの管理画面をbitpart
 
Windows 8時代のアプリ開発
Windows 8時代のアプリ開発Windows 8時代のアプリ開発
Windows 8時代のアプリ開発信之 岩永
 
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発Daizen Ikehara
 
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発Akira Inoue
 
20140228 Movable Type Seminar
20140228 Movable Type Seminar20140228 Movable Type Seminar
20140228 Movable Type SeminarSix Apart
 
20140120 Movable Type Seminar
20140120 Movable Type Seminar20140120 Movable Type Seminar
20140120 Movable Type SeminarSix Apart
 
ワイヤーフレームを高速にXDらしく作る
ワイヤーフレームを高速にXDらしく作るワイヤーフレームを高速にXDらしく作る
ワイヤーフレームを高速にXDらしく作るRisa Yuguchi
 

La actualidad más candente (14)

概説 Data API v3
概説 Data API v3概説 Data API v3
概説 Data API v3
 
Movable Type Meetup JSON - MTDDC Meetup TOKYO 2014
Movable Type Meetup JSON - MTDDC Meetup TOKYO 2014Movable Type Meetup JSON - MTDDC Meetup TOKYO 2014
Movable Type Meetup JSON - MTDDC Meetup TOKYO 2014
 
Data API ことはじめ
Data API ことはじめData API ことはじめ
Data API ことはじめ
 
Webアプリ開発のトレンドとUIライブラリ開発事情(仙台Geek★Night #1)
Webアプリ開発のトレンドとUIライブラリ開発事情(仙台Geek★Night #1)Webアプリ開発のトレンドとUIライブラリ開発事情(仙台Geek★Night #1)
Webアプリ開発のトレンドとUIライブラリ開発事情(仙台Geek★Night #1)
 
20140416 Movable Type Seminar
20140416 Movable Type Seminar20140416 Movable Type Seminar
20140416 Movable Type Seminar
 
プラグイン作者脳になろう ~実案件で学ぶプラグイン開発フロー~
プラグイン作者脳になろう ~実案件で学ぶプラグイン開発フロー~プラグイン作者脳になろう ~実案件で学ぶプラグイン開発フロー~
プラグイン作者脳になろう ~実案件で学ぶプラグイン開発フロー~
 
Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界
 
MTAppjQueryでマニュアルいらずの管理画面を
MTAppjQueryでマニュアルいらずの管理画面をMTAppjQueryでマニュアルいらずの管理画面を
MTAppjQueryでマニュアルいらずの管理画面を
 
Windows 8時代のアプリ開発
Windows 8時代のアプリ開発Windows 8時代のアプリ開発
Windows 8時代のアプリ開発
 
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
 
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
 
20140228 Movable Type Seminar
20140228 Movable Type Seminar20140228 Movable Type Seminar
20140228 Movable Type Seminar
 
20140120 Movable Type Seminar
20140120 Movable Type Seminar20140120 Movable Type Seminar
20140120 Movable Type Seminar
 
ワイヤーフレームを高速にXDらしく作る
ワイヤーフレームを高速にXDらしく作るワイヤーフレームを高速にXDらしく作る
ワイヤーフレームを高速にXDらしく作る
 

Destacado

Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?Yuya Yamaki
 
Msを16倍出し抜くwpf開発1回目
Msを16倍出し抜くwpf開発1回目Msを16倍出し抜くwpf開発1回目
Msを16倍出し抜くwpf開発1回目cct-inc
 
WPF開発での陥りやすい罠
WPF開発での陥りやすい罠WPF開発での陥りやすい罠
WPF開発での陥りやすい罠Sho Okada
 
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Yuya Yamaki
 
コードレビュー用資料
コードレビュー用資料コードレビュー用資料
コードレビュー用資料Ayumu Itou
 
難しいよね、コードレビュー
難しいよね、コードレビュー難しいよね、コードレビュー
難しいよね、コードレビューShinichi Takahashi
 
2013 11-09 デスクトップ・アプリの価値を高めるモダン化
2013 11-09 デスクトップ・アプリの価値を高めるモダン化2013 11-09 デスクトップ・アプリの価値を高めるモダン化
2013 11-09 デスクトップ・アプリの価値を高めるモダン化Hiroyuki Mori
 
縁取りでアプリの文字を見やすくしよう
縁取りでアプリの文字を見やすくしよう縁取りでアプリの文字を見やすくしよう
縁取りでアプリの文字を見やすくしよう株式会社グラフィシア
 
今更始める Win32 + DirectWrite #pronamaclrhsapporocpp
今更始める Win32 + DirectWrite #pronamaclrhsapporocpp今更始める Win32 + DirectWrite #pronamaclrhsapporocpp
今更始める Win32 + DirectWrite #pronamaclrhsapporocpphiyohiyo
 
〜 デザイン脳×プログラミング脳 〜 デザイナーとプログラマーの72時間戦争
〜 デザイン脳×プログラミング脳 〜 デザイナーとプログラマーの72時間戦争〜 デザイン脳×プログラミング脳 〜 デザイナーとプログラマーの72時間戦争
〜 デザイン脳×プログラミング脳 〜 デザイナーとプログラマーの72時間戦争Mignon Style
 
メトロスタイルってなに?
メトロスタイルってなに?メトロスタイルってなに?
メトロスタイルってなに?ShinichiAoyagi
 
C#/WPFで作るデスクトップマスコット入門
C#/WPFで作るデスクトップマスコット入門C#/WPFで作るデスクトップマスコット入門
C#/WPFで作るデスクトップマスコット入門Fujikido
 
Prism.Formsについて
Prism.FormsについてPrism.Formsについて
Prism.Formsについて一希 大田
 

Destacado (16)

Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
 
Msを16倍出し抜くwpf開発1回目
Msを16倍出し抜くwpf開発1回目Msを16倍出し抜くwpf開発1回目
Msを16倍出し抜くwpf開発1回目
 
WPF開発での陥りやすい罠
WPF開発での陥りやすい罠WPF開発での陥りやすい罠
WPF開発での陥りやすい罠
 
WPF4.5入門
WPF4.5入門WPF4.5入門
WPF4.5入門
 
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。
 
コードレビュー用資料
コードレビュー用資料コードレビュー用資料
コードレビュー用資料
 
Rx入門
Rx入門Rx入門
Rx入門
 
難しいよね、コードレビュー
難しいよね、コードレビュー難しいよね、コードレビュー
難しいよね、コードレビュー
 
2013 11-09 デスクトップ・アプリの価値を高めるモダン化
2013 11-09 デスクトップ・アプリの価値を高めるモダン化2013 11-09 デスクトップ・アプリの価値を高めるモダン化
2013 11-09 デスクトップ・アプリの価値を高めるモダン化
 
縁取りでアプリの文字を見やすくしよう
縁取りでアプリの文字を見やすくしよう縁取りでアプリの文字を見やすくしよう
縁取りでアプリの文字を見やすくしよう
 
今更始める Win32 + DirectWrite #pronamaclrhsapporocpp
今更始める Win32 + DirectWrite #pronamaclrhsapporocpp今更始める Win32 + DirectWrite #pronamaclrhsapporocpp
今更始める Win32 + DirectWrite #pronamaclrhsapporocpp
 
〜 デザイン脳×プログラミング脳 〜 デザイナーとプログラマーの72時間戦争
〜 デザイン脳×プログラミング脳 〜 デザイナーとプログラマーの72時間戦争〜 デザイン脳×プログラミング脳 〜 デザイナーとプログラマーの72時間戦争
〜 デザイン脳×プログラミング脳 〜 デザイナーとプログラマーの72時間戦争
 
メトロスタイルってなに?
メトロスタイルってなに?メトロスタイルってなに?
メトロスタイルってなに?
 
C#/WPFで作るデスクトップマスコット入門
C#/WPFで作るデスクトップマスコット入門C#/WPFで作るデスクトップマスコット入門
C#/WPFで作るデスクトップマスコット入門
 
Prism.Formsについて
Prism.FormsについてPrism.Formsについて
Prism.Formsについて
 
Bluetoothでgo!
Bluetoothでgo!Bluetoothでgo!
Bluetoothでgo!
 

Similar a 僕がやったXaml戦略

Movable TypeのWebアプリケーションフレームワークの基本
Movable TypeのWebアプリケーションフレームワークの基本Movable TypeのWebアプリケーションフレームワークの基本
Movable TypeのWebアプリケーションフレームワークの基本Hajime Fujimoto
 
VSUG Day 2010 Summer - Using ADO.NET Entity Framework
VSUG Day 2010 Summer - Using ADO.NET Entity FrameworkVSUG Day 2010 Summer - Using ADO.NET Entity Framework
VSUG Day 2010 Summer - Using ADO.NET Entity FrameworkAtsushi Fukui
 
HoloLensで外部定義ファイルを使う
HoloLensで外部定義ファイルを使うHoloLensで外部定義ファイルを使う
HoloLensで外部定義ファイルを使うTakahiro Miyaura
 
空のテンプレートから始めるWindows 8 ストアアプリ
空のテンプレートから始めるWindows 8 ストアアプリ空のテンプレートから始めるWindows 8 ストアアプリ
空のテンプレートから始めるWindows 8 ストアアプリAkira Hatsune
 
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメXamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメYoshito Tabuchi
 
//publish/ MSPTutorial 応用編
//publish/ MSPTutorial 応用編//publish/ MSPTutorial 応用編
//publish/ MSPTutorial 応用編Yuki Igarashi
 
Building React, Flutter and Blazor development and debugging environment with...
Building React, Flutter and Blazor development and debugging environment with...Building React, Flutter and Blazor development and debugging environment with...
Building React, Flutter and Blazor development and debugging environment with...Shotaro Suzuki
 
メトロスタイルアプリ開発 最初の一歩
メトロスタイルアプリ開発最初の一歩メトロスタイルアプリ開発最初の一歩
メトロスタイルアプリ開発 最初の一歩ShinichiAoyagi
 
[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見Yosuke HASEGAWA
 
Tech Fielders 2009/9/18 LT
Tech Fielders 2009/9/18 LTTech Fielders 2009/9/18 LT
Tech Fielders 2009/9/18 LTterurou
 
Web リソースを活用した簡単アプリケーション開発(Windows Phone)
Web リソースを活用した簡単アプリケーション開発(Windows Phone)Web リソースを活用した簡単アプリケーション開発(Windows Phone)
Web リソースを活用した簡単アプリケーション開発(Windows Phone)Akira Onishi
 
Einsteinvision - object detection を試してみよう
Einsteinvision - object detection を試してみようEinsteinvision - object detection を試してみよう
Einsteinvision - object detection を試してみようSalesforce Developers Japan
 
DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発Tomoharu ASAMI
 
2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料OCHI Shuji
 
Windows phone & windows 8で見えてくるメトロの世界
Windows phone & windows 8で見えてくるメトロの世界Windows phone & windows 8で見えてくるメトロの世界
Windows phone & windows 8で見えてくるメトロの世界Makoto Nishimura
 
TensorFlowをもう少し詳しく入門
TensorFlowをもう少し詳しく入門TensorFlowをもう少し詳しく入門
TensorFlowをもう少し詳しく入門tak9029
 
それではBehaviorでも使ってみましょうか。
それではBehaviorでも使ってみましょうか。それではBehaviorでも使ってみましょうか。
それではBehaviorでも使ってみましょうか。Hiroyuki Mori
 
『機械学習 (AI/ML) の基礎と Microsoft の AI | 2019/04/02 Global AI Nights Fukui
『機械学習 (AI/ML) の基礎と Microsoft の AI | 2019/04/02 Global AI Nights Fukui『機械学習 (AI/ML) の基礎と Microsoft の AI | 2019/04/02 Global AI Nights Fukui
『機械学習 (AI/ML) の基礎と Microsoft の AI | 2019/04/02 Global AI Nights FukuiFujio Kojima
 
I Log On Saa S
I Log On Saa SI Log On Saa S
I Log On Saa Stotty jp
 
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD PatternApplication Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD PatternAtsushi Kambara
 

Similar a 僕がやったXaml戦略 (20)

Movable TypeのWebアプリケーションフレームワークの基本
Movable TypeのWebアプリケーションフレームワークの基本Movable TypeのWebアプリケーションフレームワークの基本
Movable TypeのWebアプリケーションフレームワークの基本
 
VSUG Day 2010 Summer - Using ADO.NET Entity Framework
VSUG Day 2010 Summer - Using ADO.NET Entity FrameworkVSUG Day 2010 Summer - Using ADO.NET Entity Framework
VSUG Day 2010 Summer - Using ADO.NET Entity Framework
 
HoloLensで外部定義ファイルを使う
HoloLensで外部定義ファイルを使うHoloLensで外部定義ファイルを使う
HoloLensで外部定義ファイルを使う
 
空のテンプレートから始めるWindows 8 ストアアプリ
空のテンプレートから始めるWindows 8 ストアアプリ空のテンプレートから始めるWindows 8 ストアアプリ
空のテンプレートから始めるWindows 8 ストアアプリ
 
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメXamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
 
//publish/ MSPTutorial 応用編
//publish/ MSPTutorial 応用編//publish/ MSPTutorial 応用編
//publish/ MSPTutorial 応用編
 
Building React, Flutter and Blazor development and debugging environment with...
Building React, Flutter and Blazor development and debugging environment with...Building React, Flutter and Blazor development and debugging environment with...
Building React, Flutter and Blazor development and debugging environment with...
 
メトロスタイルアプリ開発 最初の一歩
メトロスタイルアプリ開発最初の一歩メトロスタイルアプリ開発最初の一歩
メトロスタイルアプリ開発 最初の一歩
 
[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見
 
Tech Fielders 2009/9/18 LT
Tech Fielders 2009/9/18 LTTech Fielders 2009/9/18 LT
Tech Fielders 2009/9/18 LT
 
Web リソースを活用した簡単アプリケーション開発(Windows Phone)
Web リソースを活用した簡単アプリケーション開発(Windows Phone)Web リソースを活用した簡単アプリケーション開発(Windows Phone)
Web リソースを活用した簡単アプリケーション開発(Windows Phone)
 
Einsteinvision - object detection を試してみよう
Einsteinvision - object detection を試してみようEinsteinvision - object detection を試してみよう
Einsteinvision - object detection を試してみよう
 
DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発
 
2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料
 
Windows phone & windows 8で見えてくるメトロの世界
Windows phone & windows 8で見えてくるメトロの世界Windows phone & windows 8で見えてくるメトロの世界
Windows phone & windows 8で見えてくるメトロの世界
 
TensorFlowをもう少し詳しく入門
TensorFlowをもう少し詳しく入門TensorFlowをもう少し詳しく入門
TensorFlowをもう少し詳しく入門
 
それではBehaviorでも使ってみましょうか。
それではBehaviorでも使ってみましょうか。それではBehaviorでも使ってみましょうか。
それではBehaviorでも使ってみましょうか。
 
『機械学習 (AI/ML) の基礎と Microsoft の AI | 2019/04/02 Global AI Nights Fukui
『機械学習 (AI/ML) の基礎と Microsoft の AI | 2019/04/02 Global AI Nights Fukui『機械学習 (AI/ML) の基礎と Microsoft の AI | 2019/04/02 Global AI Nights Fukui
『機械学習 (AI/ML) の基礎と Microsoft の AI | 2019/04/02 Global AI Nights Fukui
 
I Log On Saa S
I Log On Saa SI Log On Saa S
I Log On Saa S
 
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD PatternApplication Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD Pattern
 

Más de Hiroyuki Mori

Visual Studio 2022 30分一本勝負! at BuriKaigi2023
Visual Studio 2022 30分一本勝負! at BuriKaigi2023Visual Studio 2022 30分一本勝負! at BuriKaigi2023
Visual Studio 2022 30分一本勝負! at BuriKaigi2023Hiroyuki Mori
 
最近Preview公開されたAzure テストサービスを試してみた
最近Preview公開されたAzure テストサービスを試してみた最近Preview公開されたAzure テストサービスを試してみた
最近Preview公開されたAzure テストサービスを試してみたHiroyuki Mori
 
Azure Load Testingを試してみた
Azure Load Testingを試してみたAzure Load Testingを試してみた
Azure Load Testingを試してみたHiroyuki Mori
 
Visual Studio 2019 Updates Pickup!
Visual Studio 2019 Updates Pickup!Visual Studio 2019 Updates Pickup!
Visual Studio 2019 Updates Pickup!Hiroyuki Mori
 
2021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi2021
2021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi20212021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi2021
2021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi2021Hiroyuki Mori
 
Visual Studio 2019 新機能を時間のかぎりできるだけ!
Visual Studio 2019 新機能を時間のかぎりできるだけ!Visual Studio 2019 新機能を時間のかぎりできるだけ!
Visual Studio 2019 新機能を時間のかぎりできるだけ!Hiroyuki Mori
 
開発者のためのUIデザイン入門
開発者のためのUIデザイン入門開発者のためのUIデザイン入門
開発者のためのUIデザイン入門Hiroyuki Mori
 
Uno Platform か Blazor
Uno Platform か BlazorUno Platform か Blazor
Uno Platform か BlazorHiroyuki Mori
 
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019Hiroyuki Mori
 
.NET開発者は、なぜクロスプラットフォームに取り組むべきか
.NET開発者は、なぜクロスプラットフォームに取り組むべきか.NET開発者は、なぜクロスプラットフォームに取り組むべきか
.NET開発者は、なぜクロスプラットフォームに取り組むべきかHiroyuki Mori
 
Windows phone関係のなにか。
Windows phone関係のなにか。Windows phone関係のなにか。
Windows phone関係のなにか。Hiroyuki Mori
 
2014 07-19 はじめてのクラウド
2014 07-19 はじめてのクラウド2014 07-19 はじめてのクラウド
2014 07-19 はじめてのクラウドHiroyuki Mori
 
クライアント技術から見たBuild2014 Wrap-up
クライアント技術から見たBuild2014 Wrap-upクライアント技術から見たBuild2014 Wrap-up
クライアント技術から見たBuild2014 Wrap-upHiroyuki Mori
 
Windowストアアプリ コントラクトとライフサイクル
Windowストアアプリ コントラクトとライフサイクルWindowストアアプリ コントラクトとライフサイクル
Windowストアアプリ コントラクトとライフサイクルHiroyuki Mori
 

Más de Hiroyuki Mori (14)

Visual Studio 2022 30分一本勝負! at BuriKaigi2023
Visual Studio 2022 30分一本勝負! at BuriKaigi2023Visual Studio 2022 30分一本勝負! at BuriKaigi2023
Visual Studio 2022 30分一本勝負! at BuriKaigi2023
 
最近Preview公開されたAzure テストサービスを試してみた
最近Preview公開されたAzure テストサービスを試してみた最近Preview公開されたAzure テストサービスを試してみた
最近Preview公開されたAzure テストサービスを試してみた
 
Azure Load Testingを試してみた
Azure Load Testingを試してみたAzure Load Testingを試してみた
Azure Load Testingを試してみた
 
Visual Studio 2019 Updates Pickup!
Visual Studio 2019 Updates Pickup!Visual Studio 2019 Updates Pickup!
Visual Studio 2019 Updates Pickup!
 
2021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi2021
2021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi20212021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi2021
2021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi2021
 
Visual Studio 2019 新機能を時間のかぎりできるだけ!
Visual Studio 2019 新機能を時間のかぎりできるだけ!Visual Studio 2019 新機能を時間のかぎりできるだけ!
Visual Studio 2019 新機能を時間のかぎりできるだけ!
 
開発者のためのUIデザイン入門
開発者のためのUIデザイン入門開発者のためのUIデザイン入門
開発者のためのUIデザイン入門
 
Uno Platform か Blazor
Uno Platform か BlazorUno Platform か Blazor
Uno Platform か Blazor
 
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
 
.NET開発者は、なぜクロスプラットフォームに取り組むべきか
.NET開発者は、なぜクロスプラットフォームに取り組むべきか.NET開発者は、なぜクロスプラットフォームに取り組むべきか
.NET開発者は、なぜクロスプラットフォームに取り組むべきか
 
Windows phone関係のなにか。
Windows phone関係のなにか。Windows phone関係のなにか。
Windows phone関係のなにか。
 
2014 07-19 はじめてのクラウド
2014 07-19 はじめてのクラウド2014 07-19 はじめてのクラウド
2014 07-19 はじめてのクラウド
 
クライアント技術から見たBuild2014 Wrap-up
クライアント技術から見たBuild2014 Wrap-upクライアント技術から見たBuild2014 Wrap-up
クライアント技術から見たBuild2014 Wrap-up
 
Windowストアアプリ コントラクトとライフサイクル
Windowストアアプリ コントラクトとライフサイクルWindowストアアプリ コントラクトとライフサイクル
Windowストアアプリ コントラクトとライフサイクル
 

僕がやったXaml戦略