xamarin 概要 2014年08月版

Post on 27-May-2015

2.858 Views

Category:

Software

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Xamarin の概要紹介資料です。Xamarin 3 も発表され暫くたちますのでどんどん使いやすくなる Xamarin の今の情報を纏めました。

TRANSCRIPT

モバイルアプリ クロス開発ツール Xamarin 概要

エクセルソフト株式会社

Business Development Manager

田淵 義人

ytabuchi@xlsoft.com

03-5440-7875 / 080-7015-3586

会社概要 名称 エクセルソフト株式会社

設立 平成3年7月1日

所在地 東京都港区三田3-9-9

資本金 1000万円

事業内容 ソフトウェアの開発・販売事業

主要取引先 伊藤忠テクノソリューションズ, インテル, SCSK, HPCシステムズ, NTTコムウェア, NTTデータ, シネックスインフォテック, 新日鉄住金ソリューションズ, ソニー, ソフトバンクBB, ダイワボウ情報システム, 東芝, 日本アイ・ビー・エム, 日本SGI, 日本電気, 日本ヒューレット・パッカード, 日本ユニシス, ネットワールド, 野村総合研究所, パナソニック, 日立製作所, 富士通, マイクロソフト, 三菱電機 等

関連会社 XLsoft Corporation アメリカ カリフォルニア州

「開発ツールはエクセルソフトで」をモットーに。

販売/サポートだけでなく、運用もお客様と一緒に考えます。

大きい会社ではありませんが、レスポンスの速さと技術の高さが自慢です。

はじめに

モバイル デバイスのシェア

家庭の所有率はタブレット20%、スマートフォン50% - IDCJapan (2013/10)

2012年度の法人向けタブレット出荷は79万台。2015年度には2.2倍に - ICT総研 (2013/8)

http://j.mp/1jDKQMx | http://j.mp/1flA8Dp | http://j.mp/1cBUTdc

「うちもモバイル対応を考えてるんだよね…」「この提案、iPad や Android タブレットで出来ないかな?」

更に求められるモノ

業務アプリ開発のトレンド

現在の業務アプリ開発の課題

短納期・多デバイス対応

http://www.atmarkit.co.jp/ait/articles/1404/21/news013.html

業務アプリ開発のトレンド

業務アプリ開発で今後採用したい“次世代テクノロジ”

http://www.atmarkit.co.jp/ait/articles/1404/21/news013.html

クロス開発しかない(社内の業務アプリ資産を生かせるとなお良し)

今までのアプリ開発

ハイブリッドアプリ

今までのハイブリッド開発

共通化による最小限の機能

分厚いラッパー

リリースまでの日数

App Generation

facebook HTML5

HTML5に賭けたことはFacebookの「最大の戦略ミス」だった

2012/9/11 Mark Zuckerberg

http://www.itmedia.co.jp/news/articles/1209/12/news032.html

facebook native

http://www.itmedia.co.jp/news/articles/1209/12/news032.html

PhoneGAP (Cordova)

Accelerometer

Camera

Compass

Contacts

File

Geolocation

Media

Network

Notification

Storage

http://phonegap.com/about/feature/

Xamarin を使用した開発

Xamarin(ザマリン)iOS/Android の“ネイティブ” アプリをC# でコード共有しつつ開発できるツール

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

Windows API

iOSAPI

100% 対応

AndroidAPI

100% 対応

「Windows アプリの資産をiOS/Android に使いまわすことはできないのかな…?」

.NET BCL • System.IO• ファイル操作の共通化

• System.NET• ネットワーク操作の共通化

• System.Linq• データ操作の簡素化、共通化

• System.XML• XML 操作の簡素化、共通化

• System.Threading• 上記全般もですが、非同期処理の恩恵

C# / Visual Studio で開発

• async/await, LINQ, ラムダ式などの実装が使える

• Java, Objective-C, Swift を書く必要がない

• TFS, Resharper などのエコシステム

button.TouchUpInside += (s, e) => {message.Text = "Hello!";

};

from p in Table<Person> ()where p.ID == idselect p;

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

“ネイティブ”アプリ

• C# + .NET ランタイム

• ネイティブ UI

• ネイティブ “パフォーマンス”

できること

iOS アプリを開発

•開発、ビルド、デバッグ• Windows (Visual Studio) と Mac (ビルド) の

Mac 側に実機かシミュレーターを接続しリモートビルド• Mac (Xamarin Studio) に実機かシミュレーターを接続

•画面構築• iOS Designer• C# で動的に生成

• コード• C# で iOS API を叩く

• iOS ネイティブの資産を活用• Objective-C バインディング / C ライブラリを

P/Invoke

画面遷移iOS

Android アプリを開発

•開発、ビルド、デバッグ• Windows (Visual Studio / Xamarin Studio) に実機か Emulator を接続

• Mac (Xamarin Studio) に実機か Emulator を接続

•画面構築• UI Designer / XML

• C# で動的生成

• コード• C# で Android API を叩く

• Asposeネイティブの資産を活用• Java バインディング / JNI / P/Invoke

画面遷移Android

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

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

• どこを共通化できるか?

• OS 毎に開発• UI を定義する部分

• OS 固有の機能を実装する部分

•共通化• ロジック (データベースへのアクセス、通信処理など) 部分

• 定義した UI に対してデータのやり取りをする部分

http://jp.xlsoft.com/demo2/xamarin/TaskyPortable_ja.zip | http://jp.xlsoft.com/demo2/xamarin/TaskyPro_ja_2012.zip

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

• Universal App (SharedProject)

• PCL (Portable Class Library)• Profile に注意

• リンク参照

• MvvmCross などのフレームワーク

DEMO

更に効率良く

NuGet / Component Store

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

DEMO

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

DEMO

出来ることリンク

サンプル・ブログなど

• 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

• 田淵ブログ• 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.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

出来ないこと

Write Once, Run Anywhere

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

事例

ルナルナ 体温ノート

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

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

Home Network SDK

ソニーデジタルネットワークアプリケーションズ株式会社

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

NHK 紅白

フェンリル株式会社

http://biz.fenrir-inc.com/application_development/casestudy_app/nhk_kouhaku.html

Rdio: 50,000 行のコードを共有

pCloud

オンラインストレージアプリ

自動アップロード、オフラインファイルなど

Android

iPhone

http://xamarin.com/apps/app/pcloud | http://ytabuchi.hatenablog.com/entry/2014/03/20/142755

Kick The Ball

3Dゲーム

iPhone, iPad, Android アプリ

iPhone

Android

http://j.mp/QC8P2o | http://ytabuchi.hatenablog.com/entry/2014/04/07/185112

Hitcents -Draw a Stickman EPIC

MonoGame を利用

• XNA 4 の OSS実装

95%コードを共通化iPhone, iPad, Android, Windows ストアアプリ

http://blog.xamarin.com/draw-a-stickman-epic-now-available-for-iphone-ipad-and-windows-8-2/

必要なシステム

開発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.iOS• iOS SDK リリースと同日

• iOS 8 SDK Beta (Xcode 6 Beta) とXamarin.iOS Alpha で iOS 8 対応アプリを開発可能

• Xcode 6 Beta は Mac OS X 10.9.3 または10.10 が必要

• Xamarin.Android• 1ヶ月~3ヶ月程してリリース

• Android L, Android wear は対応済み

価格・評価版

ライセンス体系、価格、サポート

• Xamarin.iOS Business SubscriptionXamarin.Android Business Subscription• 1 開発者の永続ライセンス。

• 弊社から 1年間 日本語でのサポート、1年間のバージョンアップ

• 1開発者、1プラットフォーム毎、1年毎に¥127,800 です。• ボリュームディスカウントがあります。

評価版

http://j.mp/xamarin-dl

まとめ

Xamarin(ザマリン)iOS/Android の“ネイティブ” アプリをC# でコード共有しつつ開発できるツール

iOSAPI

100% 対応

AndroidAPI

100% 対応

Xamarin を使用した開発

Xamarin.Forms - 画面の共通化

UI “コード”の共通化

ビルド時にネイティブUI にマップ

XAML で書ける!(フル手動)

Phone

ご清聴ありがとうございます

ご質問がありましたら、田淵までお気軽にどうぞytabuchi@xlsoft.com080-7015-3586 / 03-5440-7875Twitter: @ytabuchiBlog: http://ytabuchi.hatenablog.com/

top related