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 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編

7,194 views

Published on

第2回 Japan Xamarin User Group Conference 西日本編
https://atnd.org/events/57075
でのセッション資料です。(いつもと同じですw)

Published in: Technology
  • Be the first to comment

Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編

  1. 1. はじめに・ Xamarin 概要 2014/11/8 第2回Japan Xamarin User Group Conference 西日本編 エクセルソフト株式会社 Business Development Manager 田淵義人 ytabuchi@xlsoft.com 03-5440-7875 / 080-7015-3586
  2. 2. JXUGのご紹 介 • サイト • http://jxug.org • Japan Xamarin User Group (JXUG) • 読み方ェ… • コミュニティ概要 • JXUG は2014/2/18 に発足したXamarin を愛する方のコ ミュニティです。 • 初心者の方が参加しやすく、上級者の方も気軽に情報交換でき る場に出来ればいいなと考えています。 • 活動場所 • http://www.facebook.com/groups/xm.jxug • Twitter タグ • #JXUG • 運営メンバー • 絶賛募集中です! • 手伝える方はxm.jxug@gmail.com まで
  3. 3. facebook グループへのご参加お 待ちしております。後、ロゴというか キャラクターが必要だと思うんです よー?JXUG のロゴ書いて頂ける 方も募集中です。
  4. 4. 本セッションのゴール • Xamarin についてイメージを掴んでいただくこと • 出来ること出来ないことをご理解いただくこと • Xamarin に興味を持っていただくこと お知らせ • 今日のスライド • アンケートにご協力ください。 • http://j.mp/jxugc2w-enq
  5. 5. 自己紹介• 田淵義人 • エクセルソフトのXamarin 担当。非開発者。 • Xamarin でググれ • Twitter, SNS, Web, HTML5/CSS/JS, モバ イル/ガジェット, Web マーケティングなどが好き • Twitter: @ytabuchi • Blog: http://ytabuchi.hatenablog.com/
  6. 6. 自己紹介• 田淵義人 • エクセルソフトのXamarin 担当。開発者になりたい。 • Xamarin でググれ(と言ってみたいw) • Twitter, SNS, Web, HTML5/CSS/JS, モバ イル/ガジェット, Web マーケティングなどが好き • Twitter: @ytabuchi • Blog: http://ytabuchi.hatenablog.com/
  7. 7. はじめに・アンケート
  8. 8. アンケート• Xamarin 知ってますか? • Xamarin 触ってみた方は? • 開発環境は? (Windows / Mac) • モバイル開発経験は? • 個人として?業務として?
  9. 9. スマホ、タブレットが増えてるの でモバイルアプリ作成が必須で すぜ?っていう導入部分のデー タが入ります(略
  10. 10. 今までのアプ リ開発
  11. 11. モバイル向けクロスプラット フォーム開発環境 “no silver bullet”
  12. 12. 何を使えばい いの? • ネイティブ(Objective-C/Swift, Java) • Xcode, Android Studio/eclipse • HTML5, CSS3, JS • Cordova (PhoneGAP, Monaca) • Sencha Touch • C++/Delphi • RAD Studio XE/Appmethod • JS • Titanium • ActionScript • Flash/AIR
  13. 13. ハイブリッド開 発 共通化による最小 限の機能 分厚いラッパー リリースまでの日数 適切なUX かどう か? App Generation
  14. 14. Xamarin(ザマリン) ・C# / .NET / Visual Studio ・“ネイティブ” アプリ ・コード共通化 ・API 100% 移植
  15. 15. C# / .NET
  16. 16. C# で開発• async/await, LINQ, ラムダ式などの実装が使 える • Java, Objective-C, Swift を書く必要がない • TFS, Resharper などのエコシステム button.TouchUpInside += (s, e) => { message.Text = "Hello!"; }; from p in Table<Person> () where p.ID == id select p;
  17. 17. “ネイティブ” アプリ
  18. 18. “ネイティブ” アプリ • .NET ランタイム • ネイティブUI / UX • ネイティブ“パフォーマンス”
  19. 19. Mono Miguel de Icaza (ミゲル・デ・イカザ1972年- ) : GNOME、Mono の開発者 1999年ミゲル氏、Helix Code 設立 2001年6月Helix Code をXimian(ジミアン) に社名変更し、Mono プロジェクト開始 2001年7月Mono OSS 化 2003年8月Novell がXimian を買収。ミゲル氏はNovell 開発部門 のバイスプレジデントに就任 2004年6月Mono 1.0 リリース 2011年4月Attachmate のNovell 買収に伴い、Mono 開発者のレ イオフ実施 2011年5月Xamarin 設立 2011年7月Novell からXamarin にMono, MonoTouch, Mono for Android などが譲渡される 2013年2月Xamarin 2.0 リリース 2014年5月Xamarin 3.0 リリース ミゲル・デ・イカザ(Wiki) http://j.mp/1p8kRjF | Mono (Wiki) http://j.mp/1vxsP5L
  20. 20. Windows API
  21. 21. iOS API 100% 対応
  22. 22. Android API 100% 対応
  23. 23. Xamarin.An droid http://www.bui ldinsider.net/m obile/insidexam arin/07
  24. 24. DEMO
  25. 25. コード共通化
  26. 26. .NET BCL (Mono) • System.IO • ファイル操作の共通化 • System.NET • ネットワーク操作の共通化 • System.Linq • データ操作の簡素化、共通化 • System.XML • XML 操作の簡素化、共通化 • System.Threading • 上記全般もですが、非同期処理の恩恵
  27. 27. Xamarin を 使用した開発
  28. 28. 共有方法• PCL • Visual Studio 2012 / Xamarin Studio 4.2 (要追 加ライブラリ) • PCL (Portable Class Library) - Xamarin 3 の新し いコード共有テクニック: XLsoft エクセルソフト • http://www.xlsoft.com/jp/products/xamarin/port able_class_libraries.html • Shared Project • Visual Studio 2013 Update 2 / Xamarin Studio 5.0 • Shared Project - Xamarin 3 の新しいコード共有テク ニック: XLsoft エクセルソフト • http://www.xlsoft.com/jp/products/xamarin/shar ed_projects.html • Xamarin.Forms • 後述
  29. 29. PCL Windows RT iOS Android
  30. 30. Shared Project プロジェクトをリンク する #if platform
  31. 31. Xamarin.For ms - 画面の 共通化 UI “コード”の共通 化 ビルド時にネイティブ UI にマップ XAML で書ける! (ただし手動) Phone
  32. 32. API 100% 移植
  33. 33. API 100% 移植 • Xamarin.iOS • iOS 8.1 対応済み • iOS SDK リリースと同日 • 次期iOS SDK Beta とXamarin.iOS Alpha/Beta で時期iOS 対応アプリを開発可能 • Xamarin はiOS 8 に完全対応- Xamarin で iOS 8 をさらに素晴らしく(紹介記事) • Xamarin.Android • Android L Preview, Android wear は対応済み • Lollipop API 21 は2014/11/7 時点では未対応 • 今までは1ヶ月~3ヶ月程してリリース • Android L Developer Preview / Android Wear をサポート(紹介記事)
  34. 34. DEMO
  35. 35. 最新機能・その他サービス http://www.xlsoft.com/jp/products/xamarin/xamarin_platform_previews.html http://www.xlsoft.com/jp/products/xamarin/introducing_xamarin_insights.html
  36. 36. Xamarin Android Player • Virtual Box ベースの高速Android エミュレー ター • http://yutawatanabe.hatenablog.com/entr y/xamarin-android-player-preview-install
  37. 37. Sketches • iOS, Forms などのリアルタイム実行環境 • http://qiita.com/ytabuchi/items/22b616d7 558b41b4726c • https://www.youtube.com/watch?v=v9vE hwomUEY&t=19m0s 最新のYosemite 10.10 / Xcode 6.1 / Xamarin Studio 5.6.2 (Alpha)で動かな い… 辛み…
  38. 38. Xamarin Profiler • 解析ツール • 未調査… すみません…
  39. 39. Xamarin Insights • データ収集サービス • 多分お高いですw
  40. 40. Xamarin Test Cloud • UI 自動テストサービス • ローカル版はXamarin.UITest, Calabash • お高いw
  41. 41. FAQ
  42. 42. FAQ 0 • C# T シャツかっこいい! • http://xamarin.com/prebuilt/sharp-shirt か らサンプルプロジェクトをダウンロードしてビルドしてくださ い。船便でTシャツが届きます!
  43. 43. FAQ 1 • でも、お高いんでしょう? • はいw • 学生向けの無料ライセンスが発表になりました! • 無料のSTARTER というのがあると聞きました • http://xamarin.com/starter • Mac が必須と聞いたんですが… • iOS アプリをビルドするのにXcode が必要なんです。 • Visual Studio Express でも大丈夫? • VS はPro 以上が必要です。 • Windows ストアアプリも対応してますか? • Visual Studio があるじゃない(Mac では無理ゲー)
  44. 44. FAQ 2 • ネイティブで作ったライブラリは使えるの? • Binding してXamarin 用dll にする。 • ネイティブライブラリを組み込んでP/Invoke やJNI 経由 • iOS Framework をAndroid で、Android のjar を iOS では使えません。 • Xamarin で作ったライブラリはネイティブで使えるの? • 使えません。 • NuGet は使えるの? • 使えます。Xamarin 専用のComponentStore もあり ます。 • WinForm やWPF 用のライブラリは使えるの? • 基本的には使えないと思います。 • Prism (Pattern & Practice 製のMvvm フレームワー ク) はPCL 化されているのでXamarin でも使えます。
  45. 45. FAQ 3 • ソース一回書けばいいと思ってた • ネイティブの知識も必要ですぜ… 旦那…? • どれくらい共通化できるの? • 30%~60% くらいかと思います。 • OS 毎に開発するのは? • UI を定義する部分 • OS 固有の機能を実装する部分 • 共通化できるのは? • ロジック(データベースへのアクセス、通信処理など) 部 分 • 定義したUI に対してデータのやり取りをする部分 • Xamarin.Forms を使用するとベーシックなUI は共 通化できます。
  46. 46. FAQ 4 • 共有化はどうやってやるの? • Universal App (Shared Project) • PCL (Portable Class Library) • Profile に注意 • リンク参照 • MvvmCross などのフレーム ワーク
  47. 47. FAQ 5 • 日本語の資料ってあるの? • ・・・ • 鋭意努力します! >< • 英語ドキュメントはXamarin が山のように用意してい ますので、ぜひご覧ください。 • サンプルが欲しいんですが? • Xamarin が山のように(ry なお、Apache 2.0 ラ イセンスなのでそのまま使っても大丈夫!
  48. 48. 事例
  49. 49. NHK 紅白 フェンリル株式会社 http://biz.fenrir-inc.com/application_development/casestudy_app/nhk_kouhaku.html
  50. 50. ルナルナ体温 ノート 株式会社エムティー アイ様 http://www.xlsoft.com/jp/products/xamarin/apps_mti.html
  51. 51. 戦国RUN 読売テレビ/シリコ ンスタジオ様 C# ゲームエンジン Paradox
  52. 52. 評価版 http://xamarin.com/download
  53. 53. 参考資料
  54. 54. デモで使用し たサンプル • iOS • SingleWordKeyboard • http://developer.xamarin.com/samples/Single WordKeyboard/ • Android • FindMyPhone • http://developer.xamarin.com/samples/FindMy PhoneSample/ • XMLReading • Xamarin.Forms 版 • http://jp.xlsoft.com/demo2/xamarin/Universal XMLReading.zip • PCL 版 • http://jp.xlsoft.com/demo2/xamarin/XMLReadi ng.zip
  55. 55. Tasky • PCL • https://github.com/xamarin/mobile-samples/ tree/master/TaskyPortable • Shared Project • https://github.com/xamarin/mobile-samples/ tree/master/Tasky • Xamarin.Forms • https://github.com/xamarin/xamarin-forms- samples/tree/master/Todo
  56. 56. サンプル・ブロ グなど • Xamarin.iOS サンプル • https://github.com/xamarin/monotouch-samples • Xamarin.Android サンプル • https://github.com/xamarin/monodroid-samples • facebook グループ • https://www.facebook.com/groups/xm.jxug/ • JXUG サイトリンクページ • http://jxug.org/links.html • 田淵ブログ • http://ytabuchi.hatenablog.com/entry/toc • Xamarin ブロググループ • http://j.mp/xm-htngrp • Qiita Xamarin タグ • http://qiita.com/tags/xamarin
  57. 57. Xamarin.For ms について • Xamarin.Forms 概要 • http://www.slideshare.net/amay077/xamarinforms • Build Insider インサイドXamarin(14) - Xamarin.Formsの 基本構想と仕組み • http://www.buildinsider.net/mobile/insidexamarin/14 • Build Insider Xamarin逆引きTips 連載 • http://www.buildinsider.net/mobile/xamarintips • Xamarin.Forms ドキュメント(英語) • http://developer.xamarin.com/guides/cross-platform/ xamarin-forms/ • API ドキュメント(英語) • http://iosapi.xamarin.com/?link=N%3aXamarin.Forms • Xamarin.Forms サンプル(C#) • https://github.com/xamarin/xamarin-forms-samples/ tree/master/FormsGallery • Xamarin.Forms サンプル(XAML) • https://github.com/xamarin/xamarin-forms-samples/ tree/master/XAMLSamples
  58. 58. 開発OS 対象OS IDE 必要なシステム Windows iOS Visual Studio Windows • Windows 7 以上 • Visual Studio 2010/2012/2013 Professional 以上(Express 未対応) • Xamarin.iOS (Xamarin 統合インストーラーに同梱) Mac • OS X Lion 10.8 以上 • Xcode 5 Xamarin Studio 未対応 Android Visual Studio • Windows 7 以上 • Visual Studio 2010/2012/2013 Professional 以上(Express 未対応) • J2SDK 1.6/1.7 32bit (Xamarin 統合インストーラーに同梱) • Android SDK, NDK (Xamarin 統合インストーラーに同梱) • Gtk# (Xamarin 統合インストーラーに同梱) • Xamarin.Android (Xamarin 統合インストーラーに同梱) Xamarin Studio • Windows 7 以上 • J2SDK 1.6/1.7 32bit (Xamarin 統合インストーラーに同梱) • Android SDK, NDK (Xamarin 統合インストーラーに同梱) • Gtk# (Xamarin 統合インストーラーに同梱) • Xamarin.Android (Xamarin 統合インストーラーに同梱) Mac iOS Xamarin Studio • OS X Lion 10.8 以上 • Xcode 5 • Xamarin.iOS (Xamarin 統合インストーラーに同梱) Android Xamarin Studio • OS X Lion 10.7 以上 • J2SDK 1.6/1.7 • Android SDK, NDK (Xamarin 統合インストーラーに同梱) • Xamarin.Android (Xamarin 統合インストーラーに同梱)
  59. 59. まとめ
  60. 60. Xamarin(ザマリン) API 100% 移植 “ネイティブ” アプリ C# / .NET コード共通化
  61. 61. “ネイティブ” アプリ • C# + .NET ランタイム • ネイティブUI • ネイティブ“パフォーマンス”
  62. 62. iOS API 100% 対応
  63. 63. Android API 100% 対応
  64. 64. Xamarin を 使用した開発
  65. 65. Xamarin.For ms - 画面の 共通化 UI “コード”の共通 化 ビルド時にネイティブ UI にマップ XAML で書ける! (ただし手動) Phone
  66. 66. ご清聴 ありがとうございます ご質問がありましたら、田淵までお気軽にどうぞ ytabuchi@xlsoft.com 080-7015-3586 / 03-5440-7875 Twitter: @ytabuchi Blog: http://ytabuchi.hatenablog.com/

×