8
Xamarin 実実実実実実実実実 2016 実 4 実 16 実 実実実実実実実 #101 実実 実実実実

Xamarin 実戦投入時の留意点再確認

Embed Size (px)

Citation preview

Page 1: Xamarin 実戦投入時の留意点再確認

Xamarin 実戦投入時の留意点2016 年 4 月 16 日 わんくま勉強会 #101  東京鈴木友宏

Page 2: Xamarin 実戦投入時の留意点再確認

自己紹介

鈴木友宏 株式会社フロッグポッドで働いております。 業務アプリの開発者です。 車とドライブをこよなく愛する逸般人一般人です。

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

このスライドは下記にアップしてあります。http://www.slideshare.net/TomohiroSuzuki4/xamarin-60797169

2

Page 3: Xamarin 実戦投入時の留意点再確認

Xamarin が Microsoft に買収されて無料で使えるようになりました。

Xamarin 実戦投入時の留意点を簡単に再確認します!

3

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

Page 4: Xamarin 実戦投入時の留意点再確認

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

Xamarin で開発 →  iOS, Android の知識はネイティブ同様に必須

4

Xamarin に対する幻想

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

残念ながら、そう、うまくはいきません…

Page 5: Xamarin 実戦投入時の留意点再確認

じゃあ、 Xamarin のメリットって何??

5

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 の資産がかなりのレベルで使える

メリット 3

メリット 2 ロジック部分を共通化できる。App Logic 部分を共通化できる。

• Visual Studio で開発可能• ReSharper などのアドイ

ンが使える

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

Page 6: Xamarin 実戦投入時の留意点再確認

“ 実戦投入時における”それぞれの比較

6

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

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

ネイティブと同様に可能 ネイティブと同様に可能

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 7: Xamarin 実戦投入時の留意点再確認

まとめ

7

Xamarin ではネイティブの知識が必須メリット

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

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

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

留意点

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

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

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

Page 8: Xamarin 実戦投入時の留意点再確認

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