SlideShare a Scribd company logo
Xamarinの概要と活用事例
2017/3/29(水)
Xamarin 最前線 with iOS Consortium
Japan Xamarin User Group
田淵義人@エクセルソフト
Twitter: @ytabuchi
facebook: ytabuchi.xlsoft
営業(セールスエンジニア) 兼 新規事業開発室 室長
Xamarin コミュニティエバンジェリスト
Microsoft MVP Visual Studio and Development Technologies
Xamarin MVP
連載・執筆
Build Insider Xamarin Tips
.NET開発テクノロジ入門2016年版
コミュニティ
Japan Xamarin User Group 主宰
Twitter: @ytabuchi
facebook: ytabuchi.xlsoft
Blog: Xamarin 日本語情報
2
田淵義人@エクセルソフト
Xamarin.iOS とは何かを理解してもらう
Xamarin 面白そうだなと感じてもらう
3
ゴール
Xamarinとは
C# / .NET / Visual Studio
フル “ネイティブ” アプリ
API 100% 移植
コード共通化
Xamarin
5
2つの開発手法
Shared C# App Logic
(PCL)
Shared XAML/C# UI Code
(Xamarin.Forms)
iOS
C# UI
Shared C# App Logic
(PCL)
Android
C# UI
Windows
C# UI
Xamarin.FormsXamarin Native
ロジックのみ共通化
UIはネイティブで個別に作りこむ
6
iOS の API を C# から呼び出せる薄
いラッパー
同じ要素を利用可能
Storyboard
ViewController
Info.plist/Entitlements.plist
Assets
Monoランタイムと C# のコードを AOT
コンパイル
7
Xamarin.iOS
https://speakerdeck.com/amay077/xamarin-dot-android-teshi-merukurosuhuratutohuomumohairuahurikai-fa-number-droidkaigi-number-droidkaigi1
8
Storyboard/ViewController
namespace XamarinNative.iOS
public partial class ViewController :
UIViewController
{
public ViewController(IntPtr handle)
: base(handle) {}
public override void ViewDidLoad()
{
base.ViewDidLoad();
GetButton.TouchUpInside += (sender, e) =>
{
GetButton.SetTitle("Tapped!",
UIControlState.Normal);
};
}
}
9
Info.plist
NuGet
10
Xamarin ネイティブのコード
11
Xamarin.Forms
ワンソース
ネイティブの
UI/UX
XAML
MVVM
12
Model View
ViewModel
Data Binding
13
MVVM
Open Source
https://github.com/ProjectBlueMonkey
/BlueMonkey
MVVM Pattern
Prism for Xamarin.Forms
Guidance
Patterns & Practices
Testable & Maintainable
14
Project Blue Monkey
http://www.nuits.jp/entry/bluemonkey-architecture-overview
https://www.slideshare.net/AtsushiNakamura4/blue-monkey-architecture-overview
Xamarin.Forms のコード
15
必要な知識
プラットフォーム
個別
Xamarin Native
iOS API Objective-C, Swift Xcode
Android API Java Android Studio
Windows API Visual StudioC#
API 言語 統合開発環境
iOS API Objective-C, Swift Xcode
Android API Java Android Studio
Windows API Visual StudioC#
Xamarin.Forms
iOS API
Android API
Windows API
Objective-C, Swift Xcode
Java Android Studio
Visual StudioC#Xamarin.Forms
UI toolkit
16
C#
17
button.Click += async (sender, e) =>
{
var client = new HttpClient();
using (var reader = new StreamReader(await client.GetStreamAsync("xxx")))
{
var deserializer = new XmlSerializer(typeof(Rss));
var latest = deserializer.Deserialize(reader) as Rss;
var feed = latest.Channel.Items
.Where(x => x.Link.Contains("xamarin"))
.Select(x => x.Title).ToList();
}
};
どんなアプリが作れるの?
フェンリル株式会社 様
http://biz.fenrir-
inc.com/application_dev
elopment/casestudy_ap
p/nhk_kouhaku.html
NHK 紅白
19
株式会社エムティーアイ 様
http://www.xlsoft.com/jp/pr
oducts/xamarin/apps_saken
omy.html
Xamarin.Forms 活用事例
Sakenomy
20
@muak_x さん
http://kamusoft.hatenab
log.jp/entry/2016/11/08/
220810
21
色しらべ
@yamamo さん
https://docs.com
/yamamoto-
takahiro/9893/jxu
gc-17-xamarin
22
AzureVM Power Switch
@kikutaro_ さん
http://kikutaro777
.hatenablog.com/
entry/2016/08/07
/230423
23
坂道46セレクション
24
エイチ・エス証券 スマ株
https://speakerdeck.com/amay077/xamarin-dot-android-teshi-merukurosuhuratutohuomumohairuahurikai-fa-number-droidkaigi-number-droidkaigi1
まとめ
2つの開発手法
Shared C# App Logic
(PCL)
Shared XAML/C# UI Code
(Xamarin.Forms)
iOS
C# UI
Shared C# App Logic
(PCL)
Android
C# UI
Windows
C# UI
Xamarin.FormsXamarin Native
ロジックのみ共通化
UIはネイティブで個別に作りこむ
26
iOS の知識があるとより活用できる
共通化で品質向上
モダンな開発環境で変更に強い良いアプリを
Xamarin
ありがとうございます
JXUG にも遊びに来てください
Japan Xamarin User Group
田淵義人@エクセルソフト
Twitter: @ytabuchi
facebook: ytabuchi.xlsoft
28

More Related Content

PDF
Xamarin概要
Yoshito Tabuchi
 
PDF
Xamarin から使う Azure
Yoshito Tabuchi
 
PDF
NET Standard と Xamarin
Yoshito Tabuchi
 
PDF
ちょっとエモい話
Yoshito Tabuchi
 
PDF
Xamarin概要+最新情報
Yoshito Tabuchi
 
PDF
モバイル向けクロスプラットフォーム開発ツール Xamarin の概要とその利点
Yoshito Tabuchi
 
PDF
Realm Mobile Platform 概要
Yoshito Tabuchi
 
PDF
Xamarin 概要 2017/01/15
Yoshito Tabuchi
 
Xamarin概要
Yoshito Tabuchi
 
Xamarin から使う Azure
Yoshito Tabuchi
 
NET Standard と Xamarin
Yoshito Tabuchi
 
ちょっとエモい話
Yoshito Tabuchi
 
Xamarin概要+最新情報
Yoshito Tabuchi
 
モバイル向けクロスプラットフォーム開発ツール Xamarin の概要とその利点
Yoshito Tabuchi
 
Realm Mobile Platform 概要
Yoshito Tabuchi
 
Xamarin 概要 2017/01/15
Yoshito Tabuchi
 

What's hot (20)

PDF
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
Yoshito Tabuchi
 
PDF
BlueMonkeyプロジェクトのご紹介
Yoshito Tabuchi
 
PDF
Xamarin概要と活用方法
Yoshito Tabuchi
 
PDF
Xamarinの歩き方
Yoshito Tabuchi
 
PPTX
ゆるふわ Xamarin Tips
Daiki Kawanuma
 
PDF
20171202 Xamarinの歩き方
Yoshito Tabuchi
 
PDF
Xamarin の特徴と開発手法概要
Yoshito Tabuchi
 
PPTX
Developers.io.札幌 xamarinってどうよ
Shinichi Hirauchi
 
PDF
Xamarinをこれから始める皆様へ
Yoshito Tabuchi
 
PDF
Xamarin バッドノウハウ大全
Yoshito Tabuchi
 
PDF
Xamarin概要と活用方法
Yoshito Tabuchi
 
PDF
Computer Vision と Translator Text API 使ってみた
Yoshito Tabuchi
 
PDF
[MW08] de:code イベントアプリの作り方 ~ Xamarin.Forms で開発しています ~
de:code 2017
 
PPTX
20分でできる!Xamarin.Forms入門
Shinichi Hirauchi
 
PDF
Xamarin.Forms アプリケーション 設計パターン
一希 大田
 
PDF
Xamarin 概要
Yoshito Tabuchi
 
PDF
10分でわかる無料になったXamarin
Yoshito Tabuchi
 
PDF
Sakenomyの開発経緯と内容をできるだけ公開しちゃいます
Yo Otagawa
 
PDF
Xamarin 基礎講座 2016年7月版
Yoshito Tabuchi
 
PPTX
Xamarin.formsとカスタムコントロールの話
Masuda Tomoaki
 
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
Yoshito Tabuchi
 
BlueMonkeyプロジェクトのご紹介
Yoshito Tabuchi
 
Xamarin概要と活用方法
Yoshito Tabuchi
 
Xamarinの歩き方
Yoshito Tabuchi
 
ゆるふわ Xamarin Tips
Daiki Kawanuma
 
20171202 Xamarinの歩き方
Yoshito Tabuchi
 
Xamarin の特徴と開発手法概要
Yoshito Tabuchi
 
Developers.io.札幌 xamarinってどうよ
Shinichi Hirauchi
 
Xamarinをこれから始める皆様へ
Yoshito Tabuchi
 
Xamarin バッドノウハウ大全
Yoshito Tabuchi
 
Xamarin概要と活用方法
Yoshito Tabuchi
 
Computer Vision と Translator Text API 使ってみた
Yoshito Tabuchi
 
[MW08] de:code イベントアプリの作り方 ~ Xamarin.Forms で開発しています ~
de:code 2017
 
20分でできる!Xamarin.Forms入門
Shinichi Hirauchi
 
Xamarin.Forms アプリケーション 設計パターン
一希 大田
 
Xamarin 概要
Yoshito Tabuchi
 
10分でわかる無料になったXamarin
Yoshito Tabuchi
 
Sakenomyの開発経緯と内容をできるだけ公開しちゃいます
Yo Otagawa
 
Xamarin 基礎講座 2016年7月版
Yoshito Tabuchi
 
Xamarin.formsとカスタムコントロールの話
Masuda Tomoaki
 
Ad

Viewers also liked (19)

PDF
Loki: An Opensource Zipkin/Prometheus Mashup written in Go.
Weaveworks
 
PPTX
掲載されやすいプレスリリースの作り方
Yu Matsui
 
PDF
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Yoshito Tabuchi
 
PDF
نصائح لتطبيق تعلم الآلة
Fares Al-Qunaieer
 
PPTX
Xamarin.formsでのmvvm利用のコツ
Masuda Tomoaki
 
PDF
Xamarin によるクロスプラットフォームモバイルアプリ開発(2014.06)
Hironov OKUYAMA
 
PPTX
Docker, OSS and Azure
Elton Stoneman
 
PPTX
Nuori2017 29.3.2017
Mikko Meriläinen
 
PPTX
Android Things - Solid Foundations
Paul Blundell
 
PDF
Hacking 2017 - Le manifeste des startups
FrenchWeb.fr
 
PDF
Les candidats à la présidentielle savent-ils gérer leur argent ?
Grisbee
 
PPTX
Containerd Donation to CNCF Cloud Native Conference Berlin 2017
Patrick Chanezon
 
PDF
Machine Learning/ Data Science: Boosting Predictive Analytics Model Performance
T. Scott Clendaniel
 
PDF
Sosiaalisen median perusteita ja ajankohtaiskatsaus
Harto Pönkä
 
PDF
フォントの選び方・使い方
k maztani
 
PDF
The Marketer's Guide To Customer Interviews
Good Funnel
 
PPTX
ELSA France "Teaching is us!"
Adrian Scarlett
 
PDF
The Be-All, End-All List of Small Business Tax Deductions
Wagepoint
 
PDF
10 Things You Didn’t Know About Mobile Email from Litmus & HubSpot
HubSpot
 
Loki: An Opensource Zipkin/Prometheus Mashup written in Go.
Weaveworks
 
掲載されやすいプレスリリースの作り方
Yu Matsui
 
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Yoshito Tabuchi
 
نصائح لتطبيق تعلم الآلة
Fares Al-Qunaieer
 
Xamarin.formsでのmvvm利用のコツ
Masuda Tomoaki
 
Xamarin によるクロスプラットフォームモバイルアプリ開発(2014.06)
Hironov OKUYAMA
 
Docker, OSS and Azure
Elton Stoneman
 
Nuori2017 29.3.2017
Mikko Meriläinen
 
Android Things - Solid Foundations
Paul Blundell
 
Hacking 2017 - Le manifeste des startups
FrenchWeb.fr
 
Les candidats à la présidentielle savent-ils gérer leur argent ?
Grisbee
 
Containerd Donation to CNCF Cloud Native Conference Berlin 2017
Patrick Chanezon
 
Machine Learning/ Data Science: Boosting Predictive Analytics Model Performance
T. Scott Clendaniel
 
Sosiaalisen median perusteita ja ajankohtaiskatsaus
Harto Pönkä
 
フォントの選び方・使い方
k maztani
 
The Marketer's Guide To Customer Interviews
Good Funnel
 
ELSA France "Teaching is us!"
Adrian Scarlett
 
The Be-All, End-All List of Small Business Tax Deductions
Wagepoint
 
10 Things You Didn’t Know About Mobile Email from Litmus & HubSpot
HubSpot
 
Ad

Similar to Xamarin の概要と活用事例 (20)

PPTX
Xamarin で クラシックデスクトップ 2
m ishizaki
 
PPTX
Xamarin.Android ハンズオン 2018/11
m ishizaki
 
PPTX
Xamarinで作るiPhoneとwindowsストアアプリの共通コンポーネント
Masuda Tomoaki
 
PDF
Xamarin.Forms のこれまでとこれから
Yoshito Tabuchi
 
PDF
C# と Xamarin
Yoshito Tabuchi
 
PDF
Xamarin 概要
Masayuki Fukuchi
 
PDF
Visual Studio + xamarin で始めるモバイル アプリ開発
インフラジスティックス・ジャパン株式会社
 
PDF
JXUGC 13 東京 はじめに
Yoshito Tabuchi
 
PDF
DEV-023_Xamarin Deep Dive - Xamarin.Forms の可能性
decode2016
 
PPTX
Xamarin 201406 geo media summit
Yoshito Tabuchi
 
PPTX
Xamarin ハンズオン Android の部
m ishizaki
 
PPTX
Xamarin.Forms オリジナルタイマーアプリを作ろうハンズオン
m ishizaki
 
PDF
WPF開発者がXamarin.Macを触るその前に
Kazuhiko Shimada
 
PDF
インフラジスティックスおよび Xamarin.Forms コントロールのご紹介
インフラジスティックス・ジャパン株式会社
 
PPTX
JXUG ハンズオンもくもく会
Tomohiro Suzuki
 
PDF
Xamarin を使うとどんなことができるの?
Yoshito Tabuchi
 
PDF
2018/06/24 .NETラボ Xamarinトーク
Kenshiro Fukuda
 
PDF
これから始めるXamarin開発
Tsukasa Kato
 
PPTX
Xamarin で始めるクロスプラットフォーム開発
m ishizaki
 
PDF
Xamarin 概要 @ 2015/1/29 CROSS 2015
Yoshito Tabuchi
 
Xamarin で クラシックデスクトップ 2
m ishizaki
 
Xamarin.Android ハンズオン 2018/11
m ishizaki
 
Xamarinで作るiPhoneとwindowsストアアプリの共通コンポーネント
Masuda Tomoaki
 
Xamarin.Forms のこれまでとこれから
Yoshito Tabuchi
 
C# と Xamarin
Yoshito Tabuchi
 
Xamarin 概要
Masayuki Fukuchi
 
Visual Studio + xamarin で始めるモバイル アプリ開発
インフラジスティックス・ジャパン株式会社
 
JXUGC 13 東京 はじめに
Yoshito Tabuchi
 
DEV-023_Xamarin Deep Dive - Xamarin.Forms の可能性
decode2016
 
Xamarin 201406 geo media summit
Yoshito Tabuchi
 
Xamarin ハンズオン Android の部
m ishizaki
 
Xamarin.Forms オリジナルタイマーアプリを作ろうハンズオン
m ishizaki
 
WPF開発者がXamarin.Macを触るその前に
Kazuhiko Shimada
 
インフラジスティックスおよび Xamarin.Forms コントロールのご紹介
インフラジスティックス・ジャパン株式会社
 
JXUG ハンズオンもくもく会
Tomohiro Suzuki
 
Xamarin を使うとどんなことができるの?
Yoshito Tabuchi
 
2018/06/24 .NETラボ Xamarinトーク
Kenshiro Fukuda
 
これから始めるXamarin開発
Tsukasa Kato
 
Xamarin で始めるクロスプラットフォーム開発
m ishizaki
 
Xamarin 概要 @ 2015/1/29 CROSS 2015
Yoshito Tabuchi
 

More from Yoshito Tabuchi (9)

PDF
Kong Summit 2021 振り返り
Yoshito Tabuchi
 
PDF
Kong 概要
Yoshito Tabuchi
 
PDF
勉強会参加のススメ
Yoshito Tabuchi
 
PDF
Kong Enterprise の紹介
Yoshito Tabuchi
 
PDF
How does a sales person grow up his community
Yoshito Tabuchi
 
PDF
Xamarin で Cognitive Services を使う
Yoshito Tabuchi
 
PDF
Xamarin で Cognitive Services を使ってみよう
Yoshito Tabuchi
 
PDF
Xamarinを触り始めた頃の話〜触りたい人に向けて〜
Yoshito Tabuchi
 
PDF
2018年のXamarinの概要と活用方法
Yoshito Tabuchi
 
Kong Summit 2021 振り返り
Yoshito Tabuchi
 
Kong 概要
Yoshito Tabuchi
 
勉強会参加のススメ
Yoshito Tabuchi
 
Kong Enterprise の紹介
Yoshito Tabuchi
 
How does a sales person grow up his community
Yoshito Tabuchi
 
Xamarin で Cognitive Services を使う
Yoshito Tabuchi
 
Xamarin で Cognitive Services を使ってみよう
Yoshito Tabuchi
 
Xamarinを触り始めた頃の話〜触りたい人に向けて〜
Yoshito Tabuchi
 
2018年のXamarinの概要と活用方法
Yoshito Tabuchi
 

Xamarin の概要と活用事例