20171202 xamarinの歩き方

27
Xamarinの歩き方 Xamarin入門者の集い#4 supported by teratail 2017/12/2(土) レバレジーズ株式会社 田淵義人@エクセルソフト Twitter: @ytabuchi facebook: ytabuchi.xlsoft 080-7015-3586

Upload: yoshito-tabuchi

Post on 22-Jan-2018

698 views

Category:

Mobile


0 download

TRANSCRIPT

Xamarinの歩き方

Xamarin入門者の集い#4supported by teratail2017/12/2(土) レバレジーズ株式会社

田淵義人@エクセルソフト

Twitter: @ytabuchi

facebook: ytabuchi.xlsoft

080-7015-3586

営業(セールスエンジニア) 兼 新規事業開発室 室長

Xamarin コミュニティエバンジェリストMicrosoft MVP Visual Studio and Development Technologies

Xamarin MVP

コミュニティJapan Xamarin User Group 主宰

Twitter: @ytabuchi

facebook: ytabuchi.xlsoft

Blog: Xamarin 日本語情報

2

田淵義人@エクセルソフト

モバイル好き

JXUG 主宰

勉強会参加者のスキル

アプリ

IT勉強会検索(Android)

3

Xamarin を勉強した理由

Xamarin でどんなアプリが作れるの?

フェンリル株式会社 様

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

NHK 紅白

5

Xamarinとは

銀の弾丸ではない

C# / .NET / Visual Studio

フル “ネイティブ” アプリ

API 100% 移植

コード共通化

Xamarin

8

C#

9

button.Click += async (sender, e) =>{

var client = new HttpClient();using (var reader = new StreamReader(await client.GetStreamAsync("xxx"))){

var deserializer = new XmlSerializer(typeof(Rss));var latest = deserializer.Deserialize(reader) as Rss;var feed = latest.Channel.Items

.Where(x => x.Link.Contains("xamarin"))

.Select(x => x.Title).ToList();}

};

2つの開発手法

Shared C# App Logic

(PCL)

Shared XAML/C# UI Code

(Xamarin.Forms)

iOS

C# UI

Shared C# App Logic

(PCL)

Android

C# UI

Windows

C# UI

Xamarin.FormsXamarin Nativeロジックのみ共通化

UIはネイティブで個別に作りこむ

10

Xamarin.Forms

ワンソース

ネイティブのUI/UX

11

必要な知識

プラットフォーム個別

Xamarin Native

iOS API Objective-C, Swift Xcode

Android API Java Android Studio

Windows API Visual StudioC#

API 言語 統合開発環境

iOS API Objective-C, Swift Xcode

Android API Java Android Studio

Windows API Visual StudioC#

Xamarin.Forms

iOS API

Android API

Windows API

Objective-C, Swift Xcode

Java Android Studio

Visual StudioC#Xamarin.Forms

UI toolkit

12

13

対応可能な OS

Windows Mac OS X

Visual Studio Xamarin Studio

iOS ○(要Mac) ○

Android ○ ○

Mac × ○

UWP ○ ×

Windows Phone ○ ×

Windowsストア ○ ×

共通化の仕組み

PCL/.NET Standard vs Shared

#if __ANDROID__

#if __IOS__

15

Windows

AndroidiOS

Xamarin で使う .NET Standard ライブラリ/PCL(Portable Class Library)/Shared Project について

.NET Standard/PCL/Shared Library

16

C#er/XAMLer/WPF/UWP → XF

iOS/Android ネイティブ経験者 → XN

素早く簡単に作る → XF

きれいに細かく作る → XN

社内プロジェクト → XF

受託開発 → XN? XF?

HTML/JS → Cordova? ReactNative?

17

Xamarin.Forms VS Xamarin ネイティブ VS X

Xamarinの歩き方

優しく始めたい

Android SDK をちゃんとインストールすれば怖くないWindows で Xamarin 開発をしたい方はインストールする前に読んでほしい -Xamarin 日本語情報

丁寧に環境構築

19

Xamarin逆引きTips - Build Insider

Xamarinに関する投稿 - Qiita

Insider.NET > .NET TIPS - @IT

JXUG : 関連ページ、ブログ一覧

Xamarin 日本語ドキュメントの紹介 : XLsoft エクセルソフト

20

日本語ドキュメントを読む

プログラミング Xamarin 上巻

Xamarin ネイティブによるモバイルアプリ開発

Essential Xamarin

Xamarinプログラミング入門 C#によるiOS、Androidアプリケーション開発の基本

基礎から学ぶ Xamarinプログラミング

かずきのXamarin.Forms入門

21

書籍

Xamarin ハンズオン (初級)

Xamarin.Android ListView ハンズオン (初級)

Xamarin Dev Days Tokyo ハンズオン (中級)

Xamarin&Microsoft Cognitive Services ハンズオン (中級)

Xamarin.Forms CustomRenderer ハンズオン (中級)

Xamarin.Forms&Prism.Forms、Moq ハンズオン (上級)

JXUG で主催しているハンズオンやもくもく会に参加http://jxug.connpass.com

22

手を動かす

Teratail

Twitter ( #Xamarin #JXUG タグで呟く)

JXUG facebook グループに投げる

23

聞く

読む・見る・聞く・調べるGuides - Xamarin (ドキュメント)

Recipes - Xamarin (逆引き辞典)

Xamarin Blog

Xamarin channel - Youtube (セッション動画)

Xamarin Forums

Stackoverflow

PreBuilt アプリBuild Apps Quickly using Prebuilt App Templates - Xamarin

24

英語ドキュメント

Xamarin.iOS, Xamarin.Android は iOS API /Android API の薄いラッパーである

ネイティブの情報を探して Xamarin で使う

25

iOS/Android ネイティブの情報

Japan Xamarin User Group

http://jxug.org

http://jxug.connpass.com

是非遊びにきてください(^^)

26

ありがとうございました

田淵義人@エクセルソフト

Twitter: @ytabuchi

facebook: ytabuchi.xlsoft

080-7015-3586