Xamarin 実戦投入時に気をつけたいことあれこれ
-
Upload
tomohiro-suzuki -
Category
Software
-
view
5.055 -
download
0
Transcript of Xamarin 実戦投入時に気をつけたいことあれこれ
Xamarin 実戦投入時に気をつけたいことあれこれ2016 年 5 月 7 日 JXUGC #13 東京鈴木友宏
自己紹介
鈴木友宏 業務アプリの開発者です。 車とドライブをこよなく愛する逸般人一般人です。
ほそぼそと Blog もやっています。http://hiro128.hatenablog.jp/
2
Xamarin が無料で使えるようになりました。
Xamarin 実戦投入時に気をつけたいことに再確認します!
3
これを機に、実戦投入をお考えの方も多いかと思います。
今日お話しすること
4
• Xamarin で何が時短できるのか?
• Xamarin Native OR Xamarin Forms ?• Xamarin に表はありますか?
•おまけ
Xamarin.Forms を使えば、ネイティブを知らなくてもiOS, Android のアプリが開発できるの?
5
Xamarin があまりに COOL 過ぎるため起こる誤解…
Xamarin.Forms を使えば、iOS, Android の UI がワンソースで簡単にできるの?
ちょっと違います…
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)
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 でも必要
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 などのアドインが使える
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)
業務アプリを開発し始めると気がつくこと
10
安心してください!ありますよ!(サードパーティですが…)
お客様「 Excel みたいな表が欲しいんだけど…」開発会社「えーと…(いやー表は無いんだよな~
汗)」
Syncfusion Essential Studio for Xamarin
11
https://www.syncfusion.com/products/xamarin
Xamarin 用は開発者 1 人当たり、$99
Xamarin.iOSXamarin.AndroidXamarin.Forms対応
まとめ
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 が便利
ちなみに Xamarin ではゲームも作れますよ~!!
13
Xamarin + Cocos Sharp で 2Dゲームが作れます!!
iOS 版 (App Store へ )
Android 版 (Google Play へ )
「たんけん!からだのなか~遊んで学ぼう」は、App Store と Google Play からダウンロード可能です
14
Cocos Sharp でアプリ作ってくださると嬉しいです!!
基本的な使い方などは Xamarin のチュートリアル、https://developer.xamarin.com/guides/cross-platform/game_development/cocossharp/first_game/
または私の blog をご覧くださいhttp://hiro128.hatenablog.jp/
Cocos Sharp 使ってください…
最後に宣伝
15
エンジニアの方募集中です!
ご興味ある方は、弊社採用情報か
http://www.frog-pod.com/recruit/私に直接言っていただけるとありがたいです!
ご清聴ありがとうございました。