第1回 Japan Xamarin User Group Conference - Xamarin 概要

2,397 views

Published on

第1回 Japan Xamarin User Group Conference でお話した Xamarin 概要に関するセッションです。

Published in: Mobile
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,397
On SlideShare
0
From Embeds
0
Number of Embeds
1,185
Actions
Shares
0
Downloads
16
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide
  • 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/
  • Xamarin 2.0 リリース時に Mono Touch, Mono for Android が Xamarin.iOS, Xamarin.Android にブランド統一
    Xamarin 3.0 で iOS Designer, Xamarin.Forms がサポート
  • https://store.xamarin.com/
    Business Features: Support for in-house deployment, headless builds, WCF, and System.Data.SqlClient.
  • http://j.mp/xamarin-apps

    Xamarin を使用することで、以下の利点が得られました。
    画面周りは最初は苦労したが、グラフの描画部分に効果的に HTML5 で Hybrid にすることで、ロジック部分の共通化と併せて、ソースコードの 7割以上を共有できた。
    1 チームで iOS/Android 両方を担当することで、機能整合性が取れるようになり、別々のチームを率いていたリーダーの負担も減った。
    WEBのフロントエンド&バックエンドは.NetであるMicrosoft Azure のクラウドで実装出来ているため、iOS&Androidのアプリ、WEBのフロントエンド&バックエンドの開発はすべて同じフレームワークで開発出来ている。
  • j.mp/xamarin-dl
  • 第1回 Japan Xamarin User Group Conference - Xamarin 概要

    1. 1. 2014/7/5 (Sat) 第1回 Japan Xamarin User Group Conference Xamarin 概要 エクセルソフト株式会社 Business Development Manager 田淵 義人 @ytabuchi 080-7015-3586
    2. 2. 自己紹介 • 田淵義人 • エクセルソフトで10年ほど。非開発者。 • RoboHelp, MadCap Flare, Alchemy CATALYST などのヘルプ、ローカライズ関連製品、 Aspose などの .NET/Java 開発製品の担当 • Xamarin 頑張ってます。 • twitter.com/ytabuchi • facebook.com/ytabuchi.xlsoft • ytabuchi.hatenablog.com
    3. 3. Xamarin とは
    4. 4. Xamarin(ザマリン) iOS/Android/Mac の “ネイティブ” アプリを C# だけで開発できるツール
    5. 5. Xamarin を 使用した開発 Mac も入れ たげて!><
    6. 6. “ネイティブ” アプリ • ネイティブ UI • ネイティブ “パフォーマンス” • AOT (事前コンパイル) / JIT コンパイルでネイ ティブとして動作
    7. 7. C# で開発 • async/await, LINQ, ラムダ式などの実装が使 える • Java, Objective-C, もちろん Swift すら書く 必要がない button.TouchUpInside += (s, e) => { message.Text = "Hello!"; }; from p in Table<Person> () where p.ID == id select p;
    8. 8. しくみ
    9. 9. 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
    10. 10. Windows API
    11. 11. iOS API 100% 対応
    12. 12. Android API 100% 対応
    13. 13. できること
    14. 14. iOS アプリを 開発 • 開発、ビルド、デバッグ • Windows (Visual Studio) と Mac (ビルド) の Mac 側に実機かシミュレーターを接続しリモートビルド • Mac (Xamarin Studio) に実機かシミュレーターを接続 • 画面構築 • iOS Designer (ステキ!) • C# で動的に生成 • コード • iOS のお作法に則った C# • その他 • iOS API 100% 対応 • Unit Test, Test Flight • Objective-C バインディング / C ライブラリを P/Invoke • Calabash-iOS 受け入れテスト
    15. 15. 画面遷移 iOS
    16. 16. Android アプ リを開発 • 開発、ビルド、デバッグ • Windows (Visual Studio / Xamarin Studio) に実 機か Emulator を接続 • Mac (Xamarin Studio) に実機か Emulator を接続 • 画面構築 • UI Designer / XML • C# で動的生成 • コード • Android のお作法に則った C# • その他 • Android API 100% 対応 • Unit Test • Java バインディング / JNI / P/Invoke • Calabash-Android 受け入れテスト
    17. 17. 画面遷移 Android
    18. 18. Mac アプリを 開発 • 開発環境 • Mac (Xamarin Studio) • 画面 • Xcode (寂しい) • コード • C# • お作法 • Cocoa (?) • Auto Complete も OK (?)
    19. 19. Xamarin を 使用した開発 ロジックの共通化 Mac も入れ たげて!><
    20. 20. バックエンド/ロジックの共通化
    21. 21. ビジネスロジッ クの共通化 • どのように共通化するのか? • Universal App (Shared Project) • PCL (Portable Class Library) を活用 • Profile に注意 • リンク参照 • MvvmCross などのフレーム ワークを使用 http://jp.xlsoft.com/demo2/xamarin/TaskyPortable_ja.zip | http://jp.xlsoft.com/demo2/xamarin/TaskyPro_ja_2012.zip
    22. 22. NuGet • 共通化部分は HTTP Client, Json.NET, MvvmCross などのライブラリを NuGet から取 得して効率よく開発
    23. 23. Xamarin 3
    24. 24. Xamarin.For ms - 画面の 共通化 UI “コード”の共通 化 ビルド時にネイティブ UI にマップ XAML で書ける! (ただし手動) Phone
    25. 25. Pages Content MasterDetail Navigation Tabbed Carousel
    26. 26. Layouts Stack Absolute Relative Grid ContentView ScrollView Frame
    27. 27. Controls ActivityIndicat or BoxView Button DatePicker Editor Entry Image Label ListView Map OpenGLView Picker ProgressBar SearchBar Slider Stepper TableView TimePicker WebView EntryCell ImageCell SwitchCell TextCell ViewCell
    28. 28. 出来ることリンク
    29. 29. サンプル・ブロ グなど • Xamarin.iOS サンプル • https://github.com/xamarin/monotouch-samples • Xamarin.Android サンプル • https://github.com/xamarin/monodroid-samples • Japan Xamarin User Group • http://j.mp/xm-jxug • 札幌ワークスさん Xamarin カテゴリ • http://furuya02.hatenablog.com/archive/category/ Xamarin • 田淵ブログ • http://ytabuchi.hatenablog.com/entry/toc • Xamarin ブロググループ • http://j.mp/xm-htngrp • Qiita Xamarin タグ • http://qiita.com/tags/xamarin
    30. 30. Xamarin.For ms について • 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.Form s • 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
    31. 31. de:code セッ ションビデオ • iOS/Android アプリを C#/.NET で開発 - Xamarin で実現するクロスプラットフォーム対応 – | de:code 2014 | Channel 9 • http://channel9.msdn.com/Events/de- code/2014/DE-007
    32. 32. 出来ないこと
    33. 33. Write Once, Run Anywhere
    34. 34. 結局 Android / iOS / Mac の 開発知識は必要 iOS アプリ開発には Mac 必須
    35. 35. ひょっとすると…
    36. 36. Xamarin って凄くない!? \\凄いと思います!// でもお高いんでしょう? …はい…w
    37. 37. 価格 (コミュニ ティ仕様) • 弊社から購入いただくと日本語サポート付き • アカデミックあります Starter ほぼ無意味 Indie VS, WCF, CI サ ポートなし $299 1OS@1年 Business $999 1OS@1年 127800 1OS@1年
    38. 38. 事例
    39. 39. ルナルナ 体温 ノート 株式会社エムティー アイ 様 http://www.xlsoft.com/jp/products/xamarin/apps_mti.html
    40. 40. 必要なシステム
    41. 41. 開発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 統合インストーラーに同梱)
    42. 42. 評価版 xamarin.com/download j.mp/xm-doc (日本語資料)
    43. 43. まとめ
    44. 44. Xamarin(ザマリン) iOS/Android の “ネイティブ” アプリを C# だけで開発できるツール
    45. 45. iOS API 100% 対応
    46. 46. Android API 100% 対応
    47. 47. Xamarin を 使用した開発
    48. 48. Xamarin.For ms - 画面の 共通化 UI “コード”の共通 化 ビルド時にネイティブ UI にマップ XAML で書ける! (フル手動) Phone
    49. 49. 宣伝
    50. 50. Xamarin 本 • 日経BP さんのご好意により、10%引きで購入い ただけます! • チラシを入り口に置いていますのでご活用ください。 • 後でじゃんけん大会で 2名様にプレゼント!
    51. 51. 懇親会 • 今日は Xamarin 3 発表記念のパーティです • 是非 Xamarin ケーキを囲んでみんなで写真を 撮りましょう • Xamarin に報告したいからw • 懇親会終わった後、飲み行きたい人は残ってくだ さい
    52. 52. Xamarin 盛り立ててい きましょう! ご質問、ご相談は田淵までお気軽にどうぞ ytabuchi@xlsoft.com 080-7015-3586 / 03-5440-7875 twitter.com/ytabuchi facebook.com/ytabuchi.xlsoft

    ×