Your SlideShare is downloading. ×
Xamarinで作るiPhoneとwindowsストアアプリの共通コンポーネント
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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

564

Published on

MVP Community Camp 2014 の資料 …

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
564
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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

×