Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Xamarin入門(技術というより心構え編)

4,947 views

Published on

2016年11月の.NETラボ勉強会のセッションスライドです。

Published in: Technology
  • Be the first to comment

Xamarin入門(技術というより心構え編)

  1. 1. クロスプラットフォームの理想と現実? Xamarin入門
  2. 2. はじめに • 本セッションにはあまりテクニカルな話題はありません 最初はXamarin.FormでUIをカスタマイズするつもりでしたが・・・ • むしろXamarin入門ってどういう内容? という疑問を相談するセッ ションです。 • 認めつつも、ディスる流れですのでご了承ください。 (ディスってるんじゃなくて、泣きが入っているとお考えください)
  3. 3. 自己紹介 • 西村誠 • 古代魚庵(フリーランス) • Microsoft MVP for Windows Development • EC-CUBE公式エヴァンジェリスト
  4. 4. 自己紹介 • Xamarinのことを書くことになったけど、これ入門書ってどういうや つが求められているんだ? • そもそもXamarinの入門ってなに?
  5. 5. 今更? 概要
  6. 6. その前に教えてください • Xamarinの開発セミナーやセッションを受けた方 • 上記でXamarinのアプリを公開されている方?
  7. 7. 概要 • クロスプラットフォーム開発環境およびツール •C#でiOS,Androidなど複数のプラットフォーム向けに開発 可能 • Visual StudioでUWPやWPFも加えて・・・
  8. 8. 概要 • Xamarinは無償利用可能 • iOSアプリを作るにはMac要(&Xcode XamarinStudio?) • Androidアプリを作るにはSDK要(Visual Studioなら一緒に入 る) • アプリを公開するにはそれぞれの開発者登録必要
  9. 9. 利点 • C#+Visual Studioで開発できる!!(ほかに何が必要と?) • コード部分を共有化できる。(デザインも・・・) • クラスプラットフォームツール比較では高パフォーマンス、 早いバージョンアップ対応
  10. 10. 難点 • ちょっとバギー・・・ • 共通化するのは良い設計と政治が必要 • 人材、資料が少ない • Xamarinの良さを活かすにはスキルが必要
  11. 11. 選択 • ネイティブかクロスプラットフォームか? • Xamarinかその他クロスプラットフォームか? • Xamarin NativeかXamarin.Formsか
  12. 12. 選択
  13. 13. ネイティブ • UIをiOSやAndroidネイティブな仕組みで作り • コード部分をC#で • UIを作りこみやすい。XAMLの利点を活かせない
  14. 14. FORMS • UIを共通のXAMLで作れる(UWPも) • XAMLの機能を活かせる • プラットフォーム毎に異なるUIだと・・・(いろいろ増えて いる) 質問:この辺が聞きたかった方?
  15. 15. 選択2 • Mac上でXamarin Studioで作るか? • Windows上でVisual Studioで作るか? • Mac上でVisual Studio for Macで作るか?
  16. 16. 教えてください • Xamarinって、ネイティブ開発の知識必須でその上で共通化 とかしないとうまく機能しなくないですか?
  17. 17. 求道者になった気分 触ってみて
  18. 18. ある程度のラインになる前のハードルが高い • 各プラットフォームの知識が必要になる(当たり前 か・・・) • 環境が複雑(そのためエラーがでることも・・・) • 発展途中(それでも他のクロスプラットフォーム開発に比べ れば・・・) • コードの共有どころか分岐だらけになることも・・・
  19. 19. FORMSは・・・ • iOS、Androidそれぞれの作法を気にしないレイアウトなら OK • それぞれ別画面ならネイティブの方が良いか検討 • バインディングとかMVVMなどの利点は活かしたいが・・・
  20. 20. 今後低くなるハードルもある • Xamarin.FormsのXamlは今後プレビュー表示できるようにな る • XamarinネイティブのiOSデザイナーももっと良くなるはず
  21. 21. やるなら徹底的に • 敷居の高い面を超えれば先行者利益が!! • 色々言ったけど、素晴らしいクロスプラットフォーム開発 ツール
  22. 22. 涙・・・ 事例
  23. 23. OSが・・・ Xamarin以前の問題だが・・・環境も・・・
  24. 24. プレビューが • iOSのデザイナーがプレビューできない!! • 色々最新にしろ!!(基本これ、最新固有のバグは南無)
  25. 25. 初期プロジェクトがデバッグできない・・・ • 最新にして、クリーンしたり、ツールとかOSとか再起 動!! • 久しぶりに触ると高確率でこうなる気が・・・
  26. 26. プレビュー!! Visual Studio for Mac
  27. 27. 作成できるソリューション • Xamarin(iOS、Android、TV、MacOS) • ASP.NET(.NET Core) • コンソール(mono?)
  28. 28. VSで作成したプロジェクトを開く • ちゃんと開ける&ビルドも通る (バグったりクラッシュもするけどプレビューだから) • 動かせないのも一応読み込める
  29. 29. VSで作成したプロジェクトを開く • ASP.NET MVCも動く(Mono+.NET Coreなやつは動く)
  30. 30. LTでやれよ・・・というのはおいておいて 時間があまったら
  31. 31. MS×OSS DEVELOPER
  32. 32. すみません話が変わります Windowsとオープンソース開発という MS MVPらしい話を
  33. 33. 少し前はこう言ってましたよ OSSやるならUnixと親和性が高いMac使わないの は理解できないよね(Windowsラブな私ですが)
  34. 34. 少し前はこう言ってましたよ OSSやるならUnixと親和性が高いMac使わないの は理解できないよね(Windowsラブな私ですが) Xampp・・・
  35. 35. 少し前はこう言ってましたよ OSSやるならUnixと親和性が高いMac使わないの は理解できないよね(Windowsラブな私ですが) Xampp・・・ それならWindowsに仮想マシン立てた方が
  36. 36. 今後は違う Windows for Ubuntu(ベータ) Windows 10 Anniversary Update以降はLinuxが 内包 LAMP環境も構築可能
  37. 37. クラウドでAZURE? Azureで簡単PaaS的にEC-CUBEを使おうとすると Windows Server+IIS+MySQLでした。 IaaS的に仮想マシンでUnixサーバーを立てれま したがちょっとインフラ屋さんの領域が必要
  38. 38. 今後は違う2 AzureでPaaS的にLinuxが立てれるよ!!
  39. 39. MS LOVE OSS
  40. 40. MS LOVE OSS 結構、加速的に進んでいるよ どうして? これがきっかけはわからないけど スマフォ・タブレットで後塵を拝したから 自社製品で囲い込むんじゃなくて、 MacでもOSSでも自分たちの製品が動けばいいん だよ!!
  41. 41. まとめ OSS開発がWindowsでしやすくなるよ 「VS公式でPHPが書ける」って話になったら 面白い世界になっていくかもよ!! (今でもアドオンあるけど)

×