Xamarin 実戦投入時に気をつけたいことあれこれ

16
Xamarin 実実実実実実実実実実実実実実実実実実 2016 実 5 実 7 実 JXUGC #13 実実 実実実実

Transcript of Xamarin 実戦投入時に気をつけたいことあれこれ

Page 1: Xamarin 実戦投入時に気をつけたいことあれこれ

Xamarin 実戦投入時に気をつけたいことあれこれ2016 年 5 月 7 日  JXUGC #13  東京鈴木友宏

Page 2: Xamarin 実戦投入時に気をつけたいことあれこれ

自己紹介

鈴木友宏 業務アプリの開発者です。 車とドライブをこよなく愛する逸般人一般人です。

ほそぼそと Blog もやっています。http://hiro128.hatenablog.jp/

2

Page 3: Xamarin 実戦投入時に気をつけたいことあれこれ

Xamarin が無料で使えるようになりました。

Xamarin 実戦投入時に気をつけたいことに再確認します!

3

これを機に、実戦投入をお考えの方も多いかと思います。

Page 4: Xamarin 実戦投入時に気をつけたいことあれこれ

今日お話しすること

4

• Xamarin で何が時短できるのか?

• Xamarin Native OR Xamarin Forms ?• Xamarin に表はありますか?

•おまけ

Page 5: Xamarin 実戦投入時に気をつけたいことあれこれ

Xamarin.Forms を使えば、ネイティブを知らなくてもiOS, Android のアプリが開発できるの?

5

Xamarin があまりに COOL 過ぎるため起こる誤解…

Xamarin.Forms を使えば、iOS, Android の UI がワンソースで簡単にできるの?

ちょっと違います…

Page 6: Xamarin 実戦投入時に気をつけたいことあれこれ

Xamarin には 2 つの開発方法があります

6

Xamarin   Native Xamarin   Formsロジックのみ共通化

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

ロジックと UI を共通化

UI は各プラットフォームの

同じ役割の UI が自動マッピング

Shared C# App Logic(PCL)

iOSC# UI

AndroidC# UI

WindowsC# UI

Shared C# App Logic(PCL)

Shared C# UI Code(Xamarin.Forms)

Page 7: Xamarin 実戦投入時に気をつけたいことあれこれ

Xamarin で何が時短できるのか?①知識の習得を時短!

7

プラットフォーム個別

Xamarin Native

iOS   API Objective-C, Swift XcodeAndroid   API Java Android Studio

Windows   API Visual StudioC#

Xamarin で開発 →  iOS, Android の API の知識は必須

API 言語 統合開発環境

iOS   API Objective-C, Swift Xcode

Android   API Java Android Studio

Windows   API Visual StudioC#

ほぼ不要と思いたい

iOS   APIAndroid   API

Windows   APIXamarin.Forms

Objective-C, Swift Xcode

Java Android StudioVisual StudioC#Xamarin.Forms

UI toolkit

ほぼ不要と思いたい

Xamarin.Forms でも必要

Page 8: Xamarin 実戦投入時に気をつけたいことあれこれ

Xamarin で何が時短できるのか?②開発工数を時短!

8

Xamarin  Native Xamarin   Forms

ロジックのみ共通化

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

ロジックと UI を共通化

UI は各プラットフォームの

同じ役割の UI が自動マッピング

Shared C# App Logic(PCL)

iOSC# UI

AndroidC# UI

WindowsC# UI

Shared C# App Logic(PCL)

Shared C# UI Code(Xamarin.Forms)

ポイント 1

PCL では、 .NET の資産が使える。async/await, LINQ, HttpClient,

Azure Easy Tables etc.

ポイント 3

ポイント 2 ロジック部分を共通化できる。App Logic 部分を共通化できる。

• ネイティブ部分も含め全部 C# で書ける!

• Visual Studio で開発可能• ReSharper などのアドインが使える

Page 9: Xamarin 実戦投入時に気をつけたいことあれこれ

Xamarin Native OR Xamarin Forms ?

9

Xamarin Native (ロジックのみ共通化) Xamarin Forms ( UI も共通化)

UI の作りこみが”理論的に“可能か(ドット単位での細かな調整など)

◎ ネイティブと同様に可能 ○ “ 頑張れば“ネイティブと同様に可能

UI の作りこみに必要な知識 ◎ ネイティブ UI の理解 △ ネイティブ UI の理解+   Xamarin.Forms のレンダラの理解

プラットフォーム固有機能の利用 ◎ ネイティブと同様に可能。

トラブっても解析は比較的容易 ○ Plugins for Xamarin, Dependency Service 等で可能だが、トラブった場合多少解析が面倒

実戦での開発工数(超個超人的見解) ○ Xamarin.Forms と大差なし ○ Xamarin Native と大差なし

技術的投資価値(超個超人的見解) △ これ以上革新的な発展の可能性は少ない。

(新 API には追随) ◎ Xamarin.Forms は鋭意進化中今後更なるブレイクスルーが期待できる。

Shared C# App Logic(PCL)

iOSC# UI

AndroidC# UI

WindowsC# UI

Shared C# App Logic(PCL)

Shared C# UI Code(Xamarin.Forms)

Page 10: Xamarin 実戦投入時に気をつけたいことあれこれ

業務アプリを開発し始めると気がつくこと

10

安心してください!ありますよ!(サードパーティですが…)

お客様「 Excel みたいな表が欲しいんだけど…」開発会社「えーと…(いやー表は無いんだよな~

汗)」

Page 11: Xamarin 実戦投入時に気をつけたいことあれこれ

Syncfusion Essential Studio for Xamarin

11

https://www.syncfusion.com/products/xamarin

Xamarin 用は開発者 1 人当たり、$99

Xamarin.iOSXamarin.AndroidXamarin.Forms対応

Page 12: Xamarin 実戦投入時に気をつけたいことあれこれ

まとめ

12

Xamarin では各プラットフォームのネイティブ API の知識が必須メリット

• Visual Studio と C# で開発できる。 ReSharper などのアドインがそのまま使える。

• Xamarin Native, Xamarin Forms ともにロジック部分を共通化できる。

• PCL 部分は .NET Framework のサブセットのため、 .NET の資産がかなりのレベルで使える。

留意点

• Xamarin.Forms を使ったからといって、 各プラットフォーム Native の知識が不要にはならない、逆に実戦投入するなら細かいレベルでの理解が必要。

• Xamarin.Forms を使ったからといって、 Xamarin Native に比べて工数大幅削減は期待できない。むしろ顧客の細かい要望に応えるためには苦労も多くなる。

• だが、 Xamarin.Forms は今後さらに進化していくはずなので、同じ苦労をするなら、 Xamarin.Forms に投資する価値は十分にある。

• 表が使いたければ Syncfusion Essential Studio for Xamarin が便利

Page 13: Xamarin 実戦投入時に気をつけたいことあれこれ

ちなみに Xamarin ではゲームも作れますよ~!!

13

Xamarin + Cocos Sharp で 2Dゲームが作れます!!

   

iOS 版 (App Store へ )

Android 版 (Google Play へ )

「たんけん!からだのなか~遊んで学ぼう」は、App Store と Google Play からダウンロード可能です

Page 14: Xamarin 実戦投入時に気をつけたいことあれこれ

14

Cocos Sharp でアプリ作ってくださると嬉しいです!!

基本的な使い方などは Xamarin のチュートリアル、https://developer.xamarin.com/guides/cross-platform/game_development/cocossharp/first_game/

または私の blog をご覧くださいhttp://hiro128.hatenablog.jp/

Cocos Sharp 使ってください…

Page 15: Xamarin 実戦投入時に気をつけたいことあれこれ

最後に宣伝

15

エンジニアの方募集中です!

ご興味ある方は、弊社採用情報か

http://www.frog-pod.com/recruit/私に直接言っていただけるとありがたいです!

Page 16: Xamarin 実戦投入時に気をつけたいことあれこれ

ご清聴ありがとうございました。