SlideShare a Scribd company logo
Xamarinで作るiPhoneと
Windowsストアアプリの
共通コンポーネント
増田 智明(@moonmile)
.NET ラボ Micorosft MVP C#
Moonmile Solutions
自己紹介&宣伝
 増田 智明 masuda@moonmile.net
 執筆業
 逆引き大全 Visual C# 2013、Visual Basic 2013
 逆引き大全 iPhone/iPad アプリ開発
 作って覚える iPhone/iPad アプリ入門
 ひと目でわかる Visual Studio 2012 アプリケーション開発
 プログラマ
 CakePHP+WPFで予約システム
 Fortran+VC++で構造解析
Xamarinとは?
 C#でクロスプラットフォーム開発
 Xamarin Studio
 Xamarin.iOS
 Xamarin.Android
 前身が mono
 MonoDevelop
 ASP.NETをLinuxで動かすなど
 去年の11月頃にMicrosoft社と提携
 インサイドXamarin – Build Insider by 榎本 温 氏
http://www.buildinsider.net/mobile/insidexamarin
PCL(Potralb Class Library)とは?
 Windowsフォーム、Windows ストアアプリ、Sliverlight、
Windows Phoneで利用できる共通ライブラリ
 プラットフォーム間の共通アセンブリを使うことで、
同じコード/アセンブリを使える。
 ライブラリとして使いまわしが可能
 C#, Visual Basic, F#で作成可能
 C:Program Files (x86)Reference Assemblies
MicrosoftFramework
.NETPortablev4.5ProfileProfile78
PCLのアセンブリ
 C:Program Files (x86)Reference
AssembliesMicrosoftFramework.NETPortable を
直接見ればOK
 無いもの
 System.Data … DataTable, DataRow
 System.Windows.Forms
 WindowsBase.dll … Point (WPF)
 System.Drawing ... Rectangle, Point (WinForm)
 System.Web
 System.Xaml
 etc.etc.
Xamarin+PCLの組み合わせ
 Xamarinでは、iOS/AndroidアプリをC#で書ける。
 Xamarinでは、.NETライブラリを読み込める。
 Visual Studio/Xamarinで、C#のPCLを作る。
 Visual Studioで、Windowsストアアプリを作る。
 Visual StudioとXamarinの組み合わせで、
Windowsストア/iOSアプリ/Androidアプリで共通のライブラリを使える。
Windows
ストアアプリ
iOS
アプリ
Andorid
アプリ
Potable
Class Library
PCLの使いどころ
 サーバーとの通信ロジック(Azure Mobile Serviceなど)
 ローカルストレージの保存ロジック(SQLite、ローカルファイル)
 業務ロジック
 ゲームロジック
 Viewとは切り離されたデータモデル
 MVC、MVVMパターンの活用
View
プラット
フォーム単位
DataModel
Business
Logic
Ex. パズルアプリの構造
iOS用
View
storyboard
Android用
View
*.axml
WinStore用
View
XAML
PCL
共通ロジック
パズル判定 C#
iOS用
個別処理
C#
Android用
個別処理
C#
WinStore用
個別処理
C#
Azure Mobile
Service
サービス処理
点数登録/パズルDL
フロントエンド
サービス処理
バックエンド
点数処理
iOSでPCLを使う
 Visual Studioで参照設定
 Xamarin.iOS Build Hostの設定
 ソリューションプラットフォームを
「iPhoneSimulator」に設定
 ブレークポイント、デバッグ表示を
Visual Studioで制御
WindowsストアアプリでPCLを使う
 Visual Studioで参照設定
 Windowsシミュレーターで実行
 WPFアプリで動作確認
 TMPuzzle.Core.Testプロジェクトでテスト
AndroidでPCLを使う
 Visual Studioで参照設定
 Target Android Device を指定
 実機へは adb を使う
 Androidエミュレータは、起動が遅いので、
あらかじめ立ち上げておくとよい。
 ブレークポイント、デバッグ表示を
Visual Studioで制御
PCLの苦手な部分
 プラットフォーム依存が多い箇所
 インターフェースを使えばできないことはないが、構造が複雑化
 外部ライブラリの依存が多い
 メインプロジェクトにアセンブリを入れる必要がある。
 Azure Mobile ServiceをNuGetで入れる。将来的には?
その他の共通化の方法
 プラットフォーム毎に#ifでビルドして用意する
 Mono.Csharp.dll、SQLite.NET
 プラットフォーム毎のライブラリを利用
 OpenCV(内部でCライブラリの呼び出し)
 ソースコードで共有
 C#コードをリンクで共有
参考リンク
 Xamarin - Build mobile apps for iOS, Android, Mac and Windows
http://xamarin.com/
 インサイド Xamarin Build Insider http://www.buildinsider.net/mobile/insidexamarin
 Introduction to Mobile Development | Xamarin
http://docs.xamarin.com/guides/cross-
platform/getting_started/introduction_to_mobile_development/
 Windows Azure Mobile Services | Xamarin
http://docs.xamarin.com/guides/cross-platform/azure/mobile-services/
 praeclarum/sqlite-net
https://github.com/praeclarum/sqlite-net
 New open source Portable Class Library for SQLite | MS OpenTech
https://msopentech.com/blog/2014/02/03/new-open-source-portable-class-library-sqlite/
 ポータブルクラスライブラリ(Portable Class Library)を使った開発 - Akira Onishi's weblog -
Site Home - MSDN Blogs
http://blogs.msdn.com/b/aonishi/archive/2012/06/28/10324945.aspx

More Related Content

PDF
20171202 Xamarinの歩き方
Yoshito Tabuchi
 
PDF
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
Yoshito Tabuchi
 
PDF
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
Yoshito Tabuchi
 
PDF
Computer Vision と Translator Text API 使ってみた
Yoshito Tabuchi
 
PDF
Xamarin概要+最新情報
Yoshito Tabuchi
 
PDF
モバイル向けクロスプラットフォーム開発ツール Xamarin の概要とその利点
Yoshito Tabuchi
 
PDF
Xamarin から使う Azure
Yoshito Tabuchi
 
PDF
続Xamarinはじめました
Yuya Yamaki
 
20171202 Xamarinの歩き方
Yoshito Tabuchi
 
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
Yoshito Tabuchi
 
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
Yoshito Tabuchi
 
Computer Vision と Translator Text API 使ってみた
Yoshito Tabuchi
 
Xamarin概要+最新情報
Yoshito Tabuchi
 
モバイル向けクロスプラットフォーム開発ツール Xamarin の概要とその利点
Yoshito Tabuchi
 
Xamarin から使う Azure
Yoshito Tabuchi
 
続Xamarinはじめました
Yuya Yamaki
 

What's hot (20)

PDF
Xamarin の概要と活用事例
Yoshito Tabuchi
 
PDF
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
Yoshito Tabuchi
 
PPTX
私とXamarinと。
Takkiiii
 
PDF
DEV-023_Xamarin Deep Dive - Xamarin.Forms の可能性
decode2016
 
PDF
Xamarin + Visual Studio によるマルチプラットフォーム対応アプリ開発 - iOS, Android, Windows に対応しよう
Akira Onishi
 
PPTX
Xamarin Overview
Madoka Chiyoda
 
PDF
Friendly
Takaaki Suzuki
 
PDF
Xamarinをこれから始める皆様へ
Yoshito Tabuchi
 
PDF
Realm Mobile Platform 概要
Yoshito Tabuchi
 
PDF
NET Standard と Xamarin
Yoshito Tabuchi
 
PDF
BoxViewの美味しい食べ方
Shinichi Hirauchi
 
PDF
Visual Studio + xamarin で始めるモバイル アプリ開発
インフラジスティックス・ジャパン株式会社
 
PDF
Xamarin概要と活用方法
Yoshito Tabuchi
 
PDF
Universal Appとは? -デバイスに依存しないアプリケーション開発-
Takaaki Suzuki
 
PDF
クロスプラットフォーム モバイルアプリ開発ツール Xamarin 概要
Yoshito Tabuchi
 
PDF
Xamarin概要
Yoshito Tabuchi
 
PDF
CROSS 2015 モバイル開発環境セッション
Masahiro Tanaka
 
PDF
WPF Interoperability
Takaaki Suzuki
 
PPTX
Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話
Daisuke Tsutsumi
 
Xamarin の概要と活用事例
Yoshito Tabuchi
 
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
Yoshito Tabuchi
 
私とXamarinと。
Takkiiii
 
DEV-023_Xamarin Deep Dive - Xamarin.Forms の可能性
decode2016
 
Xamarin + Visual Studio によるマルチプラットフォーム対応アプリ開発 - iOS, Android, Windows に対応しよう
Akira Onishi
 
Xamarin Overview
Madoka Chiyoda
 
Friendly
Takaaki Suzuki
 
Xamarinをこれから始める皆様へ
Yoshito Tabuchi
 
Realm Mobile Platform 概要
Yoshito Tabuchi
 
NET Standard と Xamarin
Yoshito Tabuchi
 
BoxViewの美味しい食べ方
Shinichi Hirauchi
 
Visual Studio + xamarin で始めるモバイル アプリ開発
インフラジスティックス・ジャパン株式会社
 
Xamarin概要と活用方法
Yoshito Tabuchi
 
Universal Appとは? -デバイスに依存しないアプリケーション開発-
Takaaki Suzuki
 
クロスプラットフォーム モバイルアプリ開発ツール Xamarin 概要
Yoshito Tabuchi
 
Xamarin概要
Yoshito Tabuchi
 
CROSS 2015 モバイル開発環境セッション
Masahiro Tanaka
 
WPF Interoperability
Takaaki Suzuki
 
Xamarinを企業向けアプリ開発の プラットフォームとして選定し 実際にアプリをリリースした話
Daisuke Tsutsumi
 
Ad

Similar to Xamarinで作るiPhoneとwindowsストアアプリの共通コンポーネント (20)

PPTX
Xamarin ハンズオン Android の部
m ishizaki
 
PPTX
xamarin for android試してみた
Lee Choong Geun
 
PDF
Xamarin概要と活用方法
Yoshito Tabuchi
 
PDF
Xamarin.Forms アプリケーション 設計パターン
一希 大田
 
PPTX
Xamarin Overview
まどか 千代田
 
PPTX
Visual Studio 2015 + Xamarin
ShinichiAoyagi
 
PPTX
.NET界隈で最近気になる話題
Makoto Nishimura
 
PDF
インフラジスティックスおよび Xamarin.Forms コントロールのご紹介
インフラジスティックス・ジャパン株式会社
 
PPTX
【デブサミ関西2014】Web技術で作るエンタープライズアプリ
アシアル株式会社
 
PPTX
Xamarin+f#で操作する Raspberry Pi Robot
Masuda Tomoaki
 
PPTX
F#で動かすraspberry pi+lego mindstorms
Masuda Tomoaki
 
PPTX
Xamarin.formsとカスタムコントロールの話
Masuda Tomoaki
 
PPTX
Xamarin.Android ハンズオン
m ishizaki
 
PDF
【de:code 2020】 2020 年の最新 Xamarin 概要
日本マイクロソフト株式会社
 
PPTX
Xamarin で クラシックデスクトップ 2
m ishizaki
 
PDF
Xamarin.Forms のこれまでとこれから
Yoshito Tabuchi
 
PDF
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
一希 大田
 
PPTX
「ふくてん」に来てんね
Hideaki Aoyagi
 
PPTX
Xamarin.Android ハンズオン 2018/11
m ishizaki
 
PPTX
App010 【xamarin 開発の真実】
Tech Summit 2016
 
Xamarin ハンズオン Android の部
m ishizaki
 
xamarin for android試してみた
Lee Choong Geun
 
Xamarin概要と活用方法
Yoshito Tabuchi
 
Xamarin.Forms アプリケーション 設計パターン
一希 大田
 
Xamarin Overview
まどか 千代田
 
Visual Studio 2015 + Xamarin
ShinichiAoyagi
 
.NET界隈で最近気になる話題
Makoto Nishimura
 
インフラジスティックスおよび Xamarin.Forms コントロールのご紹介
インフラジスティックス・ジャパン株式会社
 
【デブサミ関西2014】Web技術で作るエンタープライズアプリ
アシアル株式会社
 
Xamarin+f#で操作する Raspberry Pi Robot
Masuda Tomoaki
 
F#で動かすraspberry pi+lego mindstorms
Masuda Tomoaki
 
Xamarin.formsとカスタムコントロールの話
Masuda Tomoaki
 
Xamarin.Android ハンズオン
m ishizaki
 
【de:code 2020】 2020 年の最新 Xamarin 概要
日本マイクロソフト株式会社
 
Xamarin で クラシックデスクトップ 2
m ishizaki
 
Xamarin.Forms のこれまでとこれから
Yoshito Tabuchi
 
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
一希 大田
 
「ふくてん」に来てんね
Hideaki Aoyagi
 
Xamarin.Android ハンズオン 2018/11
m ishizaki
 
App010 【xamarin 開発の真実】
Tech Summit 2016
 
Ad

Xamarinで作るiPhoneとwindowsストアアプリの共通コンポーネント