xamarin を使うとどんなことができるの?

58
Xamarin を使うとど んなことができる の? 2015/10/21 JXUGC 名古屋 エクセルソフト株式会社 Business Development Manager 田淵 義人 [email protected] 03-5440-7875 / 080-7015-3586 1

Upload: yoshito-tabuchi

Post on 22-Mar-2017

1.020 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Xamarin を使うとどんなことができるの?

Xamarin を使うとどんなことができるの?

2015/10/21 JXUGC 名古屋エクセルソフト株式会社

Business Development Manager

田淵義人

[email protected]

03-5440-7875 / 080-7015-3586

1

Page 2: Xamarin を使うとどんなことができるの?

Xamarin を使うと C# でなんでもできます

2

Page 3: Xamarin を使うとどんなことができるの?

宣伝 • ユーザーグループに是非ご参加ください• 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)

Page 4: Xamarin を使うとどんなことができるの?

自己紹介 • 田淵義人• 目指せ!Xamarin エバンジェリスト

• 目指せ!開発もチョットデキル営業

• 目指せ!Xamarin でググれの自己紹介

• Twitter を Xamarin でエゴサしてる

• Androider, Google 信者

• Twitter: @ytabuchi

• facebook: ytabuchi.xlsoft

• Blog: http://ytabuchi.hatenablog.com/

Page 5: Xamarin を使うとどんなことができるの?

アジェンダ・ゴール

• クロスプラットフォーム開発の現状

• Xamarin 概要 (さらっと)

• Xamarin ネイティブの開発方法

• Xamarin.Forms の開発方法

• 事例

• 導入方法

5

Page 6: Xamarin を使うとどんなことができるの?

アジェンダ・ゴール

• クロスプラットフォーム開発の現状

• Xamarin 概要 (さらっと)

• Xamarin ネイティブの開発方法

• Xamarin.Forms の開発方法

• 事例

• 導入方法

6

Xamarin に興味を持つアプリを作ってみる

Xamarin を周りに紹介してくれる

Page 7: Xamarin を使うとどんなことができるの?

クロスプラットフォーム開発の現状

7

Page 8: Xamarin を使うとどんなことができるの?

モバイル対応待ったなし

• スマートフォンからのインターネット利用者、2015年冬にはPCを超える可能性

http://www.netratings.co.jp/news_release/2015/05/Newsrelease20150526.html

8

Page 9: Xamarin を使うとどんなことができるの?

分かってるところ

9

Page 10: Xamarin を使うとどんなことができるの?

IPAの大規模調査から見える、企業のモバイル活用の現状

• 半分以上の企業でスマホタブレットを利用

http://news.mynavi.jp/articles/2015/01/16/ipa/

10

Page 11: Xamarin を使うとどんなことができるの?

モバイルアプリ開発に求められるもの

11

Page 12: Xamarin を使うとどんなことができるの?

今までのアプリ開発

12

Page 13: Xamarin を使うとどんなことができるの?

モバイル向けクロスプラットフォーム開発環境

“No silver bullet”

13

Page 14: Xamarin を使うとどんなことができるの?

Xamarin(ザマリン)・ C# / .NET / Visual Studio・ “ネイティブ” アプリ・ API 100% 移植・コード共通化

14

Page 15: Xamarin を使うとどんなことができるの?

Xamarin のしくみ

15

Page 16: Xamarin を使うとどんなことができるの?

Xamarin を使用した開発

16

Page 17: Xamarin を使うとどんなことができるの?

.NET BCL (Mono)

• System.IO• ファイル操作の共通化

• System.NET• ネットワーク操作の共通化

• System.Linq• データ操作の簡素化、共通化

• System.XML• XML 操作の簡素化、共通化

• System.Threading• 上記全般もですが、非同期処理の恩恵

17

Page 18: Xamarin を使うとどんなことができるの?

デモの前に開発環境の説明

• 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

Page 19: Xamarin を使うとどんなことができるの?

Xamarin ネイティブデモ

23

Page 20: Xamarin を使うとどんなことができるの?

デモ振り返り • サンプルプロジェクト• GitHub

• Xamarin ネイティブの開発手法• エクセルソフトのドキュメントページの

• Hello, iPhone

• Hello, Android

• Storyboard Editor, Android Designer

• OS ネイティブの機能を使う方法

• PCL に共通処理を纏める方法

24

Page 21: Xamarin を使うとどんなことができるの?

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

Page 22: Xamarin を使うとどんなことができるの?

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

Page 23: Xamarin を使うとどんなことができるの?

ネイティブイケる

29

Page 24: Xamarin を使うとどんなことができるの?

Xamarin.Forms

30

Page 25: Xamarin を使うとどんなことができるの?

Xamarin.Forms - 画面の共通化

UI “コード”の共通化

ビルド時にネイティブ UI にマップ

XAML

31

Page 26: Xamarin を使うとどんなことができるの?

32

Page 27: Xamarin を使うとどんなことができるの?

Xamarin.Forms デモ

33

Page 28: Xamarin を使うとどんなことができるの?

デモ振り返り • サンプルプロジェクト• GitHub

• 先ほど Xamarin ネイティブで使用した PCLを同じく使用

• Xamarin.Forms でネイティブ機能を使うには?

34

Page 29: Xamarin を使うとどんなことができるの?

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

難しい!断念!

Page 30: Xamarin を使うとどんなことができるの?

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

Page 31: Xamarin を使うとどんなことができるの?

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();

Page 32: Xamarin を使うとどんなことができるの?

事例

39

Page 33: Xamarin を使うとどんなことができるの?

Sakenomy

株式会社エムティーアイ様

http://www.xlsoft.com/jp/products/xamarin/apps_sakenomy.html

40

Page 34: Xamarin を使うとどんなことができるの?

みんなのてんこ

• Xamarin.Forms & BLE 活用事例

株式会社クレスコ様

http://www.xlsoft.com/jp/products/xamarin/apps_minnano_tenko.html

41

Page 35: Xamarin を使うとどんなことができるの?

NHK 紅白

フェンリル株式会社様

http://biz.fenrir-inc.com/application_development/casestudy_app/nhk_kouhaku.html

42

Page 36: Xamarin を使うとどんなことができるの?

最新機能・その他サービス

43

Page 37: Xamarin を使うとどんなことができるの?

Xamarin.Forms for UWP (Preview)

• 【速報】Xamarin.Forms for UWP Preview 版がリリースされました - Xamarin 日本語情報

44

Page 38: Xamarin を使うとどんなことができるの?

Xamarin Android Player

• Virtual Box ベースの高速 Android エミュレーター (Lollipop 対応)

https://xamarin.com/android-player

http://ytabuchi.hatenablog.com/entry/2014/12/11/170945

45

Page 39: Xamarin を使うとどんなことができるの?

Sketches • iOS, Forms などの REPL 環境

• Xamarin.Forms の UI 確認などに最適

https://www.youtube.com/watch?v=v9vEhwomUEY&t=19m0s

http://qiita.com/ytabuchi/items/22b616d7558b41b4726c

46

Page 40: Xamarin を使うとどんなことができるの?

Xamarin Insights

• Crash/Analytics データ収集サービス

• Xamarin ユーザーは無料

https://xamarin.com/insights

http://qiita.com/ytabuchi/items/2da668482e91621ef5ca

47

Page 41: Xamarin を使うとどんなことができるの?

Xamarin Test Cloud

48

Page 42: Xamarin を使うとどんなことができるの?

Xamarin Test Cloud

• UI 自動テストサービス• ローカル版は Xamarin.UITest, Calabash

• 1,700台の実機

https://xamarin.com/test-cloud#video

49

Page 43: Xamarin を使うとどんなことができるの?

Xamarin Test CloudXamarin.UITest デモ

50

Page 44: Xamarin を使うとどんなことができるの?

XTC 資料 • Easily Automate Your Xamarin.Forms Apps | Xamarin Blog

• Cheat Sheet – Xamarin

• Xamarin Test Cloud で UI 自動テストその1 (Android テストコード作成まで) - Youtube

51

Page 45: Xamarin を使うとどんなことができるの?

評価版

http://j.mp/xm-eval

52

Page 46: Xamarin を使うとどんなことができるの?

T-Shirt Store • サンプルプロジェクトをダウンロードしてビルドしてください。船便で Tシャツが届きます!

http://xamarin.com/prebuilt/sharp-shirt

53

Page 47: Xamarin を使うとどんなことができるの?

価格情報 (オタカインデショウ?)

54

Page 48: Xamarin を使うとどんなことができるの?

ライセンス • 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

Page 49: Xamarin を使うとどんなことができるの?

導入方法

56

Page 50: Xamarin を使うとどんなことができるの?

社内の口説き方

• トップ/上司が新しいもの好きか?• 魅力チャンス!

• 社内に Swift/Objective-C 開発者がいるか• 人件費チャンス!

• ライセンス 1人分は、20人日くらい。20 日でiOS/Android アプリ作れますか?

• 評価版でサンプルを作る (短期間で)• 実績チャンス

• 社内の Web サービスを見える化

57

Page 51: Xamarin を使うとどんなことができるの?

顧客の口説き方

• 同じ API を使用するネイティブアプリである事をアピール

• 仕様にネイティブの機能を沢山盛り込む

• アップデートが速いため最新 OS に追従しやすい事をアピール

• ネイティブに「戻りやすい」ことをアピール

• 共通化で品質向上、コスト削減できることをアピール

• Cordova でも UX をきちんと考えると別 UIになり、安くならない事をほのめかす

58

Page 52: Xamarin を使うとどんなことができるの?

まとめ

59

Page 53: Xamarin を使うとどんなことができるの?

Xamarin を使うと C# でなんでもできます

60

Page 54: Xamarin を使うとどんなことができるの?

Xamarin(ザマリン)・ C# / .NET・ “ネイティブ” アプリ・ API 100% 移植・コード共通化

61

Page 55: Xamarin を使うとどんなことができるの?

Xamarin を使用した開発

62

Page 56: Xamarin を使うとどんなことができるの?

Xamarin.Forms - 画面の共通化

UI “コード”の共通化

ビルド時にネイティブ UI にマップ

XAML

63

Page 57: Xamarin を使うとどんなことができるの?

Xamarin Test Cloud

• UI 自動テストサービス• ローカル版は Xamarin.UITest, Calabash

https://xamarin.com/test-cloud#video

64

Page 58: Xamarin を使うとどんなことができるの?

ご清聴ありがとうございます

ご質問がありましたら、田淵までお気軽にどうぞ[email protected] / 03-5440-7875Twitter: @ytabuchiBlog: http://ytabuchi.hatenablog.com/

65