Xamarinで作るiPhoneと
Windowsストアアプリの
共通コンポーネント
増田 智明(@moonmile)
.NET ラボ Micorosft MVP C#
Moonmile Solutions
自己紹介&宣伝
 増田 智明 masuda@moonmile.net
 執筆業
 逆引き大全 Visual C# 2013、Visual Basic 2013
 逆引き大全 iPhone/iPad アプリ開発
 作って覚える iPho...
Xamarinとは?
 C#でクロスプラットフォーム開発
 Xamarin Studio
 Xamarin.iOS
 Xamarin.Android
 前身が mono
 MonoDevelop
 ASP.NETをLinuxで動か...
PCL(Potralb Class Library)とは?
 Windowsフォーム、Windows ストアアプリ、Sliverlight、
Windows Phoneで利用できる共通ライブラリ
 プラットフォーム間の共通アセンブリを使うこ...
PCLのアセンブリ
 C:Program Files (x86)Reference
AssembliesMicrosoftFramework.NETPortable を
直接見ればOK
 無いもの
 System.Data … DataT...
Xamarin+PCLの組み合わせ
 Xamarinでは、iOS/AndroidアプリをC#で書ける。
 Xamarinでは、.NETライブラリを読み込める。
 Visual Studio/Xamarinで、C#のPCLを作る。
 Vi...
PCLの使いどころ
 サーバーとの通信ロジック(Azure Mobile Serviceなど)
 ローカルストレージの保存ロジック(SQLite、ローカルファイル)
 業務ロジック
 ゲームロジック
 Viewとは切り離されたデータモ...
Ex. パズルアプリの構造
iOS用
View
storyboard
Android用
View
*.axml
WinStore用
View
XAML
PCL
共通ロジック
パズル判定 C#
iOS用
個別処理
C#
Android用
個別処理...
iOSでPCLを使う
 Visual Studioで参照設定
 Xamarin.iOS Build Hostの設定
 ソリューションプラットフォームを
「iPhoneSimulator」に設定
 ブレークポイント、デバッグ表示を
Vis...
WindowsストアアプリでPCLを使う
 Visual Studioで参照設定
 Windowsシミュレーターで実行
 WPFアプリで動作確認
 TMPuzzle.Core.Testプロジェクトでテスト
AndroidでPCLを使う
 Visual Studioで参照設定
 Target Android Device を指定
 実機へは adb を使う
 Androidエミュレータは、起動が遅いので、
あらかじめ立ち上げておくとよい。
...
PCLの苦手な部分
 プラットフォーム依存が多い箇所
 インターフェースを使えばできないことはないが、構造が複雑化
 外部ライブラリの依存が多い
 メインプロジェクトにアセンブリを入れる必要がある。
 Azure Mobile Ser...
その他の共通化の方法
 プラットフォーム毎に#ifでビルドして用意する
 Mono.Csharp.dll、SQLite.NET
 プラットフォーム毎のライブラリを利用
 OpenCV(内部でCライブラリの呼び出し)
 ソースコードで共...
参考リンク
 Xamarin - Build mobile apps for iOS, Android, Mac and Windows
http://xamarin.com/
 インサイド Xamarin Build Insider ht...
Upcoming SlideShare
Loading in …5
×

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

742
-1

Published on

MVP Community Camp 2014 の資料
Xamarin で iOS/Android/Windowsストアアプリの共通ライブラリ(ポータブルクラスライブラリ)を作るお話です

Published in: Self Improvement
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
742
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. Xamarinで作るiPhoneと Windowsストアアプリの 共通コンポーネント 増田 智明(@moonmile) .NET ラボ Micorosft MVP C# Moonmile Solutions
  2. 2. 自己紹介&宣伝  増田 智明 masuda@moonmile.net  執筆業  逆引き大全 Visual C# 2013、Visual Basic 2013  逆引き大全 iPhone/iPad アプリ開発  作って覚える iPhone/iPad アプリ入門  ひと目でわかる Visual Studio 2012 アプリケーション開発  プログラマ  CakePHP+WPFで予約システム  Fortran+VC++で構造解析
  3. 3. 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
  4. 4. PCL(Potralb Class Library)とは?  Windowsフォーム、Windows ストアアプリ、Sliverlight、 Windows Phoneで利用できる共通ライブラリ  プラットフォーム間の共通アセンブリを使うことで、 同じコード/アセンブリを使える。  ライブラリとして使いまわしが可能  C#, Visual Basic, F#で作成可能  C:Program Files (x86)Reference Assemblies MicrosoftFramework .NETPortablev4.5ProfileProfile78
  5. 5. 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.
  6. 6. 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
  7. 7. PCLの使いどころ  サーバーとの通信ロジック(Azure Mobile Serviceなど)  ローカルストレージの保存ロジック(SQLite、ローカルファイル)  業務ロジック  ゲームロジック  Viewとは切り離されたデータモデル  MVC、MVVMパターンの活用 View プラット フォーム単位 DataModel Business Logic
  8. 8. Ex. パズルアプリの構造 iOS用 View storyboard Android用 View *.axml WinStore用 View XAML PCL 共通ロジック パズル判定 C# iOS用 個別処理 C# Android用 個別処理 C# WinStore用 個別処理 C# Azure Mobile Service サービス処理 点数登録/パズルDL フロントエンド サービス処理 バックエンド 点数処理
  9. 9. iOSでPCLを使う  Visual Studioで参照設定  Xamarin.iOS Build Hostの設定  ソリューションプラットフォームを 「iPhoneSimulator」に設定  ブレークポイント、デバッグ表示を Visual Studioで制御
  10. 10. WindowsストアアプリでPCLを使う  Visual Studioで参照設定  Windowsシミュレーターで実行  WPFアプリで動作確認  TMPuzzle.Core.Testプロジェクトでテスト
  11. 11. AndroidでPCLを使う  Visual Studioで参照設定  Target Android Device を指定  実機へは adb を使う  Androidエミュレータは、起動が遅いので、 あらかじめ立ち上げておくとよい。  ブレークポイント、デバッグ表示を Visual Studioで制御
  12. 12. PCLの苦手な部分  プラットフォーム依存が多い箇所  インターフェースを使えばできないことはないが、構造が複雑化  外部ライブラリの依存が多い  メインプロジェクトにアセンブリを入れる必要がある。  Azure Mobile ServiceをNuGetで入れる。将来的には?
  13. 13. その他の共通化の方法  プラットフォーム毎に#ifでビルドして用意する  Mono.Csharp.dll、SQLite.NET  プラットフォーム毎のライブラリを利用  OpenCV(内部でCライブラリの呼び出し)  ソースコードで共有  C#コードをリンクで共有
  14. 14. 参考リンク  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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×