xamarin 実戦投入時の留意点再確認
TRANSCRIPT
Xamarin 実戦投入時の留意点2016 年 4 月 16 日 わんくま勉強会 #101 東京鈴木友宏
自己紹介
鈴木友宏 株式会社フロッグポッドで働いております。 業務アプリの開発者です。 車とドライブをこよなく愛する逸般人一般人です。
ほそぼそと Blog もやっています。http://hiro128.hatenablog.jp/
このスライドは下記にアップしてあります。http://www.slideshare.net/TomohiroSuzuki4/xamarin-60797169
2
Xamarin が Microsoft に買収されて無料で使えるようになりました。
Xamarin 実戦投入時の留意点を簡単に再確認します!
3
これを機に、実戦投入をお考えの方も多いかと思います。
Xamarin.Forms を使えば、ネイティブを知らなくてもiOS, Android のアプリが開発できる
Xamarin で開発 → iOS, Android の知識はネイティブ同様に必須
4
Xamarin に対する幻想
Xamarin.Forms を使えば、iOS, Android の UI がワンソースで簡単にできる
残念ながら、そう、うまくはいきません…
じゃあ、 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 つの開発方法があります。
“ 実戦投入時における”それぞれの比較
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)
まとめ
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 に投資する価値は十分にある。
ご清聴ありがとうございました。