Successfully reported this slideshow.
Your SlideShare is downloading. ×

C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 56 Ad

C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介

Download to read offline

日本マイクロソフトさんのイベント Developer Camp 「iOS, Android, Windowsに対応したアプリを開発する方法 - Xamarin + Visual Studio 最新情報」でご紹介した資料です。
ブログ: http://ytabuchi.hatenablog.com/
Twitter: https://twitter.com/ytabuchi
製品サイト: http://www.xlsoft.com/jp/products/xamarin/

日本マイクロソフトさんのイベント Developer Camp 「iOS, Android, Windowsに対応したアプリを開発する方法 - Xamarin + Visual Studio 最新情報」でご紹介した資料です。
ブログ: http://ytabuchi.hatenablog.com/
Twitter: https://twitter.com/ytabuchi
製品サイト: http://www.xlsoft.com/jp/products/xamarin/

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Viewers also liked (20)

Advertisement

Similar to C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介 (20)

More from Yoshito Tabuchi (20)

Advertisement

Recently uploaded (20)

C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介

  1. 1. クロスプラットフォームで動作する エンタープライズ モバイル アプリ 開発環境のご紹介 エクセルソフト株式会社 営業部 Business Development Manager 田淵 義人 ytabuchi@xlsoft.com 03-5440-7875 / 080-7015-3586 2013/12 © XLsoft K.K.
  2. 2. 自己紹介 田淵 義人 エクセルソフトに10年ほど従事 RoboHelp、MadCap Flare、Alchemy CATALYST などのヘルプ、ローカライズ関連製品 、Aspose などの .NET/Java 開発製品の担当に加え、Xamarin も担当になりました。 Web 大好き、HTML5/CSS/JS 大好き、モバイル 大好き Twitter: @ytabuchi Blog: http://ytabuchi.hatenablog.com/ 本日のスライド: http://www.slideshare.net/ytabuchi/xamarin-201312-ms
  3. 3. 会社概要 名称 エクセルソフト株式会社 設立 平成3年7月1日 所在地 東京都港区三田3-9-9 資本金 1000万円 事業内容 ソフトウェアの開発・販売事業 主要取引先 伊藤忠テクノソリューションズ、インテル、SCSK、HPCシステムズ、NTTコムウェア、NTTデータ、シネッ クスインフォテック、新日鉄住金ソリューションズ、ソニー、ソフトバンクBB、ダイワボウ情報システム、東 芝、日本アイ・ビー・エム、日本SGI、日本電気、日本ヒューレット・パッカード、日本ユニシス、ネット ワールド、野村総合研究所、パナソニック、日立製作所、富士通、マイクロソフト、三菱電機 等 関連会社 XLsoft Corporation アメリカ カリフォルニア州 「開発ツールはエクセルソフトで」をモットーに。 販売/サポートだけでなく、運用もお客様と一緒に考えます。 大きい会社ではありませんが、レスポンスの速さと技術の高さが自慢です。
  4. 4. 本日ご紹介する Xamarin について
  5. 5. 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月 Mono Touch、Mono for Android が Xamarin.iOS、 Xamarin.Android に Miguel de Icaza (ミゲル・デ・イカザ 1972年 - ) : GNOME、Mono の開発者 http://ja.wikipedia.org/wiki/%E3%83%9F%E3%82%B2%E3%83%AB%E3%83%BB%E3%83%87%E3%83%BB%E3%82%A4%E3%82%AB%E3%82%B6 Mono (ソフトウェア) - Wikipedia http://ja.wikipedia.org/wiki/Mono_(%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2)
  6. 6. Xamarin とは • C# で 100% ネイティブ な iOS、Android、Windows アプリ を開発できるクロスプラットフォーム開発ツール C# のみで開発できる Visual Studio で開発できる Microsoft のエコシステムを活用して開発できる
  7. 7. Xamarin のミッション • 個人向けからエンタープライズまで、すべての主要なデバイスに対し て、セキュアで統合されたネイティブ モバイル アプリをビルドするベス トな開発環境を提供します。 • 開発者を喜ばせ、イノベーションを加速し、最高なエンド ユーザー エクスペリエンスを実現します。
  8. 8. Xamarin: 驚異的な成長 • 2011年設立 • 2年で登録開発者数 430,000名 • 毎月 30,000名以上の開発者が登録 • 70ヶ国に販売 • 製品として 10年を経て、堅牢でエンタ ープライズ向けのテクノロジーを提供 2013 Visual Studio Integration Partner of the Year Award 受賞 Mono リリースが2001年6月 • San Francisco & Boston にオフィス • 2012/7 に 1200万&1600万ドルの 資金調達 2013 Magic Quadrant for MADP (Mobile Application Development Platform) の Mobile “Visionary” に認定 “モバイル用のMicrosoft .NET”を提供するXamarinが$12Mを調達 | TechCrunch Japan http://jp.techcrunch.com/2012/07/25/20120724microsoft-net-for-mobile-company-xamarin-gets-12-million-round-of-funding/ Mono(C#+.NET)でモバイル開発プラットホームの支配をねらうXamarinが好調に乗ってシリーズB$16Mを獲得 | TechCrunch Japan http://jp.techcrunch.com/2013/07/18/20130717xamarin-raises-16m-series-b-round-led-by-lead-edge-capital-passes-20000-paid-developer-seats/
  9. 9. Microsoft and Xamarin
  10. 10. Microsoft と Xamarin: 共通のゴール C# 開発者のエコシステムを育て拡 大する 製品の販促: Visual Studio、TFS、 Azure iOS と Android 開発者を C#、Visual Studio と Windows に誘導する Windows Phone 8 / Windows 8 アプリを促進する
  11. 11. Microsoft と Xamarin の 2013 の活動: 全社的により緊密な関係 • 2013/11/13 Microsoft と Xamarin はグローバルパートナーシップを 発表し、Visual Studio 2013 対応版を発表 Portable Class Library サポート • 日本マイクロソフト様とエクセルソフトが協業(非公認) • 渡辺さんから MSC2013 で Xamarin をご紹介いただく! • Xamarin が Windows Azure モバイルサービスに対応 Microsoft and Xamarin Partner Globally to Help You Build Great Apps | Xamarin Blog http://blog.xamarin.com/microsoft-and-xamarin-partner-globally/ iOS / Android / Windows すべてに対応したアプリを作るには [ MSC 2013 ] - マイクロソフト エバンジェリストのブログ http://microsoft-evangelist.hatenablog.jp/entry/msc2013-ios-android-windows Windows Azure モバイル サービス SDK の GitHub でのオープン ソース化と、Xamarin とのパートナーシップ提携に関するお知らせ http://bit.ly/WgvZZS
  12. 12. 事例:Hitcents - Draw a Stickman EPIC • MonoGame を利用 XNA 4 の OSS 実装 • 95%コードを共通化 • iOS, Android, Windows ストアア プリなどを提供 Draw A Stickman EPIC now available for iPhone, iPad and Windows 8 | Xamarin Blog http://blog.xamarin.com/draw-a-stickman-epic-now-available-for-iphone-ipad-and-windows-8-2/ MonoGame - Write Once, Play Everywhere - Home http://monogame.codeplex.com/
  13. 13. サンプルアプリ:Tasky • シンプルなサンプルアプリ • クロスプラットフォーム開発の学 習に最適 mobile-samples/TaskyPro at master · xamarin/mobile-samples · GitHub https://github.com/xamarin/mobile-samples/tree/master/TaskyPro
  14. 14. 事例:Rdio: 50,000 行のコードを共有 • Rdio は、ミュージック ストリーム サービスで、 17ヶ国で 2000万曲を提供しています。 • アプリの開発チームは、以前は、プラットフォ ームごとのコードベースでビルドとメンテナンス を行っていました。 • Xamarin を使用することで、現在の Rdio は iOS、Android、Windows 間で 50,000 行の C# のコードを共有でき、開 発チームは、機能やユーザー エクスペリエン スに集中することができました。
  15. 15. グローバル パートナーとの強固なネットワーク
  16. 16. Write Once, Run Anywhere
  17. 17. Xamarin のユニークなアプローチ • あえてすべてを共通化しない • 既存の C# のスキル、チーム、コードおよびツー ルを再利用 • ネイティブなユーザーインターフェースとパフォーマ ンスを備えたアプリをビルド • プラットフォーム間で 60~90% のソースコード を共有 • マイクロソフト エコシステムを活用: Visual Studio、TFS などと同様に、ReSharper など のプラグインも利用可能 Objective-C と Java で出来ることを Xamarin を使用して C# で実現できます。
  18. 18. Xamarin が提供するもの • Xamarin.iOS / Xamarin.Android:各 OS 用の .NET API • API の .NET ラッパクラス 画面作成 Xamarin.Android は Activity クラス Xamarin.iOS は ViewController • Visual Studio プラグイン
  19. 19. Xamarin のユニークなアプローチ Xamarin.iOS は、フル AOT (Ahead Of Time) コンパイル で、Apple の App Store に対 応した ARM バイナリを生成。 Xamarin.Android は、 Android デバイスの JIT (Just In Time) コンパイルを利用。サ イズも小さい。 Application Package Sizes | Xamarin http://docs.xamarin.com/guides/android/advanced_topics/application_package_sizes/
  20. 20. モバイル開発環境の動向と比較
  21. 21. モバイル デバイスのシェア • 日本でも世界でも半分スマホ • 対応は必須 U.S Mobile Market Share By Pla orm 250 200 Non-Smart 150 Total Mobile Users (millions) 100 Android 50 Apple Blackberry Microso 国内モバイル/クライアントコンピューティング機器 家庭ユーザー利用実態調査結果を発表 2013年10月3日 IDC Japan株式会社 http://www.idcjapan.co.jp/Press/Current/20131003Apr.html Other 0 Q4 2009 Q1 2010 Q2 2010 Q3 2010 Q4 2010 Q1 2011 Q2 2011 Q3 2011 Q4 2011 Q1 2012 Q2 2012 Q3 2012 Q4 2012 Source: comScore
  22. 22. 何で作るか? 色々な開発環境、開発ツールを比較してみました まずは質問
  23. 23. アプリ vs Web アプリ アプリ Webアプリ(Webサイト) 開発環境・ 言語 Objective-C (iOS) / Java (Android) HTML+CSS+JavaScript を サーバーサイドで実装 配布 App Store (iOS) / Google Play (Android) 不要 速度 速い 圧倒的に遅い 開発者 少ない それなりに多い 開発効率 低い シングルソースのため高い 機能 カメラ、センサー、ファイルアクセス、 通知 などすべてのスマホ機能利用 可能 HTML で表現できることに限定され る。ごく一部の機能* は利用可能 HTML5で使えるスマートフォンの機能: http://dev.classmethod.jp/smartphone/mobile-html5/ HTML5 compatibility on mobile and tablet browsers with testing on real devices : http://mobilehtml5.org/
  24. 24. ネイティブアプリ vs ハイブリッドアプリ ネイティブアプリ ハイブリッドアプリ 開発環境・ 言語 Objective-C / Java JS からネイティブ API を呼び出す フレームワークを利用した開発。 ビューは HTML+CSS+JS で作成 する。またはロジック、UI をネイティ ブ。 配布 App Store / Google Play App Store / Google Play 速度 速い 遅い。速くするのは大変。 開発効率 低い それなりに高い 機能 フルアクセス 主要な API をフレームワーク経由 で呼び出せる
  25. 25. ネイティブなエクスペリエンスは必須 “HTML5に賭けたことは Facebookの「最大の戦略 ミス」だった” 2012/9/11 Mark Zuckerberg Facebook CEO FacebookのザッカーバーグCEO、「HTML5に賭けたのは失敗」 Androidアプリも間もなくネイティブに - ITmedia ニュース http://www.itmedia.co.jp/news/articles/1209/12/news032.html
  26. 26. Xamarin vs ネイティブ Xamarin 一般的なネイティブ 言語 C# Objective-C / Java 配布 App Store / Google Play App Store / Google Play 速度 速い 速い 開発者数 多い(C#) それなり 開発効率 高い。60~90% を共有可能。 C# での業務アプリのノウハウを流 用。エコシステムを活用 低い サポート サブスクリプションで日本語サポート 開発会社に依存 機能 フルアクセス フルアクセス
  27. 27. 更に比較 Xamarin(ハイブリッド) PhoneGAP(ハイブリッド) 開発言語 コア:C# ビュー:HTML+CSS+JS コア:JS ビュー:HTML+CSS+JS 配布 App Store / Google Play App Store / Google Play 速度 速い 遅い 開発効率 高い js でスマホの機能を動かすため、独 自のノウハウが必要。 サポート サブスクリプションに含まれる なし 機能 フルアクセス 主要な API を使用可能
  28. 28. 更に比較 Xamarin(ハイブリッド) 一般的なハイブリッド コア:C# ビュー:HTML+CSS+JS コア: Objective-C / Java ネイティブ UI: Objective-C / Java ビュー: HTML+CSS+JS 配布 App Store / Google Play App Store / Google Play 速度 速い 速い 開発効率 高い コア、ネイティブ UI 部分を両方の OS 分作成しなくてはいけないため、 ネイティブと同じ労力が掛かる。 機能 フルアクセス フルアクセス 開発言語 ネイティブ UI:C#
  29. 29. そこでもう一度 Xamarin
  30. 30. C# C# で100% ネイティブな iOS、Android、Windows アプリを記述
  31. 31. 完全なネイティブ ユーザー エクスペリエンスで すべてのプラットフォームにリーチ iOS、Android、 Windows 向けフィールド サービス アプリ ビジネス ロジックとバックエ ンドコードを共有 完全なネイティブユーザー インターフェースとパフォーマ ンス
  32. 32. Xamarin は、ネイティブ iOS、Android と Windows の API を 100% 公開します。
  33. 33. Objective-C または Java で出来ることは、 Xamarin を使用して、C# で実現できます。
  34. 34. 最新のデバイスの OS のリリースに対応 Apple と Google の最新の API に常に対応。 Xamarin は、iOS 5、iOS 6、 iOS 6.1 および iOS 7 のリリー ✔ スと同じ日にサポートを提供して います。
  35. 35. コードの共有で開発を加速 製品化した Xamarin アプリのコード共有の統計
  36. 36. コードの共有のしくみ • 1つのソリューションの中に、Core、Android、iOS、 Windows Phone、Windows ストアアプリなどのプ ロジェクトを含める。 Core プロジェクトを別のプロジェクトからリンク Core プロジェクトを PCL で mobile-samples/TaskyPro at master · xamarin/mobile-samples https://github.com/xamarin/mobile-samples/tree/master/TaskyPro
  37. 37. コードの共有のTIPS • Xamarin.Mobile で連絡先、カメラ、位 置情報の API を抽象化 今後、通知、加速度の API を抽象化予 定 • ライブラリ、Component Storeの活用 Framework, jar を Binding • Xamarin によるハイブリッド • クラウドサービスの活用 クロスプラットフォーム モバイル アプリのビルド : XLsoft エクセルソフト http://bit.ly/1ieFur9 Xamarin.Mobile クロスプラットフォーム開発 : XLsoft エクセルソフト http://bit.ly/1hhQ7Ii Binding Objective-C | Xamarin http://bit.ly/18nv7Nx Binding a Java Library (.jar) | Xamarin http://bit.ly/1btHSBe Web View | Xamarin (iOS の Web View の実装) http://bit.ly/1aUdeo0 WebView | Xamarin (Android の WebView の実装) http://bit.ly/1j7bHvE
  38. 38. アーキテクチャ Part 3 - Setting Up A Xamarin Cross Platform Solution | Xamarin http://bit.ly/1bHYhrf
  39. 39. iOS と Android 向けに Visual Studio と統合 Xamarin では: C# で 100% プログラム言語 を一本化 iOS、Android、Windows アプリ開発に、Visual Studio で 100% IDE を一本化
  40. 40. Visual Studio で iOS アプリ • Visual Studio から Mac にインス トールした Xamarin Build Host に接続 • Mac 側でビルド命令を受け取り、 Xcode でビルド、Visual Studio でリモートデバッグ • Visual Studio 上で Interface Builder による画面作成は次バー ジョンで対応
  41. 41. iOS Designer 世界初の iOS Designer Xamarin Studio で利用可能 (Visual Studio でも間もなく利用 可能) 慣れ親しんだ Visual Studio デザ イナーのスタイルを使用 すべての UIKit エレメントをサポート カスタムおよびサード パーティ製コン ポーネントを編集 プロパティへの変更をその場でプレビ ュー Localizable.strings で多言語化
  42. 42. Visual Studio で iOS アプリ 現状:コード
  43. 43. Visual Studio で Android アプリ • Android Designer による画 面設計 • プロジェクト・プロパティの GUI で Permission を設定 • シンプルなドラッグ アンド ドロッ プで UI を作成 • 複数のスクリーン サイズ、解像 度、Android バージョンに対 応 • 標準 Android XML ファイル でレイアウトを保存 • values-ja などで多言語化
  44. 44. Xamarin Component Store より早くアプリをビルド • Visual Studio と Xamarin Studio から直接高品質のプ リビルド アプリ コンポーネントを 追加 • 綺麗なクロス プラットフォーム の UI コントロールと Web サ ービスをほんの数クリックで完 成 Components / Xamarin http://components.xamarin.com/
  45. 45. プリビルド アプリで開発を加速 カスタマイズおよび配布 カット アンド ペーストで部品を使用 クロスプラットフォームのベストプラク ティス
  46. 46. プリビルド フィールドサービス(営業支援) アプリ アプリの主な機能: ロケーション ベース アサイメント / ルーティング タイム レコーディング カメラ キャプチャ キャプチャの署名 クロスプラットフォーム テクニック MVVM パターン Xamarin.Mobile Component Store のコントロール 各プラットフォームのストレージ用の SQLite Xamarin/prebuilt-apps https://github.com/xamarin/prebuilt-apps
  47. 47. プリビルド 従業員ディレクトリ アプリ アプリの主な機能: マルチ サーチ オプション “favorites (お気に入り)” の選択 リストから電話または Email クロスプラットフォーム テクニック LDAP レディ Gravatar インテグレーション 各プラットフォームのストレージ用の SQLite Xamarin/prebuilt-apps https://github.com/xamarin/prebuilt-apps
  48. 48. サンプルアプリ Tasky Pro クロスプラットフォームソリューションの概念学習 コントロールの配置、呼び出し すべて (3つの) のプラットフォームのストレージ 用の SQLite 本日使用した日本語化済み Tasky Pro は近日中に弊社 Web で公開します。(その際は Twitter, Blog でもお知らせします。) mobile-samples/TaskyPro at master · xamarin/mobile-samples · GitHub https://github.com/xamarin/mobile-samples/tree/master/TaskyPro
  49. 49. 評価版をお試しください • 以下が含まれます: Xamarin Studio IDE iOS と Android 用の Visual Studio 統合 プラットフォームラインタイムと完全なネイティブ SDK バインディ ング: Xamarin.iOS, Xamarin.Android, Xamarin.Mac .NET ベースのクラスライブラリとランタイム ネイティブコンパイル コンポーネントストア プリビルドのフィールドサービス、従業員ディレクトリ アプリ http://www.xlsoft.com/jp/products/xamarin/xamarin_download.html
  50. 50. ライセンス体系、価格、サポート • Xamarin.iOS Business Subscription Xamarin.Android Business Subscription Xamarin.Mac Business Subscription 2014年3月末までキャンペーン特価 各¥98,000(税別) 1 開発者の永続ライセンス。数量によりボリュームディスカウントあり。 弊社から 1年間 日本語でのサポート 1年間のバージョンアップ • お見積もりしますので、お気軽に弊社または各販社様までお問い合わせくださ い。
  51. 51. ご清聴 ありがとうございます ご質問がありましたら、田淵までお気軽にどうぞ ytabuchi@xlsoft.com @ytabuchi 03-5440-7875 / 080-7015-3586
  52. 52. 参考資料 - More Deep Xamarin • Xamarin FAQ よくある質問 : XLsoft エクセルソフト http://www.xlsoft.com/jp/products/xamarin/faq.html • Xamarin.Mibile クロスプラットフォーム開発 : XLsoft エクセルソフト http://www.xlsoft.com/jp/products/xamarin/mobileapi.html • Visual StudioでiOS/Androidアプリが書けるXamarinを試してみた(iOS編) - Build Insider http://www.buildinsider.net/mobile/xamarinvisualstudio/01 • Xamarin Advent Calendar 2013 - Qiita [キータ] http://qiita.com/advent-calendar/2013/xamarin • コラム/C#で作れる! iOS & Android クロス開発環境 Xamarin を試す - WisdomSoft http://www.wisdomsoft.jp/615.html • Visual Studio 2013 Launch | ++C++; // 未確認飛行 C ブログ http://ufcpp.wordpress.com/2013/11/15/visual-studio-2013-launch/
  53. 53. 参考資料 - アプリ配信 • 企業内 App 配信 - iOS アップル - 社内用アプリケーションの開発 - 概要 http://www.apple.com/jp/business/accelerator/ iOS デバイス向けのエンタープライズ App を配信する http://help.apple.com/iosdeployment-apps/mac/1.1/# • 企業内 App 配信 – Android Google Play の Google Apps 向けプライベート チャンネル - Google Apps 管理者用 ヘルプ https://support.google.com/a/answer/2494992?hl=ja&ref_topic=1734 198
  54. 54. 参考資料 - ハイブリッド • Rails Hub情報局: ネイティブでもHTML5でもない「ハイブリッドアプリ」の 価値 (Cookpad 事例) http://el.jibun.atmarkit.co.jp/rails/2012/10/html5-d1ba.html • ネイティブとHTML5を スマートに連携させる設計と 実装のノウハウについ て (Cookpad 中の人のトーク) http://www.slideshare.net/kazuakihidaka/html5-22091660 • Evolve 2013 Conference – Building Hybrid Apps with Xamarin (ビデオ、英語) http://xamarin.com/evolve/2013#session-g1idcxy2rm
  55. 55. 参考資料 - デザインガイドライン • iOS ガイドライン iOSヒューマンインターフェイスガイドライン: UI設計の基本事項 https://developer.apple.com/jp/devcenter/ios/library/documentation/UserEx perience/Conceptual/MobileHIG/BasicsPart/BasicsPart.html • Android ガイドライン Design | Android Developers http://developer.android.com/design/index.html Android デザインを訳してみた - Firespeed http://firespeed.org/diary.php?diary=kenz-1462 • Windows ストアアプリ ガイドライン Windows ストア アプリの UX ガイドラインの索引 (Windows) http://msdn.microsoft.com/ja-jp/library/windows/apps/hh465424.aspx
  56. 56. 参考資料 - UI デザインについて • 同じサービスで比較!iPhoneアプリとAndroidアプリのUI設計の違い | Webnoborder http://webnoborder.jp/iphoneandroidui/ • ガイドラインからみたアプリUI〜iPhone用とAndroid用〜 http://www.slideshare.net/toooommmmmmmmy/mayumaro-akb-fix • Androidアプリの魅力的なインターフェース〜本当にiOSアプリのデザインを流用するだ けでいいの?〜 http://www.slideshare.net/toooommmmmmmmy/androidios-25469241

×