SlideShare a Scribd company logo
Xamarin & Universal
Windowsアプリで広がる
Windowsストア解説
第19回OITEC勉強会スライド
Agenda
• Universal Windowsアプリケーションに
ついて
• Xamarinについて
• その他
今日伝えたいこと
•Visual Studioで
マルチプラットフォーム開発が
面白い!!
•Windowsストアアプリ周辺の話で、
Windowsストアアプリに関しては
あまり言及しない
今日伝えたいひと
• ストアアプリは作れるようになったけど、
ストアがいまひとつ
盛り上がってない どうしよう?
• スマートフォン開発で
それぞれ言語を
使い分けるのが面倒
•Visual Studioが好き!!
Universal Windows
アプリケーション
•Windows 8向けのWindowsストア
アプリとWindows Phone向けのア
プリケーションを共通のコードで作
成できる。
Universal~とは?
• ストアアプリとWPの9割のAPIが共通化
• Windows PhoneもWinRTベースになっ
たけど、既存アプリはちょっと大変
Universal~とは?
•Windowsストアアプリはあまり影
響がない
•Windows Phone側は選択が必要
Universal~の影響
APIに不十分な部分はあるが
ストアアプリ展開が可能
将来性高
使えるAPIは多い
8からの変更点が少ない
将来はWinRTにシフト?
• WindowsストアとWindows Phoneの共有
ファイルを配置するSharedプロジェクトが
追加
• コードの共有は従来のPCL or Sharedプロ
ジェクト(PCL=Portable Class Library)
Universal~で追加されたもの
SharedプロジェクトとPCLの違い
• Sharedプロジェクトは#ifでプラット
フォームの別のcaseわけが可能。
• PCLはcaseわけができず、プラット
フォーム固有の処理は使えない。dllとし
て別プロジェクトでも利用可能。
(全体図を説明した後もう一度触れます)
•試してみる
WindowsストアプリをUniversalに
実際どうなん?
Windows Phoneプロジェクトを追加
Sharedに移してみる
•Sharedに思い切って
ファイルをガンガン移動
(実際はエラーを確認しながら移動していきます)
•今回はViewファイルはほとんど共有
できました
(今回の場合共有できなかったのは、Windows
Phoneには存在しない手書き機能のページ)
Viewの共有
セオリー
•今回はゲームなので同じ画面を共有
できたが、画面はストアアプリ、
WPで別々の設計が必要
•ViewModel、
Modelは大部分が
共有可能。
コードは公開中
Githubのcoelacanth77でコードがDLでき
ます。
(広告のIDなどが消してあるので動かすに
はその辺の編集が必要)
https://github.com/coelacanth77/Escap
eOfKinokoForestSample
まとめ
• 既存のアプリを展開する場合はAPI次第で作業
量が変わる
• Windows PhoneはWinRTベース
(Universal)で行くか、Silverlightベースで
行くか要検討
• 画面サイズが違うのでViewは別々に作ること
が多いが、ゲームのような単純に拡大・縮小で
対応できる場合は共通化できる
Xamarinについて
Xamarinについて
•C#&Visual StudioでiOS、Android
のアプリケーションの作成が可能
•お値段高め
•高速進化中
C#でiOS、Androidのアプリ作成が可能
•画面はそれぞれの仕組み
iOS StoryBoard
Android XML
Windowsストア
Windows Phone
XAML
最新の環境だとiOS, AndroidもXAMLで開発可能(後述)
C#でiOS、Androidのアプリ作成が可能
•APIはそれぞれのプラットフォーム
に合わせた呼び出しが必要
•ラップするだけなのでバージョン
アップへの対応は早い!!
Xamarin.iOS
•開発するにはMacが必要
•最新のXamarin3ではVisual Studio
上でStoryboardの編集が可能に
(デモをお見せしたいが、Macに接続してないとできない…)
(公開用)Xamarin & universal windowsアプリで広がるwindowsストア解説
Xamarin.iOS
• デリゲートやLinqなどが使えるので便利。
• ローカルファイルへの処理、カメラ、位
置情報などなど良く使う機能は
Xamarin.Androidも合わせて同じAPI呼び
出しができるように抽象化されている。
(もちろん、APIも使える)
• iOS開発にC#の便利なところを取り入れ
られる感じ
Xamarin.iOS
•MVVMでは書き辛い(個人的感想)
→Nativeに近い書き方を選択
•AndroidやWinRTとの共通化は思っ
たよりできる
(プラットフォーム依存のコードなどは
interfaceなどを使って手続きだけ共通化)
Xamarin.iOS
// PCL側はinterface定義を記述
public interface IFileManager
{
void saveData(string str, string key);
string getData(string key);
}
Xamarin.iOS
// プラットフォーム依存部分はそれぞれのプロジェクトで実装
/// <summary>
/// iOS版FileManager
/// </summary>
class FileManager : IFileManager
{
string path =
System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
public void saveData(string data, string key)
{
string filePath = path + "/" + key + ".txt";
File.WriteAllText(filePath, data);
}
それじゃPortableじゃないよね? というのが気になるならSharedプロジェクト
Xamarin.iOS
•開発するのにMacが必要なのがやは
り不便。
メインOSをMacにして
仮想で
Windows+VisualStudio
という構成が安定
Xamarin.Android
•MVVMCrossでMVVM開発が便利!!
•実機がないとストレス
(Xamarinに限らず)
•Android開発の知識はやっぱり必要
Xamarin+Universal
•iOS, Android, Windowsストア,
Windows Phoneの開発が1つのソ
リューションで‼
PCL or Shared
• 共通処理はPCLかSharedプロジェクト選択
• PCLはライブラリ化できるが「Androidの
場合」といったケースわけができない
• Sharedプロジェクトはケースわけが可能
ただしライブラリ化はできない
Sharedプロジェクト内で分岐
#if WINDOWS_APP
var setup = new Setup(rootFrame);
…Windowsストアアプリ固有の処理…
#endif
Xamarin.Form
• Xamarin3で追加されたiOSとAndroid、
WPのUIを共通のXAMLで記述できる機能
• 追加されたばかりなので色々不便もある
が、今後完成度を高めれば非常に素晴ら
しい機能になりそう
• Xamarin.Forms Control Gallery
http://developer.xamarin.com/guides/cross-platform/xamarin-forms/controls/
Xamarin.Form
•各プラットフォームで共通して使え
るという仕組みのため機能が最大公
約数になる
•もし、それぞれのプラットフォーム
固有の機能を利用する場合は固有の
View(XAMLとかStoryboard)を
使う
コンポーネントストア
•Xamarin版Nuget
コンポーネントストア
•Xamarin.Mobile
Xamarinまとめ
•iOS,Android,Windowsストア,WP
のすべてをC#で書ける魅力的な
ツール
•ただし高い、ただし進化の途中で変
更も多い
その他
ツール
• Appmethod
• Delphiの機能をモバイル開発に絞ったもの
• C++
•Cordova
• =PhoneGap?
• JavaScript
• Adobe AIR
• ActionScript
ツール
•Unity(ゲーム特化)
•Qt
•WebView(ツールじゃない
資料
•de:code
http://channel9.msdn.com/Events/de-code/2014
XamarinについてはMS渡辺さんの
iOS/Android アプリを C#/.NET で開発 -
Xamarin で実現するクロスプラットフォーム
対応 –
がおすすめ(それ以外も一見の価値あり)
資料
•Xamarin Japan(facebook)
Xamarinの日本代理店のエクセル
ソフトの方も
日本語での技術的な質問はここが
良さそう(英語だと公式のフォーラ
ム)
TypeScript、JavaScript
• WindowsストアアプリでもTypeScriptを
利用可能に(ExpressはNG)
Store Apps Templates with TypeScript
http://visualstudiogallery.msdn.microsoft.com/bd97e47d-ed3a-4f5e-ace2-
37bbcb545c9e
• Windows PhoneでもJavaScriptが使える
ように
お値段
ご静聴ありがとうございました

More Related Content

PDF
Windows Store アプリをuniversal にして申請する手順
PDF
できる!スマホアプリ:Webからはじまるアプリ for CMU16
PDF
世界がハッピーになるビジネスプラン作成術
PDF
アイディアコンテスト「コトナス」:SNSを利用した参加型の集客UP企画4選
PDF
Everydaycreativelife
PDF
1f95c3a7 8c97-4e8f-b919-528b721ea6f1
PDF
旅アプリアイデアワーク1
PDF
アイディアコンテスト「コトナス」:ふらっと立ち寄り投票(ダノンジャパン)
Windows Store アプリをuniversal にして申請する手順
できる!スマホアプリ:Webからはじまるアプリ for CMU16
世界がハッピーになるビジネスプラン作成術
アイディアコンテスト「コトナス」:SNSを利用した参加型の集客UP企画4選
Everydaycreativelife
1f95c3a7 8c97-4e8f-b919-528b721ea6f1
旅アプリアイデアワーク1
アイディアコンテスト「コトナス」:ふらっと立ち寄り投票(ダノンジャパン)

Viewers also liked (20)

PDF
アプリ野郎Z in osaka 2013/1/26
PPTX
SIGSHY01 第1回消極性研究会 5 「Deagency脱エージェンシーによる咎責嫌悪感低減システム」寺田和憲(岐阜大学)
PDF
2013_DS5_FinalReview_11n1054_部分と全体の家
PPT
Jigyotsuku11
PDF
POStudy Day 2015 Summer in Fukuoka [Day1] ~プロダクトオーナーシップを磨くための一日~ #postudy
PDF
What Can Vision Work Version1.1: 「ビジョンのない上司にビジョンを抱かせる時に」
PDF
メディアリテラシー教育研究会「アイデアと学び」講演会
PPTX
2015.2.27しまねウェアラブルセミナー講演資料
PDF
アイディアコンテスト「コトナス」:CHEESE HONEY"今やるべき10のコト"
PDF
Spath Workshop | 世の中をより良くするアイデアを形に出来るようになる会議 β版 20130420
PDF
アイディアコンテスト「コトナス」:えっ?ダノンビオがデビュー?(ダノンジャパン)
PDF
Osaka-No001-01-suc3rum-20100616
PDF
投げ銭Boxのwebクライアントを作ってみた
PDF
未踏後の歩みと働き方ー未踏カンファレンス
PPT
食べログ ジオメディアサミット 2
PDF
2014盛夏キャンペーン
PDF
フリーランスって食べていけるの?
PDF
今日からできるカラーデザインチェック
PDF
Mamorio pashadelic
PDF
思い付きを思慮不足のままアイディアにしていませんか?
アプリ野郎Z in osaka 2013/1/26
SIGSHY01 第1回消極性研究会 5 「Deagency脱エージェンシーによる咎責嫌悪感低減システム」寺田和憲(岐阜大学)
2013_DS5_FinalReview_11n1054_部分と全体の家
Jigyotsuku11
POStudy Day 2015 Summer in Fukuoka [Day1] ~プロダクトオーナーシップを磨くための一日~ #postudy
What Can Vision Work Version1.1: 「ビジョンのない上司にビジョンを抱かせる時に」
メディアリテラシー教育研究会「アイデアと学び」講演会
2015.2.27しまねウェアラブルセミナー講演資料
アイディアコンテスト「コトナス」:CHEESE HONEY"今やるべき10のコト"
Spath Workshop | 世の中をより良くするアイデアを形に出来るようになる会議 β版 20130420
アイディアコンテスト「コトナス」:えっ?ダノンビオがデビュー?(ダノンジャパン)
Osaka-No001-01-suc3rum-20100616
投げ銭Boxのwebクライアントを作ってみた
未踏後の歩みと働き方ー未踏カンファレンス
食べログ ジオメディアサミット 2
2014盛夏キャンペーン
フリーランスって食べていけるの?
今日からできるカラーデザインチェック
Mamorio pashadelic
思い付きを思慮不足のままアイディアにしていませんか?
Ad

Similar to (公開用)Xamarin & universal windowsアプリで広がるwindowsストア解説 (20)

PDF
ストアアプリ →universal Windows Apps =WP8.1アプリ
PDF
Universal Appとは? -デバイスに依存しないアプリケーション開発-
PDF
わんくま名古屋#31(20140524) ユニバーサルWindowsアプリ開発の勧め
PPTX
Universal windows platformの新機能をおさえよう
PDF
開発ツールを買わずに作る♪ ユニバーサルWindowsアプリ!
PPTX
Xamarinで作るiPhoneとwindowsストアアプリの共通コンポーネント
PPTX
Windows 8時代のアプリ開発
PDF
空のテンプレートから始めるWindows 8 ストアアプリ
PPTX
Windows ストアアプリを HTMLで作成する
PDF
Xamarinでアプリを作ったときのエトセトラ
PDF
Windowsストアアプリ開発 オープンセミナー広島
PDF
App010 【xamarin 開発の真実】
PPTX
App010 【xamarin 開発の真実】
PDF
Visual Studio + xamarin で始めるモバイル アプリ開発
PPTX
Windows 8.1 ストア アプリ first look for 8.0 developers! [ss]
PPTX
今から始める、Windows 10&新.NETへの移行戦略
PDF
わんくま名古屋 #38 (20160521) Xamarin入門
PPTX
Windowsストア アプリケーション概要(概要編)
PDF
はじめての UWP アプリ開発
PPTX
Universal Windows app 入門
ストアアプリ →universal Windows Apps =WP8.1アプリ
Universal Appとは? -デバイスに依存しないアプリケーション開発-
わんくま名古屋#31(20140524) ユニバーサルWindowsアプリ開発の勧め
Universal windows platformの新機能をおさえよう
開発ツールを買わずに作る♪ ユニバーサルWindowsアプリ!
Xamarinで作るiPhoneとwindowsストアアプリの共通コンポーネント
Windows 8時代のアプリ開発
空のテンプレートから始めるWindows 8 ストアアプリ
Windows ストアアプリを HTMLで作成する
Xamarinでアプリを作ったときのエトセトラ
Windowsストアアプリ開発 オープンセミナー広島
App010 【xamarin 開発の真実】
App010 【xamarin 開発の真実】
Visual Studio + xamarin で始めるモバイル アプリ開発
Windows 8.1 ストア アプリ first look for 8.0 developers! [ss]
今から始める、Windows 10&新.NETへの移行戦略
わんくま名古屋 #38 (20160521) Xamarin入門
Windowsストア アプリケーション概要(概要編)
はじめての UWP アプリ開発
Universal Windows app 入門
Ad

More from Makoto Nishimura (20)

PPTX
リモートで技術を伝える方法(発表版)
PPTX
リモートで技術を伝える方法(フル)
PPTX
windows terminal入門
PPTX
Minecraftでプログラミングを学べるって本当?
PPTX
Power Automateを使ってみた
PPTX
Power Automate Desktop入門
PPTX
Microsoft Teams Custom
PPTX
WinUI 3.0 Preview 1を触ってみた(.NETラボ2020年6月登壇資料)
PPTX
AzureDevOpsの機能解説
PPTX
EC-CUBE 4 入門
PPTX
OSS開発で.NETを活用してDevOps
PPTX
.NETの最近
PPTX
Amazon echoがやってきた
PPTX
2017年度注目の.netテクノロジー
PPTX
Azure上でec cubeを運用するポイント
PPTX
2016年11月.NETラボLT:超余談ゲームプラットフォームの話
PPTX
Xamarin入門(技術というより心構え編)
PPTX
独自Ecサイト立ち上げワンストップセミナー 0907
PPTX
Uwpでみるxaml入門第二回
PPTX
Uwpでみるxaml入門
リモートで技術を伝える方法(発表版)
リモートで技術を伝える方法(フル)
windows terminal入門
Minecraftでプログラミングを学べるって本当?
Power Automateを使ってみた
Power Automate Desktop入門
Microsoft Teams Custom
WinUI 3.0 Preview 1を触ってみた(.NETラボ2020年6月登壇資料)
AzureDevOpsの機能解説
EC-CUBE 4 入門
OSS開発で.NETを活用してDevOps
.NETの最近
Amazon echoがやってきた
2017年度注目の.netテクノロジー
Azure上でec cubeを運用するポイント
2016年11月.NETラボLT:超余談ゲームプラットフォームの話
Xamarin入門(技術というより心構え編)
独自Ecサイト立ち上げワンストップセミナー 0907
Uwpでみるxaml入門第二回
Uwpでみるxaml入門

(公開用)Xamarin & universal windowsアプリで広がるwindowsストア解説