Submit Search
Upload
Blue monkey architecture overview
•
Download as PPTX, PDF
•
1 like
•
1,571 views
A
Atsushi Nakamura
Follow
Blue monkey architecture overview
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 45
Download now
Recommended
Why prism for xamarin.forms
Why prism for xamarin.forms
Atsushi Nakamura
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
Yuta Matsumura
Xamarin の救世主 Unity !
Xamarin の救世主 Unity !
Tatsuji Kuroyanagi
Xamarinの歩き方
Xamarinの歩き方
Yoshito Tabuchi
20171202 Xamarinの歩き方
20171202 Xamarinの歩き方
Yoshito Tabuchi
C++からC#まで Visual Studio 縛り (で死ぬ実験)
C++からC#まで Visual Studio 縛り (で死ぬ実験)
Takashi Kawasaki
Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話
Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話
Takuya Kikuchi
Visual Studio + xamarin で始めるモバイル アプリ開発
Visual Studio + xamarin で始めるモバイル アプリ開発
インフラジスティックス・ジャパン株式会社
Recommended
Why prism for xamarin.forms
Why prism for xamarin.forms
Atsushi Nakamura
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
Yuta Matsumura
Xamarin の救世主 Unity !
Xamarin の救世主 Unity !
Tatsuji Kuroyanagi
Xamarinの歩き方
Xamarinの歩き方
Yoshito Tabuchi
20171202 Xamarinの歩き方
20171202 Xamarinの歩き方
Yoshito Tabuchi
C++からC#まで Visual Studio 縛り (で死ぬ実験)
C++からC#まで Visual Studio 縛り (で死ぬ実験)
Takashi Kawasaki
Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話
Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話
Takuya Kikuchi
Visual Studio + xamarin で始めるモバイル アプリ開発
Visual Studio + xamarin で始めるモバイル アプリ開発
インフラジスティックス・ジャパン株式会社
めとべや東京5_XAML
めとべや東京5_XAML
一希 大田
Xamarin バッドノウハウ大全
Xamarin バッドノウハウ大全
Yoshito Tabuchi
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
Yoshito Tabuchi
Xamarin から使う Azure
Xamarin から使う Azure
Yoshito Tabuchi
Realm Mobile Platform 概要
Realm Mobile Platform 概要
Yoshito Tabuchi
Xamarin概要と活用方法
Xamarin概要と活用方法
Yoshito Tabuchi
NET Standard と Xamarin
NET Standard と Xamarin
Yoshito Tabuchi
Xamarin概要と活用方法
Xamarin概要と活用方法
Yoshito Tabuchi
Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話
Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話
Daisuke Tsutsumi
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
Yoshito Tabuchi
私とXamarinと。
私とXamarinと。
Takkiiii
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
Yoshito Tabuchi
Xamarin.forms+azureで始めるモバイル開発
Xamarin.forms+azureで始めるモバイル開発
Tsukasa Kato
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
ShinichiAoyagi
Xamarin で今日から始めるクロスプラットフォーム開発
Xamarin で今日から始めるクロスプラットフォーム開発
友太 渡辺
モバイル向けクロスプラットフォーム開発ツール Xamarin の概要とその利点
モバイル向けクロスプラットフォーム開発ツール Xamarin の概要とその利点
Yoshito Tabuchi
Xamarin の概要と活用事例
Xamarin の概要と活用事例
Yoshito Tabuchi
わんくま名古屋 #38 (20160521) Xamarin入門
わんくま名古屋 #38 (20160521) Xamarin入門
Yasuhiko Yamamoto
Xamarin Overview
Xamarin Overview
Madoka Chiyoda
Xamarin で Prism を使いたい! ~「正式対応」 まで待てない人のための Prism 利用 Tips~
Xamarin で Prism を使いたい! ~「正式対応」 まで待てない人のための Prism 利用 Tips~
Tatsuji Kuroyanagi
製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~
製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~
Fixstars Corporation
MvvmCross 入門
MvvmCross 入門
jz5 MATSUE
More Related Content
What's hot
めとべや東京5_XAML
めとべや東京5_XAML
一希 大田
Xamarin バッドノウハウ大全
Xamarin バッドノウハウ大全
Yoshito Tabuchi
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
Yoshito Tabuchi
Xamarin から使う Azure
Xamarin から使う Azure
Yoshito Tabuchi
Realm Mobile Platform 概要
Realm Mobile Platform 概要
Yoshito Tabuchi
Xamarin概要と活用方法
Xamarin概要と活用方法
Yoshito Tabuchi
NET Standard と Xamarin
NET Standard と Xamarin
Yoshito Tabuchi
Xamarin概要と活用方法
Xamarin概要と活用方法
Yoshito Tabuchi
Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話
Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話
Daisuke Tsutsumi
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
Yoshito Tabuchi
私とXamarinと。
私とXamarinと。
Takkiiii
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
Yoshito Tabuchi
Xamarin.forms+azureで始めるモバイル開発
Xamarin.forms+azureで始めるモバイル開発
Tsukasa Kato
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
ShinichiAoyagi
Xamarin で今日から始めるクロスプラットフォーム開発
Xamarin で今日から始めるクロスプラットフォーム開発
友太 渡辺
モバイル向けクロスプラットフォーム開発ツール Xamarin の概要とその利点
モバイル向けクロスプラットフォーム開発ツール Xamarin の概要とその利点
Yoshito Tabuchi
Xamarin の概要と活用事例
Xamarin の概要と活用事例
Yoshito Tabuchi
わんくま名古屋 #38 (20160521) Xamarin入門
わんくま名古屋 #38 (20160521) Xamarin入門
Yasuhiko Yamamoto
Xamarin Overview
Xamarin Overview
Madoka Chiyoda
Xamarin で Prism を使いたい! ~「正式対応」 まで待てない人のための Prism 利用 Tips~
Xamarin で Prism を使いたい! ~「正式対応」 まで待てない人のための Prism 利用 Tips~
Tatsuji Kuroyanagi
What's hot
(20)
めとべや東京5_XAML
めとべや東京5_XAML
Xamarin バッドノウハウ大全
Xamarin バッドノウハウ大全
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
Xamarin から使う Azure
Xamarin から使う Azure
Realm Mobile Platform 概要
Realm Mobile Platform 概要
Xamarin概要と活用方法
Xamarin概要と活用方法
NET Standard と Xamarin
NET Standard と Xamarin
Xamarin概要と活用方法
Xamarin概要と活用方法
Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話
Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
私とXamarinと。
私とXamarinと。
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
Xamarin.forms+azureで始めるモバイル開発
Xamarin.forms+azureで始めるモバイル開発
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
Xamarin で今日から始めるクロスプラットフォーム開発
Xamarin で今日から始めるクロスプラットフォーム開発
モバイル向けクロスプラットフォーム開発ツール Xamarin の概要とその利点
モバイル向けクロスプラットフォーム開発ツール Xamarin の概要とその利点
Xamarin の概要と活用事例
Xamarin の概要と活用事例
わんくま名古屋 #38 (20160521) Xamarin入門
わんくま名古屋 #38 (20160521) Xamarin入門
Xamarin Overview
Xamarin Overview
Xamarin で Prism を使いたい! ~「正式対応」 まで待てない人のための Prism 利用 Tips~
Xamarin で Prism を使いたい! ~「正式対応」 まで待てない人のための Prism 利用 Tips~
Similar to Blue monkey architecture overview
製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~
製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~
Fixstars Corporation
MvvmCross 入門
MvvmCross 入門
jz5 MATSUE
FutureStack Tokyo 19 -[パートナー講演]アマゾン ウェブ サービス ジャパン株式会社: New Relicを活用したAWSへのアプリ...
FutureStack Tokyo 19 -[パートナー講演]アマゾン ウェブ サービス ジャパン株式会社: New Relicを活用したAWSへのアプリ...
New Relic
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
Shotaro Suzuki
Cake php×国産!オープンソースcms「basercms」が熱い!
Cake php×国産!オープンソースcms「basercms」が熱い!
Ryuji Egashira
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
Takahiro Fujii
Xamarin+MVVMCross のあれこれ
Xamarin+MVVMCross のあれこれ
ShinichiAoyagi
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
irgaly
Rubyプログラミング教育に対する取り組みと事例紹介
Rubyプログラミング教育に対する取り組みと事例紹介
Yasushi Ishikawa
As a service時代のitガバナンス
As a service時代のitガバナンス
宏介 林田
Game Development on AWS (ゲーム開発環境を向上させるためのAWS活用術)
Game Development on AWS (ゲーム開発環境を向上させるためのAWS活用術)
Amazon Web Services Japan
Cloud Foundry Summit 2017 Recap
Cloud Foundry Summit 2017 Recap
Shinya Sasaki
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
Amazon Web Services Japan
今なぜサーバーレスなのか
今なぜサーバーレスなのか
真吾 吉田
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
Works Applications
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
Yoichi Kawasaki
5分で分かるselenium conference berlin 2017
5分で分かるselenium conference berlin 2017
Toshiya Komoda
Xamarin 概要 2017/01/15
Xamarin 概要 2017/01/15
Yoshito Tabuchi
【VMware】jp developer-summit_2012_final_for_print
【VMware】jp developer-summit_2012_final_for_print
VMwareKK
【17-D-1】今どきのアーキテクチャを現場の立場で斬る
【17-D-1】今どきのアーキテクチャを現場の立場で斬る
Developers Summit
Similar to Blue monkey architecture overview
(20)
製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~
製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~
MvvmCross 入門
MvvmCross 入門
FutureStack Tokyo 19 -[パートナー講演]アマゾン ウェブ サービス ジャパン株式会社: New Relicを活用したAWSへのアプリ...
FutureStack Tokyo 19 -[パートナー講演]アマゾン ウェブ サービス ジャパン株式会社: New Relicを活用したAWSへのアプリ...
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
Cake php×国産!オープンソースcms「basercms」が熱い!
Cake php×国産!オープンソースcms「basercms」が熱い!
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
Xamarin+MVVMCross のあれこれ
Xamarin+MVVMCross のあれこれ
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
Rubyプログラミング教育に対する取り組みと事例紹介
Rubyプログラミング教育に対する取り組みと事例紹介
As a service時代のitガバナンス
As a service時代のitガバナンス
Game Development on AWS (ゲーム開発環境を向上させるためのAWS活用術)
Game Development on AWS (ゲーム開発環境を向上させるためのAWS活用術)
Cloud Foundry Summit 2017 Recap
Cloud Foundry Summit 2017 Recap
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
今なぜサーバーレスなのか
今なぜサーバーレスなのか
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
5分で分かるselenium conference berlin 2017
5分で分かるselenium conference berlin 2017
Xamarin 概要 2017/01/15
Xamarin 概要 2017/01/15
【VMware】jp developer-summit_2012_final_for_print
【VMware】jp developer-summit_2012_final_for_print
【17-D-1】今どきのアーキテクチャを現場の立場で斬る
【17-D-1】今どきのアーキテクチャを現場の立場で斬る
More from Atsushi Nakamura
Settings SyncとCodespaceで体験する新世代へのパラダイムシフト
Settings SyncとCodespaceで体験する新世代へのパラダイムシフト
Atsushi Nakamura
C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021
Atsushi Nakamura
Unicodeで半角全角を扱うAmbiguous(曖昧さ)とUncertainty(不確実性)の恐怖
Unicodeで半角全角を扱うAmbiguous(曖昧さ)とUncertainty(不確実性)の恐怖
Atsushi Nakamura
世界一わかりやすいClean Architecture - DroidKaigiバージョン
世界一わかりやすいClean Architecture - DroidKaigiバージョン
Atsushi Nakamura
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
世界一わかりやすいClean Architecture release-preview
世界一わかりやすいClean Architecture release-preview
Atsushi Nakamura
世界一わかりやすいClean Architecture alpha-1
世界一わかりやすいClean Architecture alpha-1
Atsushi Nakamura
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Atsushi Nakamura
Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0
Atsushi Nakamura
継続的にテスト可能な設計を考える
継続的にテスト可能な設計を考える
Atsushi Nakamura
継続的にテスト可能な設計を考える ベータ版
継続的にテスト可能な設計を考える ベータ版
Atsushi Nakamura
α版 継続的にテスト可能な設計を考える
α版 継続的にテスト可能な設計を考える
Atsushi Nakamura
App center analyticsを使い倒そう
App center analyticsを使い倒そう
Atsushi Nakamura
Old:App center analyticsを使い倒そう
Old:App center analyticsを使い倒そう
Atsushi Nakamura
Xamarin.forms navigation overview
Xamarin.forms navigation overview
Atsushi Nakamura
App center analyticsを使い倒そう
App center analyticsを使い倒そう
Atsushi Nakamura
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
Atsushi Nakamura
Xamarin Dev days 2 xamarin.forms ja
Xamarin Dev days 2 xamarin.forms ja
Atsushi Nakamura
Enterpriseから見たXamarinの可能性
Enterpriseから見たXamarinの可能性
Atsushi Nakamura
More from Atsushi Nakamura
(19)
Settings SyncとCodespaceで体験する新世代へのパラダイムシフト
Settings SyncとCodespaceで体験する新世代へのパラダイムシフト
C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021
Unicodeで半角全角を扱うAmbiguous(曖昧さ)とUncertainty(不確実性)の恐怖
Unicodeで半角全角を扱うAmbiguous(曖昧さ)とUncertainty(不確実性)の恐怖
世界一わかりやすいClean Architecture - DroidKaigiバージョン
世界一わかりやすいClean Architecture - DroidKaigiバージョン
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture release-preview
世界一わかりやすいClean Architecture release-preview
世界一わかりやすいClean Architecture alpha-1
世界一わかりやすいClean Architecture alpha-1
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0
継続的にテスト可能な設計を考える
継続的にテスト可能な設計を考える
継続的にテスト可能な設計を考える ベータ版
継続的にテスト可能な設計を考える ベータ版
α版 継続的にテスト可能な設計を考える
α版 継続的にテスト可能な設計を考える
App center analyticsを使い倒そう
App center analyticsを使い倒そう
Old:App center analyticsを使い倒そう
Old:App center analyticsを使い倒そう
Xamarin.forms navigation overview
Xamarin.forms navigation overview
App center analyticsを使い倒そう
App center analyticsを使い倒そう
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
Xamarin Dev days 2 xamarin.forms ja
Xamarin Dev days 2 xamarin.forms ja
Enterpriseから見たXamarinの可能性
Enterpriseから見たXamarinの可能性
Blue monkey architecture overview
1.
© 2017 @nuits_jp Blue
Monkey Architecture Overview 2017.03.14
2.
© 2017 @nuits_jp 中村
充志 / Atsushi Nakamura • Enterprise系アプリケーションアーキテクト • Prism for WPFを仕事にて活用 • Xamarinを仕事にしたくて奮闘中 • Microsoft MVP Visual Studio and Developer Technologies • Twitter : @nuits_jp • Blog : http://www.nuits.jp • Company : RICOH JAPAN Corp. 2 自己紹介
3.
© 2017 @nuits_jp はじめに
4.
© 2017 @nuits_jp BlueMonkeyプロジェクトのゴール 【ゴール】 一定規模のチーム開発に耐えうる アーキテクチャのリファレンス実装の提案 【重視しているポイント】 •
テスト容易性・変更容易性の確保 • クロスプラットフォーム対応 • 特定バックエンドへの非依存
5.
© 2017 @nuits_jp アーキテクチャ上のキーワード •
Prism for Xamarin.Forms • MVVM Pattern • MVVMのM
6.
© 2017 @nuits_jp Prism
for Xamarin.Forms
7.
© 2017 @nuits_jp MVVMパターンで辛くなりがちな点 Binding
& Command Update NotificationNotification • 画面遷移 • 確認ダイアログ • 選択ダイアログ
8.
© 2017 @nuits_jp What
is Prism? • XAML Application Framework • Guidance • Patterns & Practices • Testable & Maintainable • Open Source • .NET Foundation
9.
© 2017 @nuits_jp What
do you get? • MVVM Support • Commanding • Messaging • Navigation • Page Dialog Service • Dependency Injection • Logging
10.
© 2017 @nuits_jp What
do you get? • MVVM Support • Commanding • Messaging • Navigation • Page Dialog Service • Dependency Injection • Logging
11.
© 2017 @nuits_jp What
is Prism? • XAML Application Framework • Guidance • Patterns & Practices • Testable & Maintainable • Open Source • .NET Foundation
12.
© 2017 @nuits_jp MVVMパターンとは
13.
© 2017 @nuits_jp よくみかけるMVVMの図 Binding
& Command Update NotificationNotification
14.
© 2017 @nuits_jp MVVM
is 何
15.
© 2017 @nuits_jp MVVM
is PDS Presentaion Domain Separation:PDS
16.
© 2017 @nuits_jp PDS
is SoC Separation of Concerns:SoC Presentaion Domain Separation:PDS
17.
© 2017 @nuits_jp SoC
Overview Separation of Concerns:SoC Presentaion Domain Separation:PDSInversion of Control:IoC
18.
© 2017 @nuits_jp よくみかけるMVVMの図 Binding
& Command Update NotificationNotification
19.
© 2017 @nuits_jp よくみかけるMVVMの図 Binding
& Command Update NotificationNotification プレゼンテーション その他
20.
© 2017 @nuits_jp 実際の割合 Binding
& Command Update NotificationNotification プレゼンテー ション その他
21.
© 2017 @nuits_jp Mobile
& Cross Platform開発 Modelにも • 専門性の高い領域 • テストが難しい領域 が多数存在します
22.
© 2017 @nuits_jp Mobile
& Cross Platformは課題の山 • プラットフォーム依存領域 • 時間 • 非同期処理 • プッシュ通知 • センサー類(位置情報、加速度、カメラ)
23.
© 2017 @nuits_jp Why
Prism for Xamarin.Forms • PrismはMVVMの課題だけでなく、これらの課題に対しても、ガ イダンスを提供します • Prismはアプリケーションを開発する上での、パターンとプラク ティスの集合です • そしてこれらは、テスト容易性と保守容易性を提供します
24.
© 2017 @nuits_jp MVVMのM Binding
& Command Update NotificationNotification プレゼンテー ション その他
25.
© 2017 @nuits_jp MVVMのM
26.
© 2017 @nuits_jp MVVMのMの原則 Binding
& Command Update / public Task Foo() NotificationNotification プレゼンテーション その他 1. ViewModelはModelの影(そしてまたViewはViewModelの影) 2. ModelについてViewModelが行うことは、イベントに対する反応と戻り値の ないメソッドの呼び出ししかない事 出典:http://ugaya40.hateblo.jp/entry/model-mistake
27.
© 2017 @nuits_jp なぜ戻り値はTask縛りなのか? 読書中の書籍というModelがあり、ある視点から見ると目次というViewと して表現され 別の視点から見ると本文のテキスト画面というViewとして表現される。
28.
© 2017 @nuits_jp MVVMのM
どう整理する? Binding & Command Update NotificationNotification プレゼンテーション その他 ? ? ?
29.
© 2017 @nuits_jp BlueMonkeyのレイヤーアーキテクチャ View ViewModel Model
30.
© 2017 @nuits_jp What
is Usecase? Usecase:経費を登録する Usecaseとは、利用者にたいしてアプリ(システム)が提供する本質的な価値のこと 「それ」を終えた後、アプリ(システム)から離れてもよい単位と考えると分かりやすい
31.
© 2017 @nuits_jp BlueMonkeyのレイヤーアーキテクチャ View ViewModel Model 【Usecase】 画面遷移間にまたがって状態を維持する ドメインロジックをカプセル化する •
経費を登録する • 経費を閲覧する • レポートを登録する • レポートを閲覧する 【Service】 Usecaseを実現する為の、「機能」を提供する • ExpenseService(バックエンドの通信クライ アント) • LoginService • MediaService • TimeService
32.
© 2017 @nuits_jp オフライン同期を考慮する View ViewModel Model UsecaseとServiceの間に •
オフライン同期 • キャッシュ などを透過的に制御する層が欲しい。 バックエンドの実装から大きく影響を受け るため、Usecaseに対して実装を隠蔽した い。 要検討
33.
© 2017 @nuits_jp Blue
monkey コンポーネント図
34.
© 2017 @nuits_jp BlueMonkeyコンポーネント図 cmp
Component Model BlueMonkey ViewModelsViews Models Services Views ViewModels Usecases ExpenseServices LoginService MediaServices TimeService Application DroidiOS BlueMonkey Transaction Transaction.Unity
35.
© 2017 @nuits_jp BlueMonkeyコンポーネント図 cmp
Component Model BlueMonkey ViewModelsViews Models Services Views ViewModels Usecases ExpenseServices LoginService MediaServices TimeService Application DroidiOS BlueMonkey Transaction Transaction.Unity
36.
© 2017 @nuits_jp BlueMonkeyコンポーネント図 cmp
Component Model BlueMonkey ViewModelsViews Models Services Views ViewModels Usecases ExpenseServices LoginService MediaServices TimeService Application DroidiOS BlueMonkey Transaction Transaction.Unity
37.
© 2017 @nuits_jp BlueMonkeyコンポーネント図 cmp
Component Model BlueMonkey ViewModelsViews Models Services Views ViewModels Usecases ExpenseServices LoginService MediaServices TimeService Application DroidiOS BlueMonkey Transaction Transaction.Unity
38.
© 2017 @nuits_jp BlueMonkeyコンポーネント図 cmp
Component Model BlueMonkey ViewModelsViews Models Services Views ViewModels Usecases ExpenseServices LoginService MediaServices TimeService Application DroidiOS BlueMonkey Transaction Transaction.Unity
39.
© 2017 @nuits_jp BlueMonkeyコンポーネント図 cmp
Component Model BlueMonkey ViewModelsViews Models Services Views ViewModels Usecases ExpenseServices LoginService MediaServices TimeService Application DroidiOS BlueMonkey Transaction Transaction.Unity
40.
© 2017 @nuits_jp BlueMonkeyコンポーネント図 cmp
Component Model BlueMonkey ViewModelsViews Models Services Views ViewModels Usecases ExpenseServices LoginService MediaServices TimeService Application DroidiOS BlueMonkey Transaction Transaction.Unity
41.
© 2017 @nuits_jp Transaction? Usecase:経費を登録する Usecaseオブジェクトのライフサイクルを管理する仕組み
42.
© 2017 @nuits_jp コードを見てみましょう!
43.
© 2017 @nuits_jp 制約事項
44.
© 2017 @nuits_jp 現在未完了の領域 •
ユーザーインターフェースへのデザインの適用 • オフライン同期、キャッシュ制御のアーキテクチャの提示 • 検索結果のページング処理 など
45.
© 2017 @nuits_jp Xamarin
技術同人誌 出します! • う-13 「Xamaritans」 • 超技術書典(in ニコニコ長会議2017)でも
Editor's Notes
BlueMonkeyはXamarin.Formsを利用したアプリケーションです。 このため、MVVMパターンを採用しています。
Xamarin.Android で始めるクロスプラットフォームモバイルアプリ開発 できるXamarin.Mac Prism for Xamarin.Forms入門と次の門 開発者のためのXamarin関連リポジトリ集
Download now