モバイルアプリ開発に必要な一式を提供
1
Visual Studio
Visual Studio for Mac
Visual Studio App Center
Visual Studio Team Services
Android Studio
Native
Xcode
Native
Android
アプリ
iOS
アプリ
Microsoft Azure
2
C# で Android / iOS アプリ開発
従来はターゲット OS ごと
のスキル、開発言語、開発環境
3
統一された
スキル、開発言語、開発環境
C#から API を100% 利用可能
4
iOS API Android API
.NET API
Xamarin.iOS / Xamarin.Android
5
• Ahead-of-Time コンパイラで でネイティブ ARMアセンブリを生成
• C# から Object-C ライブラリのバインディング可能
• Watchkit 対応済み
• 最新 iOS SDK リリース同日サポート
• Mono ランタイム上での JIT 実行
• Managed Callable Wrappers / Android Callable Wrappers: JNI
• Android Wear 対応済み
• 最新 SDK リリース後 1-3 ヶ月後にサポート
パフォーマンス
6
• Xamarin でコンパイルされたパッケージサイズは
ネイティブよりも大きくなる
• Xamarin.Forms は、Native UI よりも遅くなる傾向
• パフォーマンスに関する記事 (英語のみ)
• http://chrisrisner.com/articles/xamarin/performance
• パフォーマンスチューニング方法に関するリンク (英語のみ)
• Xamarin.Android
• Xamarin.iOS
7
Visual Studio for Windows
Visual Studio for Mac
Windows も Mac も Visual Studio で
Visual Studio
for Mac
iOS / Android
.NET Core
Tools for Azure
Visual Studio
サブスクリプ
ション
Community
Edition
提供開始
開発環境
9
OS Mac OS X Windows
開発環境
Xamarin Studio
Visual Studio for Mac
Visual Studio
Xamarin for Visual Studio
Xamarin.iOS ○
○
(Mac 機が必要)
Xamarin.Android ○ ○
Xamarin.Forms iOS, Android のみ
Android, Windows Phone, Windows
(iOS は Mac 機が必要)
Android Designer
10
Xamarin Designer for iOS
11
コード共有
12
• プロジェクトの一部として
コンパイル
• プラットフォーム固有機能には
ディレクティブを使用
• 別のライブラリとしてコンパイル
• 単体テストやコードの可読性が
高まる
Xamarin Profiler
13
• アロケーションと Time Profiler を利用可能
• Windows 版では Android のみサポート
Xamarin.Forms で画面の共通化
14
• C# で UI 記述
• プラットフォーム依存の機能を
多用する場合に最適
• XAML / C# で UI 記述
• プラットフォーム固有のコント
ロールにマッピングされる
• 業務アプリなどプラットフォーム
依存機能がない場合に最適
Xamarin Live Player (PREVIEW)
• iOS / Android に Xamarin Live Player アプリをインストール
• Visual Studio と実機をペアリング
15
iOS, Android アプリの UI テストも
16
• Xamarin Test Recorder で、UI 自動テストをノンコーディング生成
• Android / iOS アプリパッケージもサポート
• Visual Studio 用 と OS X 用が提供
• Visual Studio 版は Android のみサポート
パッケージを指定して
操作記録
操作のたびにコードが追加。Asset も追加可能
https://www.xamarin.com/test-cloud/recorder
17
クラウド上で提供している
サービス
Visual Studio App Center
18
• ライフサイクルサービス ビルド、テスト、配布
• 監視サービス クラッシュログ収集、ログ分析、Push
<対象アプリケーション>
iOS Android Windows macOS
Object-C
Swift
React Native
Xamarin
Java
React Native
Xamarin
Windows 10
ストアアプリ
Object-C
Swift
無料枠あり
21
Azure Mobile Apps
22
• App Service 上で動作するため、イントラネット用途でも利用可能
Visual Studio
Visual Studio for Mac
Visual Studio Code
Visual Studio App Center
Visual Studio Team Services
マイクロソフトモバイルアプリ開発環境の全貌Xamarin, Visual Studio App Center, Azure Mobile Apps

マイクロソフト モバイルアプリ開発環境の全貌 Xamarin, Visual Studio App Center, Azure Mobile Apps