Upload
yoshito-tabuchi
View
1.022
Download
1
Embed Size (px)
Citation preview
Xamarin を使うとどんなことができるの?
2015/10/21 JXUGC 名古屋エクセルソフト株式会社
Business Development Manager
田淵義人
03-5440-7875 / 080-7015-3586
1
Xamarin を使うと C# でなんでもできます
2
宣伝 • ユーザーグループに是非ご参加ください• https://www.facebook.com/groups/xm.jxug
• http://jxug.org
• Xamarin 日本語情報• http://ytabuchi.hatenablog.com
• ペゾルドさんの Xamarin.Forms 本 (PDF)
• http://bit.ly/xmfbook
• Xamarin 本• http://www.amazon.co.jp/dp/4822298345 (書籍)
• http://www.amazon.co.jp/gp/product/B00MN5P6PY (Kindle)
自己紹介 • 田淵義人• 目指せ!Xamarin エバンジェリスト
• 目指せ!開発もチョットデキル営業
• 目指せ!Xamarin でググれの自己紹介
• Twitter を Xamarin でエゴサしてる
• Androider, Google 信者
• Twitter: @ytabuchi
• facebook: ytabuchi.xlsoft
• Blog: http://ytabuchi.hatenablog.com/
アジェンダ・ゴール
• クロスプラットフォーム開発の現状
• Xamarin 概要 (さらっと)
• Xamarin ネイティブの開発方法
• Xamarin.Forms の開発方法
• 事例
• 導入方法
5
アジェンダ・ゴール
• クロスプラットフォーム開発の現状
• Xamarin 概要 (さらっと)
• Xamarin ネイティブの開発方法
• Xamarin.Forms の開発方法
• 事例
• 導入方法
6
Xamarin に興味を持つアプリを作ってみる
Xamarin を周りに紹介してくれる
クロスプラットフォーム開発の現状
7
モバイル対応待ったなし
• スマートフォンからのインターネット利用者、2015年冬にはPCを超える可能性
http://www.netratings.co.jp/news_release/2015/05/Newsrelease20150526.html
8
分かってるところ
9
IPAの大規模調査から見える、企業のモバイル活用の現状
• 半分以上の企業でスマホタブレットを利用
http://news.mynavi.jp/articles/2015/01/16/ipa/
10
モバイルアプリ開発に求められるもの
11
今までのアプリ開発
12
モバイル向けクロスプラットフォーム開発環境
“No silver bullet”
13
Xamarin(ザマリン)・ C# / .NET / Visual Studio・ “ネイティブ” アプリ・ API 100% 移植・コード共通化
14
Xamarin のしくみ
15
Xamarin を使用した開発
16
.NET BCL (Mono)
• System.IO• ファイル操作の共通化
• System.NET• ネットワーク操作の共通化
• System.Linq• データ操作の簡素化、共通化
• System.XML• XML 操作の簡素化、共通化
• System.Threading• 上記全般もですが、非同期処理の恩恵
17
デモの前に開発環境の説明
• Windows で開発したい• Windows マシン (Android はこれのみで OK)
• Visual Studio 2013, 2015 を推奨
• Xamarin と Android SDK, Java など
• Mac マシン (iOS のビルドに必須)• Xcode と iOS SDK
• Xamarin
• Mac で開発したい• Mac マシン
• Xcode と iOS SDK
• Android SDK, Java
• Xamarin
22
Xamarin ネイティブデモ
23
デモ振り返り • サンプルプロジェクト• GitHub
• Xamarin ネイティブの開発手法• エクセルソフトのドキュメントページの
• Hello, iPhone
• Hello, Android
• Storyboard Editor, Android Designer
• OS ネイティブの機能を使う方法
• PCL に共通処理を纏める方法
24
Location -Android
• Location• Location Services – Xamarin
• GPS Provider –正確な位置情報。電池使用量大。
• Network Provider – Wi-Fi と 3G で位置情報。電池使用量は少ない。精度にばらつきアリ。
• Passive Provider –他のアプリが取得した位置情報。
• AndroidでGPS(位置情報取得) - Qiita
• Map• Part 2 - Maps API - Xamarin
• Xamarin.Androidで地図を表示するには?(Google Maps使用) - Build Insider マップ表示
• Xamarin.Androidで地図を操作するには?(Google Maps使用) - Build Insider マップ移動
• Xamarin.Androidで地図にマーカーを表示するには?(Google Maps使用) - Build Insider ピン
26
Location -iOS
• Location• Core Location – Xamarin
• Xamarin.iOS で GPS を使う – Qiita
• Map• iOS Maps - Xamarin
• Xamarin.iOSで地図を表示するには?(MapKit使用) - Build Insider Map 表示
• Xamarin.iOSで地図にマーカーを表示するには?(MapKit使用) - Build Insider Pin
28
ネイティブイケる
29
Xamarin.Forms
30
Xamarin.Forms - 画面の共通化
UI “コード”の共通化
ビルド時にネイティブ UI にマップ
XAML
31
32
Xamarin.Forms デモ
33
デモ振り返り • サンプルプロジェクト• GitHub
• 先ほど Xamarin ネイティブで使用した PCLを同じく使用
• Xamarin.Forms でネイティブ機能を使うには?
34
XLabs.Forms • Geolocator · XLabs/Xamarin-Forms-Labs Wiki
• Sakenomyの開発経緯と内容をできるだけ公開しちゃいます
36
@ytabuchi XLabs.FormsでIGeolocatorをDependencyService.Get<IGeolocator>();で呼び出しただけだとインスタンスかオブジェクトが無いと怒られている…?@AyaseSH そこでコピーして貼り付けですよ@ytabuchi ビルドエラーを直すのにGeolocationContinuousListener.cs とGeolocationSingleListener.cs も必要な感じでした。後System.Threading.Taskが参照に追加できなくて詰んだ感じがするw
難しい!断念!
Xamarin.Mobile &その派生
• Geolocator Plugin for Xamarin and Windows• Simple cross platform plugin to get GPS
location including heading, speed, and more.
• Ported from Xamarin.Mobile to a cross platform API.
• Map Control – Xamarin• Xamarin.Forms のマップコントロール
37
Xam.Plugin Geolocator - PCL
38
var locator = CrossGeolocator.Current; var loc = await locator.GetPositionAsync(10000);
Lat.Text = "Lat: " + loc.Latitude.ToString();Lon.Text = "Lon: " + loc.Longitude.ToString();
事例
39
Sakenomy
株式会社エムティーアイ様
http://www.xlsoft.com/jp/products/xamarin/apps_sakenomy.html
40
みんなのてんこ
• Xamarin.Forms & BLE 活用事例
株式会社クレスコ様
http://www.xlsoft.com/jp/products/xamarin/apps_minnano_tenko.html
41
NHK 紅白
フェンリル株式会社様
http://biz.fenrir-inc.com/application_development/casestudy_app/nhk_kouhaku.html
42
最新機能・その他サービス
43
Xamarin.Forms for UWP (Preview)
• 【速報】Xamarin.Forms for UWP Preview 版がリリースされました - Xamarin 日本語情報
44
Xamarin Android Player
• Virtual Box ベースの高速 Android エミュレーター (Lollipop 対応)
https://xamarin.com/android-player
http://ytabuchi.hatenablog.com/entry/2014/12/11/170945
45
Sketches • iOS, Forms などの REPL 環境
• Xamarin.Forms の UI 確認などに最適
https://www.youtube.com/watch?v=v9vEhwomUEY&t=19m0s
http://qiita.com/ytabuchi/items/22b616d7558b41b4726c
46
Xamarin Insights
• Crash/Analytics データ収集サービス
• Xamarin ユーザーは無料
https://xamarin.com/insights
http://qiita.com/ytabuchi/items/2da668482e91621ef5ca
47
Xamarin Test Cloud
48
Xamarin Test Cloud
• UI 自動テストサービス• ローカル版は Xamarin.UITest, Calabash
• 1,700台の実機
https://xamarin.com/test-cloud#video
49
Xamarin Test CloudXamarin.UITest デモ
50
XTC 資料 • Easily Automate Your Xamarin.Forms Apps | Xamarin Blog
• Cheat Sheet – Xamarin
• Xamarin Test Cloud で UI 自動テストその1 (Android テストコード作成まで) - Youtube
51
評価版
http://j.mp/xm-eval
52
T-Shirt Store • サンプルプロジェクトをダウンロードしてビルドしてください。船便で Tシャツが届きます!
http://xamarin.com/prebuilt/sharp-shirt
53
価格情報 (オタカインデショウ?)
54
ライセンス • 1 開発者向け Subscription ライセンス
• 1 年間のバージョンアップと弊社から 1年間のサポートが付属
• 1 年後に更新時のライセンス費用で更新
製品名 価格(税別)
Xamarin.iOS Business ¥127,800
Xamarin.Android Business ¥127,800
Xamarin.iOS Enterprise ¥243,000
Xamarin.Android Enterprise ¥243,000
55
導入方法
56
社内の口説き方
• トップ/上司が新しいもの好きか?• 魅力チャンス!
• 社内に Swift/Objective-C 開発者がいるか• 人件費チャンス!
• ライセンス 1人分は、20人日くらい。20 日でiOS/Android アプリ作れますか?
• 評価版でサンプルを作る (短期間で)• 実績チャンス
• 社内の Web サービスを見える化
57
顧客の口説き方
• 同じ API を使用するネイティブアプリである事をアピール
• 仕様にネイティブの機能を沢山盛り込む
• アップデートが速いため最新 OS に追従しやすい事をアピール
• ネイティブに「戻りやすい」ことをアピール
• 共通化で品質向上、コスト削減できることをアピール
• Cordova でも UX をきちんと考えると別 UIになり、安くならない事をほのめかす
58
まとめ
59
Xamarin を使うと C# でなんでもできます
60
Xamarin(ザマリン)・ C# / .NET・ “ネイティブ” アプリ・ API 100% 移植・コード共通化
61
Xamarin を使用した開発
62
Xamarin.Forms - 画面の共通化
UI “コード”の共通化
ビルド時にネイティブ UI にマップ
XAML
63
Xamarin Test Cloud
• UI 自動テストサービス• ローカル版は Xamarin.UITest, Calabash
https://xamarin.com/test-cloud#video
64
ご清聴ありがとうございます
ご質問がありましたら、田淵までお気軽にどうぞ[email protected] / 03-5440-7875Twitter: @ytabuchiBlog: http://ytabuchi.hatenablog.com/
65