SlideShare a Scribd company logo
20140322 mvvm crossforwindowsstoreapps-pdf
仕事
個人
http://tanaka733.net
http://tech.tanaka733.net
http://www.buildinsider.net/web/iis8
http://metrostyledev.net/
テーマ
次回
20140322 mvvm crossforwindowsstoreapps-pdf
20140322 mvvm crossforwindowsstoreapps-pdf
20140322 mvvm crossforwindowsstoreapps-pdf
XAML はBindingファーストな言語
XAMLといえば MVVM pattern
GUIアーキテクチャパターンの基礎からMVVMパターンへ
View ViewModel Model
参考資料 GUIアーキテクチャパターンの基礎から
MVVMパターンへ 40pより引用
状態変更イベントの発火
コマンドの記述
Simple な単機能アプリなら…
込み入ったアプリを作ると…
ViewModelの変更プロパティ、コマンド
ViewModelとModelの架け橋
MVVM Light Toolkit
Pattern & Practices Prism
MvvmCross
20140322 mvvm crossforwindowsstoreapps-pdf
iOS/Obj-C
Android Java
Windows Store/Phone C# etc
https://xamarin.com/
Xamarinもネイティブをたたくだけ
コードをどこまで共有化できるか
20140322 mvvm crossforwindowsstoreapps-pdf
20140322 mvvm crossforwindowsstoreapps-pdf
Portability
できるだけコードは共通化したい
Interface Driven Development
IoC による依存性注入
MVVM
Native UI
プラットフォームネイティブのUIを使おう
https://github.com/MvvmCross/MvvmCross/wiki/The-MvvmCross-Manifesto
PCL(Win Store)
View
(Android)
View
(iOS)
View
ViewModel Model
QuickCross
ReactiveUI
20140322 mvvm crossforwindowsstoreapps-pdf
20140322 mvvm crossforwindowsstoreapps-pdf
プロジェクトを作って起動するまで
実際の開発で使っている機能の紹介
画面遷移の仕組み
SQLiteなどプラグインの追加
プラットフォーム固有の機能の追加
Store Appのみの場合
Androidアプリも開発する場合
Xamarin が必要。
VSで開発する場合はBusinessEdition以上でVS拡張をインストール。
iOSアプリも開発する場合
Xamarinに加えてデザイナ、ビルドにMac OS が必要
PCLとストアプロジェクトを作成
NugetでMvvmCrossを検索
20140322 mvvm crossforwindowsstoreapps-pdf
Appクラス
ViewModel
IoCによるServiceクラスの注入
using Cirrious.CrossCore.IoC;
using Cirrious.MvvmCross.ViewModels;
using RoomMetro.RegisterationService.Core.ViewModels;
namespace RoomMetro.RegisterationService.Core
{
public class App : MvxApplication
{
public override void Initialize()
{
CreatableTypes()
.EndingWith("Service")
.AsInterfaces()
.RegisterAsLazySingleton();
RegisterAppStart<MemberListViewModel>();
}
}
}
using Cirrious.CrossCore.IoC;
using Cirrious.MvvmCross.ViewModels;
using RoomMetro.RegisterationService.Core.ViewModels;
namespace RoomMetro.RegisterationService.Core
{
public class App : MvxApplication
{
public override void Initialize()
{
CreatableTypes()
.EndingWith("Service")
.AsInterfaces()
.RegisterAsLazySingleton();
RegisterAppStart<MemberListViewModel>();
}
}
}
using Cirrious.CrossCore.IoC;
using Cirrious.MvvmCross.ViewModels;
using RoomMetro.RegisterationService.Core.ViewModels;
namespace RoomMetro.RegisterationService.Core
{
public class App : MvxApplication
{
public override void Initialize()
{
CreatableTypes()
.EndingWith("Service")
.AsInterfaces()
.RegisterAsLazySingleton();
RegisterAppStart<MemberListViewModel>();
}
}
}
public class MemberListViewModel
: MvxViewModel
{
private readonly IDataService dataService;
public MemberListViewModel(IDataService dataService)
{
this.dataService = dataService;
}
private ObservableCollection<MemberViewModel> members = new ObservableCollection<MemberViewModel>();
public ObservableCollection<MemberViewModel> Members
{
get
{
return members;
}
set
{
if (members == value)
{
return;
}
members = value;
RaisePropertyChanged(() => Members);
}
} //続く
private MvxCommand loadCommand;
public MvxCommand LoadCommand
{
get
{
return loadCommand
?? (loadCommand = new MvxCommand(ExecuteLoadCommand));
}
}
private void ExecuteLoadCommand()
{
LoadAsync().FireAndForget();
}
}
https://gist.github.com/tanaka-takayoshi/8221618#file-mvxprop-snippet-xml
https://gist.github.com/tanaka-takayoshi/8505439#file-mvxcommand-snippet-xml
public MemberListViewModel(IDataService dataService)
{
this.dataService = dataService;
}
public override void Initialize()
{
CreatableTypes()
.EndingWith("Service")
.AsInterfaces()
.RegisterAsLazySingleton();
RegisterAppStart<MemberListViewModel>();
}
Setupクラス
App.xaml.cs の修正
Viewの定義
namespace RoomMetro.RegisterService.Store
{
public class Setup : MvxStoreSetup
{
public Setup(Frame rootFrame) : base(rootFrame) {}
protected override IMvxApplication CreateApp()
{
return new RegisterationService.Core.App();
}
protected override IMvxTrace CreateDebugTrace()
{
return new DebugTrace();
}
}
}
//前略
if (rootFrame.Content == null)
{
var setup = new Setup(rootFrame);
setup.Initialize();
var start = Mvx.Resolve<IMvxAppStart>();
start.Start();
}
//後略
最低限CreateAppメソッド
それ以外は命名規約やフォルダ配置規約
https://github.com/MvvmCross/MvvmCross/wiki/Customising-using-
App-and-Setup
通常のStore App
MvvmCrossでは…
単純には…
パラメーターを渡すときは…
遷移先のViewModelでは次のようにして受け取る
ShowViewModel<MemberViewModel>();
ShowViewModel<MemberDetialViewModel>(new MemberDetailParameters {Id = 1});
public class MemberDetialViewModel : MvxViewModel
{
public void Init(MemberDetailParameters param)
{
var id = param.Id;
//idを使って詳細情報を取ってくるなど
}
}
https://github.com/MvvmCross/MvvmCross/wiki/ViewMo
del--to-ViewModel-navigation
SQLite がおすすめ
https://connect.microsoft.com/SQLServer/feedback/details/776328/por
t-sql-compact-to-windows-rt
http://visualstudiogallery.msdn.microsoft.com/1d04f82f-2fe9-4727-
a2f9-a2db127ddc9a
Nugetから入れる
public class DataService : IDataService
{
private readonly ISQLiteConnection connection;
public DataService(ISQLiteConnectionFactory factory)
{
connection = factory.Create("roommetro.sql");
connection.CreateTable<Member>();
}
public Member Get(int id)
{
return connection.Get<Member>(id);
}
public void Insert(Member member)
{
connection.Insert(member);
} //以下略
たとえば、ViewModel でVisibilityを制御したい
たとえば、ViewModel でVisibilityを制御したい
Converterを使おう
MvxVisibilityというのがPluginで提供されている
MvxVisibilityというのがPluginで提供されている
が、自分でひと手間かける必要あり
private MvxVisibility attendedVisibility = MvxVisibility.Visible;
public MvxVisibility AttendedVisibility
{
get
{
return attendedVisibility;
}
set
{
if (attendedVisibility == value)
{
return;
}
attendedVisibility = value;
RaisePropertyChanged(() => AttendedVisibility);
}
}
Store 側にNativeConvertersを作る
namespace RoomMetro.RegisterService.Store.NativeConverters
{
public class VisibilityConverter :
MvxNativeValueConverter<MvxVisibilityValueConverter>
{
}
public class ColorConverter : MvxNativeValueConverter<MvxNativeColorValueConverter>
{
}
}
<Application
xmlns:nativeConverters="using:RoomMetro.RegisterService.Store.NativeConverters">
<Application.Resources>
<x:String x:Key="AppName">めとべや参加登録アプリ カッコカリ</x:String>
<nativeConverters:VisibilityConverter x:Key="Visibility" />
<nativeConverters:ColorConverter x:Key="NativeColor" />
</Application.Resources>
</Application>
<TextBlock Text="{Binding Name}"
Foreground="{Binding AttendedStatusColor, Converter={StaticResource NativeColor}}"
Visibility="{Binding AttendedVisibility, Converter={StaticResource Visibility}}" />
まずは豊富なPluginをチェック
すでに誰かが用意してくれているかもしれない
Modelに書きたい
IoC を使って分離しよう or Plugin を作ろう
Core (PCL)(Win Store)
View
(Android)
View
(iOS)
View
ViewModel Model
Core (PCL)(Win Store)
View
(Android)
View
(iOS)
View
ViewModel Model
IPiyo
(Win Store)
StorePiyo
(Android)
DroidPiyo
(iOS)
TouchPiyo
Plugin
Core (PCL)(Win Store)
View
(Android)
View
(iOS)
View
ViewModel Model
IPiyo
(Win Store)
StorePiyo
(Android)
DroidPiyo
(iOS)
TouchPiyo
namespace RoomMetro.RegisterationService.Core
{
public interface INotification
{
void Notify(string message);
}
}
public class StoreNotification : INotification
{
public void Notify(string message)
{
//タイル通知のコード省略
}
}
public class Setup : MvxStoreSetup
{
//これ以外のメソッド省略
protected override void InitializeLastChance()
{
base.InitializeLastChance();
Mvx.RegisterSingleton<INotification>(new StoreNotification());
}
}
MvvmCross はストアアプリ単体を作る視点においても高機能
は
今回の内容は割とまだ基本的な機能レベル
https://github.com/MvvmCross/MvvmCross
https://github.com/MvvmCross/MvvmCross/wiki
https://github.com/MvvmCross/NPlus1DaysOfMvvmCross
http://ytabuchi.hatenablog.com/
実際にMvvmCrossでアプリを開発した経験に基づく記事があります
(Xamarin Studioを使ったiPhone/Androidアプリ)
http://iseebi.hatenablog.com/
https://www.slideboom.com/presentations/591514/GUI%E3%82%A2
%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E
3%83%A3
20140322 mvvm crossforwindowsstoreapps-pdf
20140322 mvvm crossforwindowsstoreapps-pdf

More Related Content

What's hot

WPF MVVM Review
WPF MVVM ReviewWPF MVVM Review
WPF MVVM Review
Takayuki Kondou
 
塹壕よりLivetとMVVM
塹壕よりLivetとMVVM塹壕よりLivetとMVVM
塹壕よりLivetとMVVM
Hiroshi Maekawa
 
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 EastiOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
irgaly
 
ブラック企業から学ぶMVCモデル
ブラック企業から学ぶMVCモデルブラック企業から学ぶMVCモデル
ブラック企業から学ぶMVCモデル
Yuta Hiroto
 
GUI アプリケーションにおける MVC
GUI アプリケーションにおける MVCGUI アプリケーションにおける MVC
GUI アプリケーションにおける MVC
Yu Nobuoka
 
Xamarin で今日から始めるクロスプラットフォーム開発
Xamarin で今日から始めるクロスプラットフォーム開発Xamarin で今日から始めるクロスプラットフォーム開発
Xamarin で今日から始めるクロスプラットフォーム開発
友太 渡辺
 
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞いiOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
Ken Morishita
 
MVCもやもや話
MVCもやもや話MVCもやもや話
MVCもやもや話
Tetsuya Kaneuchi
 
新ジャンルのJavaScript圧縮難読化に挑戦 ~jojofy-js
新ジャンルのJavaScript圧縮難読化に挑戦 ~jojofy-js新ジャンルのJavaScript圧縮難読化に挑戦 ~jojofy-js
新ジャンルのJavaScript圧縮難読化に挑戦 ~jojofy-js
Kondo Hitoshi
 
T35 ASP.NET MVCを使ったTDD入門
T35 ASP.NET MVCを使ったTDD入門T35 ASP.NET MVCを使ったTDD入門
T35 ASP.NET MVCを使ったTDD入門
normalian
 
Xamarin+MVVMCross のあれこれ
Xamarin+MVVMCross のあれこれXamarin+MVVMCross のあれこれ
Xamarin+MVVMCross のあれこれ
ShinichiAoyagi
 
Model View Presenter for Android
Model View Presenter for AndroidModel View Presenter for Android
Model View Presenter for Android
shinnosuke kugimiya
 
serviceクラスをやめようサブクラスを使おう
serviceクラスをやめようサブクラスを使おうserviceクラスをやめようサブクラスを使おう
serviceクラスをやめようサブクラスを使おう
よしだ あつし
 
キャッチアップJavaScriptビルド - ビルドから見るJSの今/2016春
キャッチアップJavaScriptビルド -ビルドから見るJSの今/2016春キャッチアップJavaScriptビルド -ビルドから見るJSの今/2016春
キャッチアップJavaScriptビルド - ビルドから見るJSの今/2016春
Kondo Hitoshi
 
Prism + ReactiveProperty入門
Prism + ReactiveProperty入門Prism + ReactiveProperty入門
Prism + ReactiveProperty入門
一希 大田
 
Xamarin.Mac をこれからはじめるあなたへ
Xamarin.Mac をこれからはじめるあなたへXamarin.Mac をこれからはじめるあなたへ
Xamarin.Mac をこれからはじめるあなたへ
Tsubasa Hirano
 
Windows 8時代のアプリ開発
Windows 8時代のアプリ開発Windows 8時代のアプリ開発
Windows 8時代のアプリ開発
信之 岩永
 

What's hot (18)

WPF MVVM Review
WPF MVVM ReviewWPF MVVM Review
WPF MVVM Review
 
塹壕よりLivetとMVVM
塹壕よりLivetとMVVM塹壕よりLivetとMVVM
塹壕よりLivetとMVVM
 
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 EastiOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
 
MVVM入門
MVVM入門MVVM入門
MVVM入門
 
ブラック企業から学ぶMVCモデル
ブラック企業から学ぶMVCモデルブラック企業から学ぶMVCモデル
ブラック企業から学ぶMVCモデル
 
GUI アプリケーションにおける MVC
GUI アプリケーションにおける MVCGUI アプリケーションにおける MVC
GUI アプリケーションにおける MVC
 
Xamarin で今日から始めるクロスプラットフォーム開発
Xamarin で今日から始めるクロスプラットフォーム開発Xamarin で今日から始めるクロスプラットフォーム開発
Xamarin で今日から始めるクロスプラットフォーム開発
 
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞いiOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
 
MVCもやもや話
MVCもやもや話MVCもやもや話
MVCもやもや話
 
新ジャンルのJavaScript圧縮難読化に挑戦 ~jojofy-js
新ジャンルのJavaScript圧縮難読化に挑戦 ~jojofy-js新ジャンルのJavaScript圧縮難読化に挑戦 ~jojofy-js
新ジャンルのJavaScript圧縮難読化に挑戦 ~jojofy-js
 
T35 ASP.NET MVCを使ったTDD入門
T35 ASP.NET MVCを使ったTDD入門T35 ASP.NET MVCを使ったTDD入門
T35 ASP.NET MVCを使ったTDD入門
 
Xamarin+MVVMCross のあれこれ
Xamarin+MVVMCross のあれこれXamarin+MVVMCross のあれこれ
Xamarin+MVVMCross のあれこれ
 
Model View Presenter for Android
Model View Presenter for AndroidModel View Presenter for Android
Model View Presenter for Android
 
serviceクラスをやめようサブクラスを使おう
serviceクラスをやめようサブクラスを使おうserviceクラスをやめようサブクラスを使おう
serviceクラスをやめようサブクラスを使おう
 
キャッチアップJavaScriptビルド - ビルドから見るJSの今/2016春
キャッチアップJavaScriptビルド -ビルドから見るJSの今/2016春キャッチアップJavaScriptビルド -ビルドから見るJSの今/2016春
キャッチアップJavaScriptビルド - ビルドから見るJSの今/2016春
 
Prism + ReactiveProperty入門
Prism + ReactiveProperty入門Prism + ReactiveProperty入門
Prism + ReactiveProperty入門
 
Xamarin.Mac をこれからはじめるあなたへ
Xamarin.Mac をこれからはじめるあなたへXamarin.Mac をこれからはじめるあなたへ
Xamarin.Mac をこれからはじめるあなたへ
 
Windows 8時代のアプリ開発
Windows 8時代のアプリ開発Windows 8時代のアプリ開発
Windows 8時代のアプリ開発
 

Viewers also liked

20140419 xamarin zumo
20140419 xamarin zumo20140419 xamarin zumo
20140419 xamarin zumo
Takayoshi Tanaka
 
20140510 Twitter Authentication by WebAuthentictionBroker in Windows Phone 8....
20140510 Twitter Authentication by WebAuthentictionBroker in Windows Phone 8....20140510 Twitter Authentication by WebAuthentictionBroker in Windows Phone 8....
20140510 Twitter Authentication by WebAuthentictionBroker in Windows Phone 8....
Takayoshi Tanaka
 
120225 qp lt
120225 qp lt120225 qp lt
120225 qp lt
Takayoshi Tanaka
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
 
110216 jawsug lt by t_tanaka_wap
110216 jawsug lt by t_tanaka_wap110216 jawsug lt by t_tanaka_wap
110216 jawsug lt by t_tanaka_wap
Takayoshi Tanaka
 
110820 tech aid_lt_kinect_pub
110820 tech aid_lt_kinect_pub110820 tech aid_lt_kinect_pub
110820 tech aid_lt_kinect_pub
Takayoshi Tanaka
 
Augmented reality communication that provides a new experience value
Augmented reality communication that provides a new experience valueAugmented reality communication that provides a new experience value
Augmented reality communication that provides a new experience value
Etsuji Kameyama
 

Viewers also liked (8)

20140419 xamarin zumo
20140419 xamarin zumo20140419 xamarin zumo
20140419 xamarin zumo
 
20140510 Twitter Authentication by WebAuthentictionBroker in Windows Phone 8....
20140510 Twitter Authentication by WebAuthentictionBroker in Windows Phone 8....20140510 Twitter Authentication by WebAuthentictionBroker in Windows Phone 8....
20140510 Twitter Authentication by WebAuthentictionBroker in Windows Phone 8....
 
120225 qp lt
120225 qp lt120225 qp lt
120225 qp lt
 
120517 cf tour_london
120517 cf tour_london120517 cf tour_london
120517 cf tour_london
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
 
110216 jawsug lt by t_tanaka_wap
110216 jawsug lt by t_tanaka_wap110216 jawsug lt by t_tanaka_wap
110216 jawsug lt by t_tanaka_wap
 
110820 tech aid_lt_kinect_pub
110820 tech aid_lt_kinect_pub110820 tech aid_lt_kinect_pub
110820 tech aid_lt_kinect_pub
 
Augmented reality communication that provides a new experience value
Augmented reality communication that provides a new experience valueAugmented reality communication that provides a new experience value
Augmented reality communication that provides a new experience value
 

Similar to 20140322 mvvm crossforwindowsstoreapps-pdf

MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT appsMAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
Shotaro Suzuki
 
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよクライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
Seki Yousuke
 
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
Akira Inoue
 
ASP.NET MVC プログラミング入門の入門
ASP.NET MVC プログラミング入門の入門ASP.NET MVC プログラミング入門の入門
ASP.NET MVC プログラミング入門の入門
Masuda Tomoaki
 
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンいまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
Yuta Matsumura
 
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
Atsushi Kambara
 
Xamarin 概要 2017/01/15
Xamarin 概要 2017/01/15Xamarin 概要 2017/01/15
Xamarin 概要 2017/01/15
Yoshito Tabuchi
 
OthloEvent #9 Xamarinハンズオン
OthloEvent #9 XamarinハンズオンOthloEvent #9 Xamarinハンズオン
OthloEvent #9 Xamarinハンズオン
Hidetsugu Tamaki
 
DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発
Tomoharu ASAMI
 
マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後
Akira Inoue
 
Xamarinとmvvm crossとf#と
Xamarinとmvvm crossとf#とXamarinとmvvm crossとf#と
Xamarinとmvvm crossとf#と
Masahiko Miyasaka
 
Separate Model from Catalyst
Separate Model from CatalystSeparate Model from Catalyst
Separate Model from Catalyst
techmemo
 
090821 Ruby Sapporo Night Ruby Cocoa
090821 Ruby Sapporo Night Ruby Cocoa090821 Ruby Sapporo Night Ruby Cocoa
090821 Ruby Sapporo Night Ruby Cocoa
Tomoki Maeda
 
Mvc conf session_1_osada
Mvc conf session_1_osadaMvc conf session_1_osada
Mvc conf session_1_osada
Hiroshi Okunushi
 
KnockoutJSを使用したアプリケーションの構築例
KnockoutJSを使用したアプリケーションの構築例KnockoutJSを使用したアプリケーションの構築例
KnockoutJSを使用したアプリケーションの構築例
masakazusegawa
 
Xamarin.Forms アプリケーション 設計パターン
Xamarin.Forms アプリケーション 設計パターンXamarin.Forms アプリケーション 設計パターン
Xamarin.Forms アプリケーション 設計パターン
一希 大田
 
Universal Appとは? -デバイスに依存しないアプリケーション開発-
Universal Appとは? -デバイスに依存しないアプリケーション開発-Universal Appとは? -デバイスに依存しないアプリケーション開発-
Universal Appとは? -デバイスに依存しないアプリケーション開発-
Takaaki Suzuki
 

Similar to 20140322 mvvm crossforwindowsstoreapps-pdf (20)

MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT appsMAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
 
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよクライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
 
20100218
2010021820100218
20100218
 
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
 
ASP.NET MVC プログラミング入門の入門
ASP.NET MVC プログラミング入門の入門ASP.NET MVC プログラミング入門の入門
ASP.NET MVC プログラミング入門の入門
 
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンいまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
 
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
 
Xamarin 概要 2017/01/15
Xamarin 概要 2017/01/15Xamarin 概要 2017/01/15
Xamarin 概要 2017/01/15
 
OthloEvent #9 Xamarinハンズオン
OthloEvent #9 XamarinハンズオンOthloEvent #9 Xamarinハンズオン
OthloEvent #9 Xamarinハンズオン
 
DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発
 
SpringMVC
SpringMVCSpringMVC
SpringMVC
 
マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後
 
Xamarinとmvvm crossとf#と
Xamarinとmvvm crossとf#とXamarinとmvvm crossとf#と
Xamarinとmvvm crossとf#と
 
Separate Model from Catalyst
Separate Model from CatalystSeparate Model from Catalyst
Separate Model from Catalyst
 
090821 Ruby Sapporo Night Ruby Cocoa
090821 Ruby Sapporo Night Ruby Cocoa090821 Ruby Sapporo Night Ruby Cocoa
090821 Ruby Sapporo Night Ruby Cocoa
 
EMF勉強会
EMF勉強会EMF勉強会
EMF勉強会
 
Mvc conf session_1_osada
Mvc conf session_1_osadaMvc conf session_1_osada
Mvc conf session_1_osada
 
KnockoutJSを使用したアプリケーションの構築例
KnockoutJSを使用したアプリケーションの構築例KnockoutJSを使用したアプリケーションの構築例
KnockoutJSを使用したアプリケーションの構築例
 
Xamarin.Forms アプリケーション 設計パターン
Xamarin.Forms アプリケーション 設計パターンXamarin.Forms アプリケーション 設計パターン
Xamarin.Forms アプリケーション 設計パターン
 
Universal Appとは? -デバイスに依存しないアプリケーション開発-
Universal Appとは? -デバイスに依存しないアプリケーション開発-Universal Appとは? -デバイスに依存しないアプリケーション開発-
Universal Appとは? -デバイスに依存しないアプリケーション開発-
 

More from Takayoshi Tanaka

deep dive distributed tracing
deep dive distributed tracingdeep dive distributed tracing
deep dive distributed tracing
Takayoshi Tanaka
 
202202 open telemetry .net handson
202202 open telemetry .net handson202202 open telemetry .net handson
202202 open telemetry .net handson
Takayoshi Tanaka
 
202109-New_Relic-for-csharp-engineers
202109-New_Relic-for-csharp-engineers202109-New_Relic-for-csharp-engineers
202109-New_Relic-for-csharp-engineers
Takayoshi Tanaka
 
20210129 azure webapplogging
20210129 azure webapplogging20210129 azure webapplogging
20210129 azure webapplogging
Takayoshi Tanaka
 
20201127 .NET 5
20201127 .NET 520201127 .NET 5
20201127 .NET 5
Takayoshi Tanaka
 
Unity(再)入門
Unity(再)入門Unity(再)入門
Unity(再)入門
Takayoshi Tanaka
 
最近のQ#について
最近のQ#について最近のQ#について
最近のQ#について
Takayoshi Tanaka
 
SRENEXT 2020 [B5] New RelicのSREに学ぶ SREのためのNew Relic活用法
SRENEXT 2020 [B5] New RelicのSREに学ぶSREのためのNew Relic活用法SRENEXT 2020 [B5] New RelicのSREに学ぶSREのためのNew Relic活用法
SRENEXT 2020 [B5] New RelicのSREに学ぶ SREのためのNew Relic活用法
Takayoshi Tanaka
 
20191024 Get Start gRPC with ASP.NET
20191024 Get Start gRPC with ASP.NET20191024 Get Start gRPC with ASP.NET
20191024 Get Start gRPC with ASP.NET
Takayoshi Tanaka
 
New Relicで始める、.NET Applications on AWSのObservability
New Relicで始める、.NET Applications on AWSのObservabilityNew Relicで始める、.NET Applications on AWSのObservability
New Relicで始める、.NET Applications on AWSのObservability
Takayoshi Tanaka
 
C#エンジニアのためのdocker kubernetesハンズオン (再)
C#エンジニアのためのdocker kubernetesハンズオン (再)C#エンジニアのためのdocker kubernetesハンズオン (再)
C#エンジニアのためのdocker kubernetesハンズオン (再)
Takayoshi Tanaka
 
20190806 Q# Measurements
20190806 Q# Measurements20190806 Q# Measurements
20190806 Q# Measurements
Takayoshi Tanaka
 
C#エンジニアのためのdocker kubernetesハンズオン
C#エンジニアのためのdocker kubernetesハンズオンC#エンジニアのためのdocker kubernetesハンズオン
C#エンジニアのためのdocker kubernetesハンズオン
Takayoshi Tanaka
 
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
Takayoshi Tanaka
 
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能
Takayoshi Tanaka
 
.NET Core向けコンテナおよびデバッグ関連のVisual Studioの新機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studioの新機能.NET Core向けコンテナおよびデバッグ関連のVisual Studioの新機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studioの新機能
Takayoshi Tanaka
 
Try! Visual Studio 209 git feature
Try! Visual Studio 209 git featureTry! Visual Studio 209 git feature
Try! Visual Studio 209 git feature
Takayoshi Tanaka
 
Q#基礎 ver1.1
Q#基礎 ver1.1Q#基礎 ver1.1
Q#基礎 ver1.1
Takayoshi Tanaka
 
(過去バージョン) Q#基礎 ver1.0
(過去バージョン) Q#基礎 ver1.0(過去バージョン) Q#基礎 ver1.0
(過去バージョン) Q#基礎 ver1.0
Takayoshi Tanaka
 
ゼロから始めるQ#
ゼロから始めるQ#ゼロから始めるQ#
ゼロから始めるQ#
Takayoshi Tanaka
 

More from Takayoshi Tanaka (20)

deep dive distributed tracing
deep dive distributed tracingdeep dive distributed tracing
deep dive distributed tracing
 
202202 open telemetry .net handson
202202 open telemetry .net handson202202 open telemetry .net handson
202202 open telemetry .net handson
 
202109-New_Relic-for-csharp-engineers
202109-New_Relic-for-csharp-engineers202109-New_Relic-for-csharp-engineers
202109-New_Relic-for-csharp-engineers
 
20210129 azure webapplogging
20210129 azure webapplogging20210129 azure webapplogging
20210129 azure webapplogging
 
20201127 .NET 5
20201127 .NET 520201127 .NET 5
20201127 .NET 5
 
Unity(再)入門
Unity(再)入門Unity(再)入門
Unity(再)入門
 
最近のQ#について
最近のQ#について最近のQ#について
最近のQ#について
 
SRENEXT 2020 [B5] New RelicのSREに学ぶ SREのためのNew Relic活用法
SRENEXT 2020 [B5] New RelicのSREに学ぶSREのためのNew Relic活用法SRENEXT 2020 [B5] New RelicのSREに学ぶSREのためのNew Relic活用法
SRENEXT 2020 [B5] New RelicのSREに学ぶ SREのためのNew Relic活用法
 
20191024 Get Start gRPC with ASP.NET
20191024 Get Start gRPC with ASP.NET20191024 Get Start gRPC with ASP.NET
20191024 Get Start gRPC with ASP.NET
 
New Relicで始める、.NET Applications on AWSのObservability
New Relicで始める、.NET Applications on AWSのObservabilityNew Relicで始める、.NET Applications on AWSのObservability
New Relicで始める、.NET Applications on AWSのObservability
 
C#エンジニアのためのdocker kubernetesハンズオン (再)
C#エンジニアのためのdocker kubernetesハンズオン (再)C#エンジニアのためのdocker kubernetesハンズオン (再)
C#エンジニアのためのdocker kubernetesハンズオン (再)
 
20190806 Q# Measurements
20190806 Q# Measurements20190806 Q# Measurements
20190806 Q# Measurements
 
C#エンジニアのためのdocker kubernetesハンズオン
C#エンジニアのためのdocker kubernetesハンズオンC#エンジニアのためのdocker kubernetesハンズオン
C#エンジニアのためのdocker kubernetesハンズオン
 
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
 
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能
 
.NET Core向けコンテナおよびデバッグ関連のVisual Studioの新機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studioの新機能.NET Core向けコンテナおよびデバッグ関連のVisual Studioの新機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studioの新機能
 
Try! Visual Studio 209 git feature
Try! Visual Studio 209 git featureTry! Visual Studio 209 git feature
Try! Visual Studio 209 git feature
 
Q#基礎 ver1.1
Q#基礎 ver1.1Q#基礎 ver1.1
Q#基礎 ver1.1
 
(過去バージョン) Q#基礎 ver1.0
(過去バージョン) Q#基礎 ver1.0(過去バージョン) Q#基礎 ver1.0
(過去バージョン) Q#基礎 ver1.0
 
ゼロから始めるQ#
ゼロから始めるQ#ゼロから始めるQ#
ゼロから始めるQ#
 

Recently uploaded

【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
Sony - Neural Network Libraries
 
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
Toru Tamaki
 
Matsuo-Iwasawa Lab. Research unit Introduction
Matsuo-Iwasawa Lab. Research unit IntroductionMatsuo-Iwasawa Lab. Research unit Introduction
Matsuo-Iwasawa Lab. Research unit Introduction
Matsuo Lab
 
Matsuo-Iwasawa Lab. | Research unit Introduction
Matsuo-Iwasawa Lab. | Research unit IntroductionMatsuo-Iwasawa Lab. | Research unit Introduction
Matsuo-Iwasawa Lab. | Research unit Introduction
Matsuo Lab
 
Matsuo-Iwasawa lab. Research Unit Introduction
Matsuo-Iwasawa lab. Research Unit IntroductionMatsuo-Iwasawa lab. Research Unit Introduction
Matsuo-Iwasawa lab. Research Unit Introduction
Matsuo Lab
 
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
Toru Tamaki
 
Kyndryl Developer Services のご紹介 2024年7月
Kyndryl Developer Services のご紹介  2024年7月Kyndryl Developer Services のご紹介  2024年7月
Kyndryl Developer Services のご紹介 2024年7月
Takayuki Nakayama
 
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
chisatotakane
 
【JSAI2024】J-NER大規模言語モデルのための固有表現認識における拡張固有表現階層を考慮したベンチマークデータセット.pdf
【JSAI2024】J-NER大規模言語モデルのための固有表現認識における拡張固有表現階層を考慮したベンチマークデータセット.pdf【JSAI2024】J-NER大規模言語モデルのための固有表現認識における拡張固有表現階層を考慮したベンチマークデータセット.pdf
【JSAI2024】J-NER大規模言語モデルのための固有表現認識における拡張固有表現階層を考慮したベンチマークデータセット.pdf
ARISE analytics
 
Developer IO 2024 Odyssey SAMを応用したコンピュータビジョンの話
Developer IO 2024 Odyssey  SAMを応用したコンピュータビジョンの話Developer IO 2024 Odyssey  SAMを応用したコンピュータビジョンの話
Developer IO 2024 Odyssey SAMを応用したコンピュータビジョンの話
Shinichi Hirauchi
 
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログLoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
CRI Japan, Inc.
 
20240717_IoTLT_vol113_kitazaki_v1___.pdf
20240717_IoTLT_vol113_kitazaki_v1___.pdf20240717_IoTLT_vol113_kitazaki_v1___.pdf
20240717_IoTLT_vol113_kitazaki_v1___.pdf
Ayachika Kitazaki
 
Imitation learning for robotics 勉強会資料(20240701)
Imitation learning for robotics 勉強会資料(20240701)Imitation learning for robotics 勉強会資料(20240701)
Imitation learning for robotics 勉強会資料(20240701)
Natsutani Minoru
 
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ..."ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
たけおか しょうぞう
 
【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション
【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション
【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション
Sony - Neural Network Libraries
 

Recently uploaded (15)

【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
 
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
 
Matsuo-Iwasawa Lab. Research unit Introduction
Matsuo-Iwasawa Lab. Research unit IntroductionMatsuo-Iwasawa Lab. Research unit Introduction
Matsuo-Iwasawa Lab. Research unit Introduction
 
Matsuo-Iwasawa Lab. | Research unit Introduction
Matsuo-Iwasawa Lab. | Research unit IntroductionMatsuo-Iwasawa Lab. | Research unit Introduction
Matsuo-Iwasawa Lab. | Research unit Introduction
 
Matsuo-Iwasawa lab. Research Unit Introduction
Matsuo-Iwasawa lab. Research Unit IntroductionMatsuo-Iwasawa lab. Research Unit Introduction
Matsuo-Iwasawa lab. Research Unit Introduction
 
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
 
Kyndryl Developer Services のご紹介 2024年7月
Kyndryl Developer Services のご紹介  2024年7月Kyndryl Developer Services のご紹介  2024年7月
Kyndryl Developer Services のご紹介 2024年7月
 
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
 
【JSAI2024】J-NER大規模言語モデルのための固有表現認識における拡張固有表現階層を考慮したベンチマークデータセット.pdf
【JSAI2024】J-NER大規模言語モデルのための固有表現認識における拡張固有表現階層を考慮したベンチマークデータセット.pdf【JSAI2024】J-NER大規模言語モデルのための固有表現認識における拡張固有表現階層を考慮したベンチマークデータセット.pdf
【JSAI2024】J-NER大規模言語モデルのための固有表現認識における拡張固有表現階層を考慮したベンチマークデータセット.pdf
 
Developer IO 2024 Odyssey SAMを応用したコンピュータビジョンの話
Developer IO 2024 Odyssey  SAMを応用したコンピュータビジョンの話Developer IO 2024 Odyssey  SAMを応用したコンピュータビジョンの話
Developer IO 2024 Odyssey SAMを応用したコンピュータビジョンの話
 
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログLoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
 
20240717_IoTLT_vol113_kitazaki_v1___.pdf
20240717_IoTLT_vol113_kitazaki_v1___.pdf20240717_IoTLT_vol113_kitazaki_v1___.pdf
20240717_IoTLT_vol113_kitazaki_v1___.pdf
 
Imitation learning for robotics 勉強会資料(20240701)
Imitation learning for robotics 勉強会資料(20240701)Imitation learning for robotics 勉強会資料(20240701)
Imitation learning for robotics 勉強会資料(20240701)
 
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ..."ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
 
【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション
【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション
【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション
 

20140322 mvvm crossforwindowsstoreapps-pdf