Agenda
• Xamarin 基本の “キ”
• 開発環境の構築
• コーディング
• デバッグ実行
• UI テスト自動化
• ユーザー ベータテスト
• まとめ
1
2
C# で Android / iOS アプリ開発
従来はターゲット OS ごと
のスキル、開発言語、開発環境
3
統一された
スキル、開発言語、開発環境
例: データバインドアプリケーション
4
iPhone 6 (実機)
Nexus 7 2013 (実機)
iPad 2 (実機)
Xamarin.Forms で画面の共通化
5
• C# で UI 記述
• プラットフォーム依存の機能を
多用する場合に最適
• XAML / C# で UI 記述
• プラットフォーム固有のコント
ロールにマッピングされる
• 業務アプリなどプラットフォーム
依存機能がない場合に最適
コード共有
6
• プロジェクトの一部として
コンパイル
• プラットフォーム固有機能には
ディレクティブを使用
• 別のライブラリとしてコンパイル
• 単体テストやコードの可読性が
高まる
C#から API を100% 利用可能
7
iOS API Android API
.NET API
Xamarin.iOS / Xamarin.Android
8
• Ahead-of-Time コンパイラで でネイティブ ARMアセンブリを生成
• C# から Object-C ライブラリのバインディング可能
• Watchkit 対応済み
• 最新 iOS SDK リリース同日サポート
• Mono ランタイム上での JIT 実行
• Managed Callable Wrappers / Android Callable Wrappers: JNI
• Android Wear 対応済み
• 最新 SDK リリース後 1-3 ヶ月後にサポート
パフォーマンス
9
• Xamarin でコンパイルされたパッケージサイズは
ネイティブよりも大きくなる
• Xamarin.Forms は、Native UI よりも遅くなる傾向
• パフォーマンスに関する記事 (英語のみ)
• http://chrisrisner.com/articles/xamarin/performance
• パフォーマンスチューニング方法に関するリンク (英語のみ)
• Xamarin.Android
• Xamarin.iOS
10
11
Xamarin Studio
for Mac
Visual Studio
for Windows
開発環境
12
OS Mac OS X Windows
開発環境 Xamarin Studio
Visual Studio
Xamarin for Visual Studio
Xamarin.iOS ○
○
(Mac 機が必要)
Xamarin.Android ○ ○
Xamarin.Forms iOS, Android のみ
Android, Windows Phone, Windows
(iOS は Mac 機が必要)
Mac OS X 上でのシステム要件
13
• iOS 開発環境は予め構築しておく必要あり
• Android SDK は Xamarin Studio と同時にインストール
推奨環境 補足事項
OS OS X El Capitan (10.11) OS X Yosemite (10.10) 以上が必要
Xamarin.iOS iOS 9.2 SDK
Xcode 7.2 を Mac App Store 経由で
インストールする必要あり
Xamarin.Android
Android 6.0 /
API level 23
旧バージョンの SDK も必要に応じて
インストールして利用可能
Windows 上でのシステム要件
14
• Visual Studio 2015 では、インストール時に Xamarin も
一括インストール可能
推奨環境 補足事項
OS Windows 10
Windows 7 以上。
Xamarin.Forms での Windows
開発は、Windows 8.1 以上
Visual Studio Visual Studio 2015
Xamarin.iOS
Visual Studio 2012 以上 +
Xamarin.iOS が利用可能な
Mac 機
Xamarin.Android Android 6.0 / API level 23
旧バージョンの SDK も必要に
応じてインストールして利用可能
ライセンス
15
• Xamarin Studio for Mac での商用アプリ開発には、
MSDN Subscription が必要
• Windows 版は、Visual Studio のライセンスに準じる
Xamarin for Visual Studio
Community
Edition
Professional
Edition
Enterprise
Edition
Android, iOS, and Windows 間でのコード共有 ■ ■ ■
Native iOS, Android UI Designers ■ ■ ■
Xamarin Forms ■ ■ ■
Professional
with MSDN
Enterprise
with MDSN
Xamarin Studio for Mac ■ ■
16
Xamarin Designer for iOS
17
Android Designer
18
Xamarin Inspector & Workbook
19
• コードの変更箇所は即時にアプリ側に反映される
• iOS, Android, Mac, WPF アプリケーションに対応
• スタンドアロンで実行可能
20
Visual Studio Emulator for Android
21
AOSP がベースの
x86 高速イメージ が
Hyper-V 上で動作
様々なセンサーの
シミュレーション
無料かつ
Visual Studio と一緒に
簡単インストール
21
iOS Simulator for Windows
22
• ビルドと実行は Mac 機で行われる
• https://developer.xamarin.com/guides/cross-platform/windows/ios-simulator/
Xamarin Profiler
23
• アロケーションと Time Profiler を利用可能
• Windows 版では Android のみサポート
24
iOS, Android アプリの UI テストも
25
• Xamarin Test Recorder で、UI 自動テストをノンコーディング生成
• Android / iOS アプリパッケージもサポート
• Visual Studio 用 と OS X 用が提供
• Visual Studio 版は Android のみサポート
パッケージを指定して
操作記録
操作のたびにコードが追加。Asset も追加可能
https://www.xamarin.com/test-cloud/recorder
Xamarin Test Cloud
26
• Xamarin Test Recorder で作成した UI テストを実機上で実行
• テストステップごとにスクリーンショットが保存
• 実行には時間がかかるため、CI での実行推奨
27
HockeyApp
28
• Android、Cordova、iOS、OS X、Unity、Windows、Xamarin などを
サポート
• アプリ内でのフィードバックの収集
• クラッシュレポートやユーザーメトリックの収集
• Xamarin Insights 統合予定
29
まとめ
Xamarin は「銀の弾丸」ではないが、
モバイルアプリ開発効率を高められる
ツールセットが提供されている。
30
こんな方にお勧めです!
• Object-C / Swift でコーディングしたくない方 ➡ Xamarin
• ツールの力でとにかく効率化したい方 ➡ MSDN Enterprise
• iOS / Android 開発経験あり ➡ Xamarin Test Cloud
Xamarin ライセンス まとめ
31
Community
Edition
Professional
Edition
Enterprise
Edition
Android, iOS, and Windows 間での
コード共有
■ ■ ■
Native iOS, Android UI Designers ■ ■ ■
Xamarin.Forms ■ ■ ■
Xamarin Inspector Preview ■
Xamarin Profiler Preview ■
Xamarin Test Recorder Preview ■
Professional
with MSDN
Enterprise
with MDSN
Xamarin Test Cloud 25% Off ■
Xamarin Studio 商用ライセンス ■ ■
Xamarin 101 ~環境構築からビルド・テストまで~

Xamarin 101 ~環境構築からビルド・テストまで~

  • 2.
    Agenda • Xamarin 基本の“キ” • 開発環境の構築 • コーディング • デバッグ実行 • UI テスト自動化 • ユーザー ベータテスト • まとめ 1
  • 3.
  • 4.
    C# で Android/ iOS アプリ開発 従来はターゲット OS ごと のスキル、開発言語、開発環境 3 統一された スキル、開発言語、開発環境
  • 5.
    例: データバインドアプリケーション 4 iPhone 6(実機) Nexus 7 2013 (実機) iPad 2 (実機)
  • 6.
    Xamarin.Forms で画面の共通化 5 • C#で UI 記述 • プラットフォーム依存の機能を 多用する場合に最適 • XAML / C# で UI 記述 • プラットフォーム固有のコント ロールにマッピングされる • 業務アプリなどプラットフォーム 依存機能がない場合に最適
  • 7.
  • 8.
    C#から API を100%利用可能 7 iOS API Android API .NET API
  • 9.
    Xamarin.iOS / Xamarin.Android 8 •Ahead-of-Time コンパイラで でネイティブ ARMアセンブリを生成 • C# から Object-C ライブラリのバインディング可能 • Watchkit 対応済み • 最新 iOS SDK リリース同日サポート • Mono ランタイム上での JIT 実行 • Managed Callable Wrappers / Android Callable Wrappers: JNI • Android Wear 対応済み • 最新 SDK リリース後 1-3 ヶ月後にサポート
  • 10.
    パフォーマンス 9 • Xamarin でコンパイルされたパッケージサイズは ネイティブよりも大きくなる •Xamarin.Forms は、Native UI よりも遅くなる傾向 • パフォーマンスに関する記事 (英語のみ) • http://chrisrisner.com/articles/xamarin/performance • パフォーマンスチューニング方法に関するリンク (英語のみ) • Xamarin.Android • Xamarin.iOS
  • 11.
  • 12.
  • 13.
    開発環境 12 OS Mac OSX Windows 開発環境 Xamarin Studio Visual Studio Xamarin for Visual Studio Xamarin.iOS ○ ○ (Mac 機が必要) Xamarin.Android ○ ○ Xamarin.Forms iOS, Android のみ Android, Windows Phone, Windows (iOS は Mac 機が必要)
  • 14.
    Mac OS X上でのシステム要件 13 • iOS 開発環境は予め構築しておく必要あり • Android SDK は Xamarin Studio と同時にインストール 推奨環境 補足事項 OS OS X El Capitan (10.11) OS X Yosemite (10.10) 以上が必要 Xamarin.iOS iOS 9.2 SDK Xcode 7.2 を Mac App Store 経由で インストールする必要あり Xamarin.Android Android 6.0 / API level 23 旧バージョンの SDK も必要に応じて インストールして利用可能
  • 15.
    Windows 上でのシステム要件 14 • VisualStudio 2015 では、インストール時に Xamarin も 一括インストール可能 推奨環境 補足事項 OS Windows 10 Windows 7 以上。 Xamarin.Forms での Windows 開発は、Windows 8.1 以上 Visual Studio Visual Studio 2015 Xamarin.iOS Visual Studio 2012 以上 + Xamarin.iOS が利用可能な Mac 機 Xamarin.Android Android 6.0 / API level 23 旧バージョンの SDK も必要に 応じてインストールして利用可能
  • 16.
    ライセンス 15 • Xamarin Studiofor Mac での商用アプリ開発には、 MSDN Subscription が必要 • Windows 版は、Visual Studio のライセンスに準じる Xamarin for Visual Studio Community Edition Professional Edition Enterprise Edition Android, iOS, and Windows 間でのコード共有 ■ ■ ■ Native iOS, Android UI Designers ■ ■ ■ Xamarin Forms ■ ■ ■ Professional with MSDN Enterprise with MDSN Xamarin Studio for Mac ■ ■
  • 17.
  • 18.
  • 19.
  • 20.
    Xamarin Inspector &Workbook 19 • コードの変更箇所は即時にアプリ側に反映される • iOS, Android, Mac, WPF アプリケーションに対応 • スタンドアロンで実行可能
  • 21.
  • 22.
    Visual Studio Emulatorfor Android 21 AOSP がベースの x86 高速イメージ が Hyper-V 上で動作 様々なセンサーの シミュレーション 無料かつ Visual Studio と一緒に 簡単インストール 21
  • 23.
    iOS Simulator forWindows 22 • ビルドと実行は Mac 機で行われる • https://developer.xamarin.com/guides/cross-platform/windows/ios-simulator/
  • 24.
    Xamarin Profiler 23 • アロケーションとTime Profiler を利用可能 • Windows 版では Android のみサポート
  • 25.
  • 26.
    iOS, Android アプリのUI テストも 25 • Xamarin Test Recorder で、UI 自動テストをノンコーディング生成 • Android / iOS アプリパッケージもサポート • Visual Studio 用 と OS X 用が提供 • Visual Studio 版は Android のみサポート パッケージを指定して 操作記録 操作のたびにコードが追加。Asset も追加可能 https://www.xamarin.com/test-cloud/recorder
  • 27.
    Xamarin Test Cloud 26 •Xamarin Test Recorder で作成した UI テストを実機上で実行 • テストステップごとにスクリーンショットが保存 • 実行には時間がかかるため、CI での実行推奨
  • 28.
  • 29.
    HockeyApp 28 • Android、Cordova、iOS、OS X、Unity、Windows、Xamarinなどを サポート • アプリ内でのフィードバックの収集 • クラッシュレポートやユーザーメトリックの収集 • Xamarin Insights 統合予定
  • 30.
  • 31.
    まとめ Xamarin は「銀の弾丸」ではないが、 モバイルアプリ開発効率を高められる ツールセットが提供されている。 30 こんな方にお勧めです! • Object-C/ Swift でコーディングしたくない方 ➡ Xamarin • ツールの力でとにかく効率化したい方 ➡ MSDN Enterprise • iOS / Android 開発経験あり ➡ Xamarin Test Cloud
  • 32.
    Xamarin ライセンス まとめ 31 Community Edition Professional Edition Enterprise Edition Android,iOS, and Windows 間での コード共有 ■ ■ ■ Native iOS, Android UI Designers ■ ■ ■ Xamarin.Forms ■ ■ ■ Xamarin Inspector Preview ■ Xamarin Profiler Preview ■ Xamarin Test Recorder Preview ■ Professional with MSDN Enterprise with MDSN Xamarin Test Cloud 25% Off ■ Xamarin Studio 商用ライセンス ■ ■