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

56
2014/7/5 (Sat) 第第 Japan Xamarin User Group Conference Xamarin 第第 エエエエエエエエエエエ Business Development Manager エエ エエ @ytabuchi 080-7015-3586

description

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

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

Page 1: 第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

Page 2: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

自己紹介 • 田淵義人• エクセルソフトで 10 年ほど。非開発者。• RoboHelp, MadCap Flare, Alchemy

CATALYST などのヘルプ、ローカライズ関連製品、 Aspose などの .NET/Java 開発製品の担当• Xamarin 頑張ってます。

• twitter.com/ytabuchi• facebook.com/ytabuchi.xlsoft• ytabuchi.hatenablog.com

Page 3: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

Xamarin とは

Page 4: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

Xamarin (ザマリン)iOS/Android/Mac の“ネイティブ” アプリをC# だけで開発できるツール

Page 5: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

Xamarin を使用した開発

Mac も入れたげて!>

Page 6: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

“ ネイティブ” アプリ

• ネイティブ UI• ネイティブ “パフォーマンス”• AOT ( 事前コンパイル ) / JIT コンパイル

でネイティブとして動作

Page 7: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

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;

Page 8: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

しくみ

Page 9: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

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

Page 10: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

Windows API

Page 11: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

iOSAPI

100% 対応

Page 12: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

AndroidAPI

100% 対応

Page 13: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

できること

Page 14: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

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 受け入れテスト

Page 15: 第1回 Japan Xamarin User Group Conference - Xamarin 概要
Page 16: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

画面遷移iOS

Page 17: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

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 受け入れテスト

Page 18: 第1回 Japan Xamarin User Group Conference - Xamarin 概要
Page 19: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

画面遷移Android

Page 20: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

Mac アプリを開発

• 開発環境• Mac (Xamarin Studio)

• 画面• Xcode ( 寂しい )

• コード• C#

• お作法• Cocoa (?)• Auto Complete も OK (?)

Page 21: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

Xamarin を使用した開発

ロジックの共通化

Mac も入れたげて!>

Page 22: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

バックエンド / ロジックの共通化

Page 23: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

ビジネスロジックの共通化

• どのように共通化するのか?• 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

Page 24: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

NuGet • 共通化部分は HTTP Client, Json.NET, MvvmCross などのライブラリを NuGet から取得して効率よく開発

Page 25: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

Xamarin 3

Page 26: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

Xamarin.Forms - 画面の共通化

UI “ コード”の共通化ビルド時にネイティブ UI にマップXAML で書ける!(ただし手動)

Phone

Page 27: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

Pages

Content MasterDetail Navigation Tabbed Carousel

Page 28: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

Layouts

Stack Absolute Relative Grid ContentView ScrollView Frame

Page 29: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

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

Page 30: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

出来ることリンク

Page 31: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

サンプル・ブログなど

• 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

Page 32: 第1回 Japan Xamarin User Group Conference - 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

Page 33: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

de:code セッションビデオ

• iOS/Android アプリを C#/.NET で開発 - Xamarin で実現するクロスプラットフォーム対応 – | de:code 2014 | Channel 9• http://channel9.msdn.com/Events/de-

code/2014/DE-007

Page 34: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

出来ないこと

Page 35: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

Write Once, Run Anywhere

Page 36: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

結局 Android / iOS / Mac の開発知識は必要iOS アプリ開発には Mac 必須

Page 37: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

ひょっとすると…

Page 38: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

Xamarin って凄くない!?\\凄いと思います!//でもお高いんでしょう?…はい…w

Page 39: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

価格 ( コミュニティ仕様 )

• 弊社から購入いただくと日本語サポート付き• アカデミックあります

Starterほぼ無意味

IndieVS, WCF, CI サポートなし$299 1OS@1 年

Business$999 1OS@1 年\127800 1OS@1年

Page 40: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

事例

Page 41: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

ルナルナ 体温ノート

株式会社エムティーアイ 様

http://www.xlsoft.com/jp/products/xamarin/apps_mti.html

Page 42: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

必要なシステム

Page 43: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

開発 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 統合インストーラーに同梱)

Page 44: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

評価版

xamarin.com/downloadj.mp/xm-doc ( 日本語資料 )

Page 45: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

まとめ

Page 46: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

Xamarin (ザマリン)iOS/Android の“ネイティブ” アプリをC# だけで開発できるツール

Page 47: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

iOSAPI

100% 対応

Page 48: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

AndroidAPI

100% 対応

Page 49: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

Xamarin を使用した開発

Page 50: 第1回 Japan Xamarin User Group Conference - Xamarin 概要
Page 51: 第1回 Japan Xamarin User Group Conference - Xamarin 概要
Page 52: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

Xamarin.Forms - 画面の共通化

UI “ コード”の共通化ビルド時にネイティブ UI にマップXAML で書ける!(フル手動)

Phone

Page 53: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

宣伝

Page 54: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

Xamarin 本 • 日経 BP さんのご好意により、 10% 引きで購入いただけます!•チラシを入り口に置いていますのでご活用

ください。

•後でじゃんけん大会で 2 名様にプレゼント!

Page 55: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

懇親会 •今日は Xamarin 3 発表記念のパーティです•是非 Xamarin ケーキを囲んでみんなで写真を撮りましょう• Xamarin に報告したいからw

•懇親会終わった後、飲み行きたい人は残ってください

Page 56: 第1回 Japan Xamarin User Group Conference - Xamarin 概要

Xamarin 盛り立てていきましょう!

ご質問、ご相談は田淵までお気軽にどうぞ[email protected] / 03-5440-7875twitter.com/ytabuchifacebook.com/ytabuchi.xlsoft