SlideShare a Scribd company logo
1 of 26
Download to read offline
Xamarin 概要 
2014/9/20 Plus 
Programming .net 勉強会#9 
Xamarin.iOS でデバイスを超え 
るプログラミング 
エクセルソフト株式会社 
Business Development Manager 
田淵義人 
ytabuchi@xlsoft.com 
03-5440-7875 / 080-7015-3586
自己紹介• 田淵義人 
• エクセルソフトのXamarin 担当。非開発者。 
• Xamarin でググれ 
• Twitter, Web, HTML5/CSS/JS, モバイル/ガ 
ジェット, Web マーケティングなどが好き 
• Twitter: @ytabuchi 
• Blog: http://ytabuchi.hatenablog.com/
自己紹介• 田淵義人 
• エクセルソフトのXamarin 担当。非開発者。 
• Xamarin でググれ(と言いたいw) 
• でも「Xamarin 日本語」でググると私のブログが!!! 
• Twitter, Web, HTML5/CSS/JS, モバイル/ガ 
ジェット, Web マーケティングなどが好き 
• Twitter: @ytabuchi 
• Blog: http://ytabuchi.hatenablog.com/
本セッションのゴール 
• Xamarin についてイメージを掴んでいただくこと 
• 出来ること出来ないことをご理解いただくこと 
• Xamarin に興味を持っていただくこと 
お知らせ 
• 本日の資料は短縮版です。全部入りは以下をご覧ください。 
http://j.mp/xm201408
今までのアプ 
リ開発
クロスプラットフォーム開発 
“no silver bullet”
Xamarin を 
使用した開発
Xamarin(ザマリン) 
“ネイティブ” アプリ 
C# / .NET 
コード共通化
“ネイティブ” 
アプリ 
• C# + .NET ランタイム 
• ネイティブUI 
• ネイティブ“パフォーマンス”
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 == id 
select p;
iOS 
API 
100% 対応
Android 
API 
100% 対応
.NET BCL 
(Mono) 
• System.IO 
• ファイル操作の共通化 
• System.NET 
• ネットワーク操作の共通化 
• System.Linq 
• データ操作の簡素化、共通化 
• System.XML 
• XML 操作の簡素化、共通化 
• System.Threading 
• 上記全般もですが、非同期処理の恩恵
できること・できないことFAQ
FAQ 0 • そのT シャツかっこいい! 
• http://xamarin.com/prebuilt/sharp-shirt か 
らサンプルプロジェクトをダウンロードしてビルドしてくださ 
い。船便でTシャツが届きます!
FAQ 1 • でも、お高いんでしょう? 
• はいw 
• Mac が必須と聞いたんですが… 
• iOS アプリをビルドするのにXcode が必要なんです。 
• Visual Studio Express でも大丈夫? 
• VS はPro 以上が必要です。 
• Windows ストアアプリも対応してますか? 
• Visual Studio があるじゃない(Mac では無理ゲー) 
• ネイティブのAPI はどれくらい使えるの? 
• 全部がC# から使えるようにラップされたAPI です。 
• iOS SDK Beta には対応しているの? 
• Xamarin Alpha/Beta で対応し、iOS 正式版が出たら 
即日対応です。 
• Android L Preview / wear は対応しているの? 
• 最新のAlpha 版で対応しています。
FAQ 2 • ネイティブで作ったライブラリは使えるの? 
• この後のセッションにご期待くださいw 
• Binding してXamarin 用dll にする。 
• ネイティブライブラリを組み込んでP/Invoke やJNI 経由 
• iOS Framework をAndroid で、Android のjar を 
iOS では使えません。 
• Xamarin で作ったライブラリはネイティブで使えるの? 
• 使えません。 
• NuGet は使えるの? 
• 使えます。Xamarin 専用のComponentStore もあり 
ます。 
• WinForm やWPF 用のライブラリは使えるの? 
• 基本的には使えないと思います。 
• Prism (Patern & Practice 製のMvvm フレームワー 
ク) はPCL 化されているのでXamarin でも使えます。
FAQ 3 • どれくらい共通化できるの? 
• 30%~60% くらいかと思います。 
• OS 毎に開発するのは? 
• UI を定義する部分 
• OS 固有の機能を実装する部分 
• 共通化できるのは? 
• ロジック(データベースへのアクセス、通信処理など) 部 
分 
• 定義したUI に対してデータのやり取りをする部分 
• Xamarin.Forms を使用するとベーシックなUI は共 
通化できます。
FAQ 4 • 共有化はどうやってやるの? 
• Universal App (Shared 
Project) 
• PCL (Portable Class 
Library) 
• Profile に注意 
• リンク参照 
• MvvmCross などのフレーム 
ワーク
FAQ 5 • 日本語の資料ってあるの? 
• ・・・ 
• 鋭意努力します! >< 
• 英語ドキュメントはXamarin が山のように用意してい 
ますので、ぜひご覧ください。 
• サンプルが欲しいんですが? 
• Xamarin が山のように(ry なお、Apache 2.0 ラ 
イセンスなのでそのまま使っても大丈夫! 
• 書籍が欲しいんですが? 
• http://www.amazon.co.jp/exec/obidos/AS 
IN/4822298345/ 
• この後の参考資料をご参照ください
参考資料
サンプル・ブロ 
グなど 
• 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.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
開発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 統合インストーラーに同梱)
評価版 
http://xamarin.com/download
ご清聴 
ありがとうございます 
ご質問がありましたら、田淵までお気軽にどうぞ 
ytabuchi@xlsoft.com 
080-7015-3586 / 03-5440-7875 
Twitter: @ytabuchi 
Blog: http://ytabuchi.hatenablog.com/

More Related Content

More from Yoshito Tabuchi

Xamarin で Cognitive Services を使ってみよう
Xamarin で Cognitive Services を使ってみようXamarin で Cognitive Services を使ってみよう
Xamarin で Cognitive Services を使ってみようYoshito Tabuchi
 
Xamarin.Forms のこれまでとこれから
Xamarin.Forms のこれまでとこれからXamarin.Forms のこれまでとこれから
Xamarin.Forms のこれまでとこれからYoshito Tabuchi
 
Xamarinを触り始めた頃の話〜触りたい人に向けて〜
Xamarinを触り始めた頃の話〜触りたい人に向けて〜Xamarinを触り始めた頃の話〜触りたい人に向けて〜
Xamarinを触り始めた頃の話〜触りたい人に向けて〜Yoshito Tabuchi
 
2018年のXamarinの概要と活用方法
2018年のXamarinの概要と活用方法2018年のXamarinの概要と活用方法
2018年のXamarinの概要と活用方法Yoshito Tabuchi
 
20171202 Xamarinの歩き方
20171202 Xamarinの歩き方20171202 Xamarinの歩き方
20171202 Xamarinの歩き方Yoshito Tabuchi
 
Xamarin概要と活用方法
Xamarin概要と活用方法Xamarin概要と活用方法
Xamarin概要と活用方法Yoshito Tabuchi
 
Xamarin概要と活用方法
Xamarin概要と活用方法Xamarin概要と活用方法
Xamarin概要と活用方法Yoshito Tabuchi
 
Realm Mobile Platform 概要
Realm Mobile Platform 概要Realm Mobile Platform 概要
Realm Mobile Platform 概要Yoshito Tabuchi
 
Computer Vision と Translator Text API 使ってみた
Computer Vision と Translator Text API 使ってみたComputer Vision と Translator Text API 使ってみた
Computer Vision と Translator Text API 使ってみたYoshito Tabuchi
 
Xamarin から使う Azure
Xamarin から使う AzureXamarin から使う Azure
Xamarin から使う AzureYoshito Tabuchi
 
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~Yoshito Tabuchi
 
NET Standard と Xamarin
NET Standard と XamarinNET Standard と Xamarin
NET Standard と XamarinYoshito Tabuchi
 
モバイル向けクロスプラットフォーム開発ツール Xamarin の概要とその利点
モバイル向けクロスプラットフォーム開発ツール Xamarin の概要とその利点モバイル向けクロスプラットフォーム開発ツール Xamarin の概要とその利点
モバイル向けクロスプラットフォーム開発ツール Xamarin の概要とその利点Yoshito Tabuchi
 
Xamarin概要+最新情報
Xamarin概要+最新情報Xamarin概要+最新情報
Xamarin概要+最新情報Yoshito Tabuchi
 
ちょっとエモい話
ちょっとエモい話ちょっとエモい話
ちょっとエモい話Yoshito Tabuchi
 
Xamarin の概要と活用事例
Xamarin の概要と活用事例Xamarin の概要と活用事例
Xamarin の概要と活用事例Yoshito Tabuchi
 
Xamarinをこれから始める皆様へ
Xamarinをこれから始める皆様へXamarinをこれから始める皆様へ
Xamarinをこれから始める皆様へYoshito Tabuchi
 
BlueMonkeyプロジェクトのご紹介
BlueMonkeyプロジェクトのご紹介BlueMonkeyプロジェクトのご紹介
BlueMonkeyプロジェクトのご紹介Yoshito Tabuchi
 
Xamarin 概要 2017/01/15
Xamarin 概要 2017/01/15Xamarin 概要 2017/01/15
Xamarin 概要 2017/01/15Yoshito Tabuchi
 

More from Yoshito Tabuchi (20)

Xamarin で Cognitive Services を使ってみよう
Xamarin で Cognitive Services を使ってみようXamarin で Cognitive Services を使ってみよう
Xamarin で Cognitive Services を使ってみよう
 
Xamarin.Forms のこれまでとこれから
Xamarin.Forms のこれまでとこれからXamarin.Forms のこれまでとこれから
Xamarin.Forms のこれまでとこれから
 
Xamarinを触り始めた頃の話〜触りたい人に向けて〜
Xamarinを触り始めた頃の話〜触りたい人に向けて〜Xamarinを触り始めた頃の話〜触りたい人に向けて〜
Xamarinを触り始めた頃の話〜触りたい人に向けて〜
 
2018年のXamarinの概要と活用方法
2018年のXamarinの概要と活用方法2018年のXamarinの概要と活用方法
2018年のXamarinの概要と活用方法
 
20171202 Xamarinの歩き方
20171202 Xamarinの歩き方20171202 Xamarinの歩き方
20171202 Xamarinの歩き方
 
Xamarin概要と活用方法
Xamarin概要と活用方法Xamarin概要と活用方法
Xamarin概要と活用方法
 
Xamarin概要と活用方法
Xamarin概要と活用方法Xamarin概要と活用方法
Xamarin概要と活用方法
 
Realm Mobile Platform 概要
Realm Mobile Platform 概要Realm Mobile Platform 概要
Realm Mobile Platform 概要
 
Computer Vision と Translator Text API 使ってみた
Computer Vision と Translator Text API 使ってみたComputer Vision と Translator Text API 使ってみた
Computer Vision と Translator Text API 使ってみた
 
Xamarin から使う Azure
Xamarin から使う AzureXamarin から使う Azure
Xamarin から使う Azure
 
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
 
NET Standard と Xamarin
NET Standard と XamarinNET Standard と Xamarin
NET Standard と Xamarin
 
モバイル向けクロスプラットフォーム開発ツール Xamarin の概要とその利点
モバイル向けクロスプラットフォーム開発ツール Xamarin の概要とその利点モバイル向けクロスプラットフォーム開発ツール Xamarin の概要とその利点
モバイル向けクロスプラットフォーム開発ツール Xamarin の概要とその利点
 
Xamarin概要+最新情報
Xamarin概要+最新情報Xamarin概要+最新情報
Xamarin概要+最新情報
 
ちょっとエモい話
ちょっとエモい話ちょっとエモい話
ちょっとエモい話
 
Xamarin の概要と活用事例
Xamarin の概要と活用事例Xamarin の概要と活用事例
Xamarin の概要と活用事例
 
Xamarinをこれから始める皆様へ
Xamarinをこれから始める皆様へXamarinをこれから始める皆様へ
Xamarinをこれから始める皆様へ
 
Xamarin概要
Xamarin概要Xamarin概要
Xamarin概要
 
BlueMonkeyプロジェクトのご紹介
BlueMonkeyプロジェクトのご紹介BlueMonkeyプロジェクトのご紹介
BlueMonkeyプロジェクトのご紹介
 
Xamarin 概要 2017/01/15
Xamarin 概要 2017/01/15Xamarin 概要 2017/01/15
Xamarin 概要 2017/01/15
 

Recently uploaded

2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptxssuserbefd24
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521Satoshi Makita
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイントonozaty
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)keikoitakurag
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員Sadaomi Nishi
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )iwashiira2ctf
 
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計atsushi061452
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdfAyachika Kitazaki
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑Akihiro Kadohata
 
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose EstimationToru Tamaki
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一瑛一 西口
 
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayersToru Tamaki
 

Recently uploaded (12)

2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイント
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )
 
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
 
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
 
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
 

Xamarin 概要 at Plus Programming .net 勉強会 (2014/9/20)

  • 1. Xamarin 概要 2014/9/20 Plus Programming .net 勉強会#9 Xamarin.iOS でデバイスを超え るプログラミング エクセルソフト株式会社 Business Development Manager 田淵義人 ytabuchi@xlsoft.com 03-5440-7875 / 080-7015-3586
  • 2. 自己紹介• 田淵義人 • エクセルソフトのXamarin 担当。非開発者。 • Xamarin でググれ • Twitter, Web, HTML5/CSS/JS, モバイル/ガ ジェット, Web マーケティングなどが好き • Twitter: @ytabuchi • Blog: http://ytabuchi.hatenablog.com/
  • 3. 自己紹介• 田淵義人 • エクセルソフトのXamarin 担当。非開発者。 • Xamarin でググれ(と言いたいw) • でも「Xamarin 日本語」でググると私のブログが!!! • Twitter, Web, HTML5/CSS/JS, モバイル/ガ ジェット, Web マーケティングなどが好き • Twitter: @ytabuchi • Blog: http://ytabuchi.hatenablog.com/
  • 4. 本セッションのゴール • Xamarin についてイメージを掴んでいただくこと • 出来ること出来ないことをご理解いただくこと • Xamarin に興味を持っていただくこと お知らせ • 本日の資料は短縮版です。全部入りは以下をご覧ください。 http://j.mp/xm201408
  • 9. “ネイティブ” アプリ • C# + .NET ランタイム • ネイティブUI • ネイティブ“パフォーマンス”
  • 10. 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 == id select p;
  • 11. iOS API 100% 対応
  • 13. .NET BCL (Mono) • System.IO • ファイル操作の共通化 • System.NET • ネットワーク操作の共通化 • System.Linq • データ操作の簡素化、共通化 • System.XML • XML 操作の簡素化、共通化 • System.Threading • 上記全般もですが、非同期処理の恩恵
  • 15. FAQ 0 • そのT シャツかっこいい! • http://xamarin.com/prebuilt/sharp-shirt か らサンプルプロジェクトをダウンロードしてビルドしてくださ い。船便でTシャツが届きます!
  • 16. FAQ 1 • でも、お高いんでしょう? • はいw • Mac が必須と聞いたんですが… • iOS アプリをビルドするのにXcode が必要なんです。 • Visual Studio Express でも大丈夫? • VS はPro 以上が必要です。 • Windows ストアアプリも対応してますか? • Visual Studio があるじゃない(Mac では無理ゲー) • ネイティブのAPI はどれくらい使えるの? • 全部がC# から使えるようにラップされたAPI です。 • iOS SDK Beta には対応しているの? • Xamarin Alpha/Beta で対応し、iOS 正式版が出たら 即日対応です。 • Android L Preview / wear は対応しているの? • 最新のAlpha 版で対応しています。
  • 17. FAQ 2 • ネイティブで作ったライブラリは使えるの? • この後のセッションにご期待くださいw • Binding してXamarin 用dll にする。 • ネイティブライブラリを組み込んでP/Invoke やJNI 経由 • iOS Framework をAndroid で、Android のjar を iOS では使えません。 • Xamarin で作ったライブラリはネイティブで使えるの? • 使えません。 • NuGet は使えるの? • 使えます。Xamarin 専用のComponentStore もあり ます。 • WinForm やWPF 用のライブラリは使えるの? • 基本的には使えないと思います。 • Prism (Patern & Practice 製のMvvm フレームワー ク) はPCL 化されているのでXamarin でも使えます。
  • 18. FAQ 3 • どれくらい共通化できるの? • 30%~60% くらいかと思います。 • OS 毎に開発するのは? • UI を定義する部分 • OS 固有の機能を実装する部分 • 共通化できるのは? • ロジック(データベースへのアクセス、通信処理など) 部 分 • 定義したUI に対してデータのやり取りをする部分 • Xamarin.Forms を使用するとベーシックなUI は共 通化できます。
  • 19. FAQ 4 • 共有化はどうやってやるの? • Universal App (Shared Project) • PCL (Portable Class Library) • Profile に注意 • リンク参照 • MvvmCross などのフレーム ワーク
  • 20. FAQ 5 • 日本語の資料ってあるの? • ・・・ • 鋭意努力します! >< • 英語ドキュメントはXamarin が山のように用意してい ますので、ぜひご覧ください。 • サンプルが欲しいんですが? • Xamarin が山のように(ry なお、Apache 2.0 ラ イセンスなのでそのまま使っても大丈夫! • 書籍が欲しいんですが? • http://www.amazon.co.jp/exec/obidos/AS IN/4822298345/ • この後の参考資料をご参照ください
  • 22. サンプル・ブロ グなど • 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
  • 23. 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
  • 24. 開発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 統合インストーラーに同梱)
  • 26. ご清聴 ありがとうございます ご質問がありましたら、田淵までお気軽にどうぞ ytabuchi@xlsoft.com 080-7015-3586 / 03-5440-7875 Twitter: @ytabuchi Blog: http://ytabuchi.hatenablog.com/