クロスプラットフォーム
モバイルアプリ開発ツール
Xamarin 概要
エクセルソフト株式会社 営業部
Business Development Manager
田淵 義人
ytabuchi@xlsoft.com
03-5440-7875 / 080-7015-3586
2014/4 © XLsoft K.K.
会社概要
名称 エクセルソフト株式会社
設立 平成3年7月1日
所在地 東京都港区三田3-9-9
資本金 1000万円
事業内容 ソフトウェアの開発・販売事業
主要取引先 伊藤忠テクノソリューションズ、インテル、SCSK、HPCシステムズ、NTTコムウェア、NTTデータ、シネッ
クスインフォテック、新日鉄住金ソリューションズ、ソニー、ソフトバンクBB、ダイワボウ情報システム、東
芝、日本アイ・ビー・エム、日本SGI、日本電気、日本ヒューレット・パッカード、日本ユニシス、ネット
ワールド、野村総合研究所、パナソニック、日立製作所、富士通、マイクロソフト、三菱電機 等
関連会社 XLsoft Corporation アメリカ カリフォルニア州
「開発ツールはエクセルソフトで」をモットーに。
販売/サポートだけでなく、運用もお客様と一緒に考えます。
大きい会社ではありませんが、レスポンスの速さと技術の高さが自慢です。
はじめに
モバイル デバイスのシェア
• 家庭市場の所有率はタブレット 20.1%、スマートフォン 49.8% - IDC Japan
• 2014年はタブレットが、ノートPCとデスクトップPCを合わせた台数とほぼ同じになる - Canalys
• 2012年度の法人向けタブレット端末出荷は79万台。2015年度には2.2倍に。 - ICT総研
国内モバイル/クライアントコンピューティング機器 家庭ユーザー利用実態調査結果を発表 http://j.mp/1jDKQMx
ニュース - タブレット端末の世界出荷台数、2014年はパソコンと同水準に、Canalysの推計:ITpro http://j.mp/1flA8Dp
2013年度 法人向けタブレット端末の市場予測:レポート|ICT総研 市場調査・マーケティングカンパニー http://j.mp/1cBUTdc
「うちもモバイル対応を
考えてるんだよね…」
「この提案、Android や
iPhone で出来ないかな?」
こんなお客様のご要望が
どんどん出てきます!
「Windows アプリの資産を
iOS/Android に使いまわす
ことはできないのかな…?」
こんな声があれば
選択肢は一つです。
シナリオ
速い納期
安い価格
高いUX
開発に求められるもの
クロスプラットフォーム開発
選択肢
今までのクロスプラットフォーム開発
ブラウザー
OS (iOS, Android, Windows)
Web
ハイブリッド
HOTなクロスプラットフォーム開発
ブラウザー
Xamarin
OS (iOS, Android, Windows)
Web
ハイブリッド
Xamarinとは?
Xamarin(ザマリン)
=企業名、製品ブランド名
=C# で iOS/Android のネイテ
ィブアプリを作成できる開発ツール
企業名/製品ブランド名
• Gnome, Mono の開発者である Migel de Icaza(ミゲル・デ・イカザ
)氏が2011年にローンチした会社
Gnome:Linux のデスクトップ環境
Mono:.NET Framework 互換の環境を実現する OSS
Mono は 2001年7月に OSS 化され .NET 1.0 から対応
• Xamarin.Android, Xamarin.iOS, Xamarin.Mac, Xamarin
Studio などの総称
Mono (ソフトウェア) - Wikipedia
http://j.mp/1p8kRjF
Mono の .NET 互換状況
http://www.mono-project.com/Compatibility
Xamarin の特徴
“フル” ネイティブ動作
C#からすべての API が使える
パフォーマンス高
コンパイルされたパッケージ
C#, .NET, Visual Studio
既存の資産やスキルを活用
出来ること
C#/Visual Studio で開発
ビジネスロジックの共通化
OS の機能を全て使う
“フル” ネイティブ
更に
既存の Windows アプリ資産の
有効活用
C#/Visual Studio で開発
• async/await, LINQ, ラムダ式などの C# の実装が使える
• Java, Objective-C を書く必要がない
• TFS, Resharper などのエコシステムを活用できる
button.TouchUpInside += (s, e) => {
message.Text = "Hello!";
};
from p in Table<Person> ()
where p.ID == id
select p;
http://xamarin.com/csharp
ビジネスロジックの共通化
• どこを共通化できるか?
OS 毎に開発
UI を定義する部分
OS 固有の機能を実装する部分
定義した UI に対してデータのやり取りをする部分
共通化
ロジック (データベースへのアクセス、通信処理など) 部分
定義した UI に対してデータのやり取りをする部分
• どのように共通化するのか?
PCL (Portable Class Library) を活用
リンク参照
フレームワークを使用
PCL 版サンプルプロジェクト http://jp.xlsoft.com/demo2/xamarin/TaskyPortable_ja.zip
リンク参照版サンプルプロジェクト http://jp.xlsoft.com/demo2/xamarin/TaskyPro_ja_2012.zip
OS の機能を全て使う - iOS
• レシピ集
• API
レシピ集 http://docs.xamarin.com/recipes/
iOS API http://iosapi.xamarin.com/
OS の機能を全て使う - Android
• レシピ集
• API
レシピ集 http://docs.xamarin.com/recipes/
iOS API http://androidapi.xamarin.com/
“フル” ネイティブ
Xamarin.iOS は、フル AOT
(Ahead Of Time) コンパイル
で、Apple の App Store に対
応した ARM バイナリを生成。
Xamarin.Android は、
Android デバイスの JIT (Just
In Time) コンパイルを利用。サ
イズも小さい。
Application Package Sizes | Xamarin
http://docs.xamarin.com/guides/android/advanced_topics/application_package_sizes/
出来ること
(Demo)
出来ないこと
Write Once,
Run Anywhere
OS 固有の機能と UI はある程度
の知識を持って個別に開発する必
要がある。
また、Windows だけでは iOS ア
プリは開発できない。
少し詳しく
• すべてを共通化することはできないので、OS 固有の機能と UI は個別に開
発する
共通化できるのはアプリのロジック部分のみだが、Xamarin.Mobile,
MvvmCross などの手法により共通化部分を増やすことは可能
• C# が書けます!だけでは不十分かも
ある程度 Java, Objective-C でのネイティブアプリ開発経験があるとベター
• iOS の画面作成は次の方法が用意されている。
Visual Studio 上で UI を C# で記述する
Mac の Xcode Interface Builder 上で UI をドラッグ&ドロップで作成する
必要なシステム
開発OS 対象 OS IDE 必要なシステム
Windows
iOS
Visual Studio
Windows
• Windows 7 以上
• Visual Studio 2010/2012/2013 Professional 以上(Express 未対応)
• Xamarin.iOS (Xamarin 統合インストーラーに同梱)
Mac
• OS X Lion 10.8 以上
• Xcode 5
Xamarin Studio 未対応
Android
Visual Studio
• Windows 7 以上
• Visual Studio 2010/2012/2013 Professional 以上(Express 未対応)
• J2SDK 1.6/1.7 32bit (Xamarin 統合インストーラーに同梱)
• Android SDK, NDK (Xamarin 統合インストーラーに同梱)
• Gtk# (Xamarin 統合インストーラーに同梱)
• Xamarin.Android (Xamarin 統合インストーラーに同梱)
Xamarin Studio
• Windows 7 以上
• J2SDK 1.6/1.7 32bit (Xamarin 統合インストーラーに同梱)
• Android SDK, NDK (Xamarin 統合インストーラーに同梱)
• Gtk# (Xamarin 統合インストーラーに同梱)
• Xamarin.Android (Xamarin 統合インストーラーに同梱)
Mac
iOS Xamarin Studio
• OS X Lion 10.8 以上
• Xcode 5
• Xamarin.iOS (Xamarin 統合インストーラーに同梱)
Android Xamarin Studio
• OS X Lion 10.7 以上
• J2SDK 1.6/1.7
• Android SDK, NDK (Xamarin 統合インストーラーに同梱)
• Xamarin.Android (Xamarin 統合インストーラーに同梱)
価格・評価版
ライセンス体系、価格、サポート
• Xamarin.iOS Business Subscription
Xamarin.Android Business Subscription
1 開発者の永続ライセンス。
弊社から 1年間 日本語でのサポート、1年間のバージョンアップ
• 1開発者、1プラットフォーム毎、1年毎に ¥127,800 です。
ボリュームディスカウントがあります。
評価版
http://j.mp/xamarin-dl
事例
Rdio: 50,000 行のコードを共有
• Rdio は、ミュージック ストリーム サービスで、
17ヶ国で 2000万曲を提供しています。
• アプリの開発チームは、以前は、プラットフォ
ームごとのコードベースでビルドとメンテナンス
を行っていました。
• Xamarin を使用することで、現在の Rdio
は iOS、Android、Windows 間で
50,000 行の C# のコードを共有でき、開
発チームは、機能やユーザー エクスペリエン
スに集中することができました。
Xamarin 事例 : XLsoft エクセルソフト
http://www.xlsoft.com/jp/products/xamarin/apps.html
Apps built using Xamarin - Xamarin
http://xamarin.com/apps
pCloud
• オンラインストレージアプリ
自動アップロード
スマホ内の写真、ビデオなどに簡
単にアクセス
ファイルサイズ制限なし
オフラインファイルなど
• 一般的なオンラインストレージの
機能はすべて備わっています
• iPhone, Android アプリ
pCloud
http://xamarin.com/apps/app/pcloud
Xamarin 事例紹介 - pCloud
http://ytabuchi.hatenablog.com/entry/2014/03/20/142755
Android
iPhone
Hitcents - Draw a Stickman EPIC
• MonoGame を利用
XNA 4 の OSS 実装
• 95%コードを共通化
• iPhone, iPad, Android,
Windows ストアアプリ
Draw A Stickman EPIC now available for iPhone, iPad and Windows 8 | Xamarin Blog
http://blog.xamarin.com/draw-a-stickman-epic-now-available-for-iphone-ipad-and-windows-8-2/
MonoGame - Write Once, Play Everywhere - Home
http://monogame.codeplex.com/
Kick The Ball
• 3Dゲーム
• スムーズに動作し
ボールが当たった
時の 3D の計算
もバッチリです。
• iPhone, iPad,
Android アプリ
Keck The Ball
http://j.mp/QC8P2o
Xamarin 事例紹介 - Kick The Ball
http://ytabuchi.hatenablog.com/entry/2014/04/07/185112
iPhone
iPad
Android
Microsoft &
Xamarin &
XLsoft
Microsoft と Xamarin の活動:
全社的により緊密な関係
• 2013/11/13 Microsoft と Xamarin がグローバルパートナーシップを発表
• Build 2014 で .NET Foundation の設立を発表。Xamarin も参画し、
.NET 周りの技術や Xamarin.Mobile などが OSS に
• Microsoft Japan
Microsoft Conference 2013 でのご紹介
Developer Summit 2014 でのご紹介
De:code
Microsoft and Xamarin Partner Globally to Help You Build Great Apps | Xamarin Blog http://j.mp/N1GX5S
iOS / Android / Windows すべてに対応したアプリを作るには [ MSC 2013 ] http://j.mp/1gKLC6S
Xamarin と Visual Studio でまとめて作る iOS / Android / Windows アプリ ( Developers Summit 2014 ) http://j.mp/1nFx8G9
Windows Azure モバイル サービス SDK の GitHub でのオープン ソース化と、Xamarin とのパートナーシップ提携に関するお知らせ http://bit.ly/WgvZZS
まとめ
「うちもモバイル対応を
考えてるんだよね…」
「この提案、Android や
iPhone で出来ないかな?」
こんなお客様のご要望が
どんどん出てきます!
「Windows アプリの資産を
iOS/Android に使いまわす
ことはできないのかな…?」
こんな声があれば
選択肢は一つです。
Xamarin の特徴
“フル” ネイティブ動作
C#からすべての API が使える
パフォーマンス高
コンパイルされたパッケージ
C#, .NET, Visual Studio
既存の資産やスキルを活用
ご清聴
ありがとうございます
ご質問がありましたら、田淵までお気軽にどうぞ
ytabuchi@xlsoft.com
080-7015-3586 / 03-5440-7875
Twitter: @ytabuchi
Blog: http://ytabuchi.hatenablog.com/

クロスプラットフォーム モバイルアプリ開発ツール Xamarin 概要