第1回 Japan Xamarin User Group Conference - Xamarin 概要
-
Upload
yoshito-tabuchi -
Category
Mobile
-
view
1.800 -
download
1
description
Transcript of 第1回 Japan Xamarin User Group Conference - Xamarin 概要
2014/7/5 (Sat) 第1回 Japan Xamarin User Group Conference
Xamarin 概要エクセルソフト株式会社Business Development Manager
田淵 義人@ytabuchi
080-7015-3586
自己紹介 • 田淵義人• エクセルソフトで 10 年ほど。非開発者。• RoboHelp, MadCap Flare, Alchemy
CATALYST などのヘルプ、ローカライズ関連製品、 Aspose などの .NET/Java 開発製品の担当• Xamarin 頑張ってます。
• twitter.com/ytabuchi• facebook.com/ytabuchi.xlsoft• ytabuchi.hatenablog.com
Xamarin とは
Xamarin (ザマリン)iOS/Android/Mac の“ネイティブ” アプリをC# だけで開発できるツール
Xamarin を使用した開発
Mac も入れたげて!>
<
“ ネイティブ” アプリ
• ネイティブ UI• ネイティブ “パフォーマンス”• AOT ( 事前コンパイル ) / JIT コンパイル
でネイティブとして動作
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;
しくみ
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
Windows API
iOSAPI
100% 対応
AndroidAPI
100% 対応
できること
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 受け入れテスト
画面遷移iOS
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 受け入れテスト
画面遷移Android
Mac アプリを開発
• 開発環境• Mac (Xamarin Studio)
• 画面• Xcode ( 寂しい )
• コード• C#
• お作法• Cocoa (?)• Auto Complete も OK (?)
Xamarin を使用した開発
ロジックの共通化
Mac も入れたげて!>
<
バックエンド / ロジックの共通化
ビジネスロジックの共通化
• どのように共通化するのか?• 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
NuGet • 共通化部分は HTTP Client, Json.NET, MvvmCross などのライブラリを NuGet から取得して効率よく開発
Xamarin 3
Xamarin.Forms - 画面の共通化
UI “ コード”の共通化ビルド時にネイティブ UI にマップXAML で書ける!(ただし手動)
Phone
Pages
Content MasterDetail Navigation Tabbed Carousel
Layouts
Stack Absolute Relative Grid ContentView ScrollView Frame
Controls
ActivityIndicator
BoxView Button DatePicker Editor
Entry Image Label ListView Map
OpenGLView Picker ProgressBar SearchBar Slider
Stepper TableView TimePicker WebView EntryCell
ImageCell SwitchCell TextCell ViewCell
出来ることリンク
サンプル・ブログなど
• 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
Xamarin.Forms について
• 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
de:code セッションビデオ
• iOS/Android アプリを C#/.NET で開発 - Xamarin で実現するクロスプラットフォーム対応 – | de:code 2014 | Channel 9• http://channel9.msdn.com/Events/de-
code/2014/DE-007
出来ないこと
Write Once, Run Anywhere
結局 Android / iOS / Mac の開発知識は必要iOS アプリ開発には Mac 必須
ひょっとすると…
Xamarin って凄くない!?\\凄いと思います!//でもお高いんでしょう?…はい…w
価格 ( コミュニティ仕様 )
• 弊社から購入いただくと日本語サポート付き• アカデミックあります
Starterほぼ無意味
IndieVS, WCF, CI サポートなし$299 1OS@1 年
Business$999 1OS@1 年\127800 1OS@1年
事例
ルナルナ 体温ノート
株式会社エムティーアイ 様
http://www.xlsoft.com/jp/products/xamarin/apps_mti.html
必要なシステム
開発 OS 対象 OS
IDE 必要なシステム
Windows
iOSVisual 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 統合インストーラーに同梱)
評価版
xamarin.com/downloadj.mp/xm-doc ( 日本語資料 )
まとめ
Xamarin (ザマリン)iOS/Android の“ネイティブ” アプリをC# だけで開発できるツール
iOSAPI
100% 対応
AndroidAPI
100% 対応
Xamarin を使用した開発
Xamarin.Forms - 画面の共通化
UI “ コード”の共通化ビルド時にネイティブ UI にマップXAML で書ける!(フル手動)
Phone
宣伝
Xamarin 本 • 日経 BP さんのご好意により、 10% 引きで購入いただけます!•チラシを入り口に置いていますのでご活用
ください。
•後でじゃんけん大会で 2 名様にプレゼント!
懇親会 •今日は Xamarin 3 発表記念のパーティです•是非 Xamarin ケーキを囲んでみんなで写真を撮りましょう• Xamarin に報告したいからw
•懇親会終わった後、飲み行きたい人は残ってください
Xamarin 盛り立てていきましょう!
ご質問、ご相談は田淵までお気軽にどうぞ[email protected] / 03-5440-7875twitter.com/ytabuchifacebook.com/ytabuchi.xlsoft