SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
Xamarin概要
2017/1/15
OthloEvent #9 [学生限定Xamarinハンズオン]
OthloTech x Microsoft Student Partners x JXUG学生支部
田淵義人@エクセルソフト
Twitter: @ytabuchi
facebook: ytabuchi.xlsoft
080-7015-3586
参加してくださっている皆さま
ぜひXamarinの楽しい部分を持ち帰ってください(^^)
スタッフの皆さま
会場手配、懇親会手配、事前準備もろもろありがとうございます。
2
多謝
営業(セールスエンジニア) 兼 新規事業開発室 室長
Xamarin コミュニティエバンジェリスト
2016年4月 Microsoft MVP Visual Studio and Development Technologies 受賞
連載・執筆
Build Insider Xamarin Tips
マイナビニュース
.NET開発テクノロジ入門2016年版
コミュニティ
Japan Xamarin User Group 主宰
Twitter: @ytabuchi
facebook: ytabuchi.xlsoft
Blog: Xamarin 日本語情報
3
田淵義人@エクセルソフト
アジェンダ
Xamarin とは
Xamarin ネイティブ
Xamarin.Forms
事例
Xamarinをこれから始める方・学生さんへ
まとめ
4
Xamarin とは
銀の弾丸ではない
Miguel, Nat
Mono, Ximian
Novell, Attachmate
Xamarin, Microsoft
6
Xamarin (ザマリン・企業)
C# / .NET / Visual Studio
フル “ネイティブ” アプリ
API 100% 移植
コード共通化
7
Xamarin
C#
8
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net.Http;
using System.Xml.Serialization;
button.Click += async (sender, e) =>
{
using (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();
}
}
};
2つの開発手法
9
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はネイティブで個別に作りこむ
必要な知識
10
プラットフォーム
個別
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
アジェンダ
Xamarin とは
Xamarin ネイティブ
Xamarin.Forms
事例
Xamarinをこれから始める方・学生さんへ
まとめ
12
Xamarin ネイティブ
40
Xamarin ネイティブ
41
UIは個別
ネイティブAPIは個別
PCL or Shared
ネットワーク
Json, XML
永続化
async/await
42
Xamarin ネイティブ
iOS
C# UI
Shared C# App Logic
(PCL)
Android
C# UI
Windows
C# UI
Xamarin Native
ロジックのみ共通化
UIはネイティブで個別に作りこむ
PCL or Shared
#if __ANDROID__
#if __IOS__
43
Windows
AndroidiOS
アジェンダ
Xamarin とは
Xamarin ネイティブ
Xamarin.Forms
事例
Xamarinをこれから始める方・学生さんへ
まとめ
44
抽象化UIライブラリ
最大公約数
ワンソース・ネイティブUI/UX
XAML / MVVM
拡張可能
45
Xamarin.Forms
Shared C# App Logic
(PCL)
Shared XAML/C# UI Code
(Xamarin.Forms)
Xamarin.Forms
Pages
46
Layouts
47
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
48
Xamarin.Forms
ワンソース
ネイティブの
UI/UX
49
XAML
50
XAMLの機能
51
機能 Xamarin.Forms でのサポート
XAML 2009 仕様 a
シェイプ (四角、楕円、パス など) BoxView
Resource, Style, Trigger a
Data binding a
Data template a
Control template Custom Renderer
Render Transform a
アニメーション コードのみ
カスタム XAML behavior a
カスタムマークアップ拡張 a
Value converter a
XAMLの機能
Resource
Style
Trigger
Behavior
Value Converter
Data Template
Data Binding
52
Model View
ViewModel
Data Binding
Messaging
Center
53
MVVM
ネイティブコントロール (UI)
Custom Renderer
Effects
54
ネイティブAPI
Dependency
Service
Plugin
55
アジェンダ
Xamarin とは
Xamarin ネイティブ
Xamarin.Forms
事例
Xamarinをこれから始める方・学生さんへ
まとめ
56
フェンリル株式会社 様
http://biz.fenrir-
inc.com/application_d
evelopment/casestudy
_app/nhk_kouhaku.ht
ml
NHK 紅白
57
株式会社エムティーアイ 様
http://www.xlsoft.com/jp/
products/xamarin/apps_s
akenomy.html
Xamarin.Forms 活用事例
Sakenomy
58
@muak_x さん
http://kamusoft.haten
ablog.jp/entry/2016/11
/08/220810
59
色しらべ
@yamamo さん
https://docs.co
m/yamamoto-
takahiro/9893/j
xugc-17-
xamarin
60
AzureVM Power Switch
@kikutaro_ さん
http://kikutaro7
77.hatenablog.c
om/entry/2016/
08/07/230423
61
坂道46セレクション
https://www.xamarin.com/prebuilt
Prebuilt サンプル
62
Acquaint Sport Xamarin CRM My Shoppe
資料一覧
https://jxug.connpass.com/event/39470/
ビデオ録画
https://www.youtube.com/playlist?list=PLxAao1dxjr71PXLAJwn0qdmDwz-
K0bGpW
申請お待ちしております。
http://bit.ly/MyXamarinApp
63
JXUGC #17 お前の Xamarin アプリを見せてみろ!
アジェンダ
Xamarin とは
Xamarin ネイティブ
Xamarin.Forms
事例
Xamarinをこれから始める方・学生さんへ
まとめ
64
Microsoft Imagine とは
https://www.microsoft.com/ja-jp/education/imagine.aspx
学生や教員のみなさまの ICT 技術の学習や教育、研究をサポートする年間制のメン
バーシッププログラムです
マイクロソフトの開発ツールやサーバー製品をいつでもダウンロードできます
ダウンロードした製品は永続的に利用できます
65
Microsoft Imagine (旧DreamSpark)
いくつかの言語を覚えよう
Xamarin ならば、Swift/Java (Kotlin でも可) も覚えておいて損はない
チャレンジは怖くない
66
学生の特権
Android SDK をちゃんとインストール
Windows で Xamarin 開発をしたい方はインストールする前に読んでほしい -
Xamarin 日本語情報
Xamarin for Visual Studio スタートアップ トラブルQA集 - nuits.jp blog
Xamarin バッドノウハウの解説 - Xamarin 日本語情報
Hyper-V の Visual Studio Emulator は使わない
*個人的な見解です
丁寧に環境構築
67
Xamarin逆引きTips - Build Insider
Xamarinに関する投稿 - Qiita
Xamarin Advent Calendar 2016 ← HOT
Insider.NET > .NET TIPS - @IT
JXUG : 関連ページ、ブログ一覧
Xamarin 日本語ドキュメントの紹介 : XLsoft エクセルソフト
68
日本語ドキュメントを読む
Xamarin ハンズオン (初級)
Xamarin Dev Days Tokyo ハンズオン (中級)
Xamarin.Forms CustomRenderer ハンズオン (中級)
JXUG で主催しているハンズオンやもくもく会に参加
http://jxug.connpass.com
エラーとワーニングは別物です
ビルドエラーにならなければ、とにかく進めてみる
69
手を動かす
Teratail
Twitter (#Xamarin #JXUG タグで呟く)
70
聞く
読む・見る・聞く・調べる
Guides - Xamarin (ドキュメント)
Recipes - Xamarin (逆引き辞典)
Xamarin Blog
Xamarin channel - Youtube (セッション動画)
Xamarin Forums
Stackoverflow
PreBuilt アプリ
Build Apps Quickly using Prebuilt App Templates - Xamarin
71
英語ドキュメント
Xamarin.iOS, Xamarin.Android は iOS API /Android
API の薄いラッパーである
ネイティブの情報を探して Xamarin で使う
72
iOS/Android ネイティブの情報
日本語版を作成中
原文は以下で公開中
https://developer.xamarin.com/guides/xamarin-
forms/creating-mobile-apps-xamarin-forms/
73
Creating Mobile Apps with Xamarin.Forms Book
アジェンダ
Xamarin 概要
Xamarin ネイティブ
Xamarin.Forms
事例
Xamarinをこれから始める方・学生さんへ
まとめ
74
#Xamarinはいいぞ
環境構築を超えれば
C# だけで iOS/Android アプリを開発できる
ネイティブ API はゆっくり覚えれば良い
Xamarinは怖くない
77
ご清聴ありがとうございます
http://jxug.org
http://jxug.connpass.com
次回は1/28(土)です。
是非遊びにきてください(^^)
田淵義人@エクセルソフト
Twitter: @ytabuchi
facebook: ytabuchi.xlsoft
080-7015-3586
78

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

[MW08] de:code イベントアプリの作り方 ~ Xamarin.Forms で開発しています ~
[MW08] de:code イベントアプリの作り方 ~ Xamarin.Forms で開発しています ~[MW08] de:code イベントアプリの作り方 ~ Xamarin.Forms で開発しています ~
[MW08] de:code イベントアプリの作り方 ~ Xamarin.Forms で開発しています ~
 
NET Standard と Xamarin
NET Standard と XamarinNET Standard と Xamarin
NET Standard と Xamarin
 
Xamarin の概要と活用事例
Xamarin の概要と活用事例Xamarin の概要と活用事例
Xamarin の概要と活用事例
 
Xamarin から使う Azure
Xamarin から使う AzureXamarin から使う Azure
Xamarin から使う Azure
 
Xamarin開発環境の選択
Xamarin開発環境の選択Xamarin開発環境の選択
Xamarin開発環境の選択
 
ゆるふわ Xamarin Tips
ゆるふわ Xamarin Tipsゆるふわ Xamarin Tips
ゆるふわ Xamarin Tips
 
20分でできる!Xamarin.Forms入門
20分でできる!Xamarin.Forms入門20分でできる!Xamarin.Forms入門
20分でできる!Xamarin.Forms入門
 
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
 
20171202 Xamarinの歩き方
20171202 Xamarinの歩き方20171202 Xamarinの歩き方
20171202 Xamarinの歩き方
 
Xamarin.formsとカスタムコントロールの話
Xamarin.formsとカスタムコントロールの話Xamarin.formsとカスタムコントロールの話
Xamarin.formsとカスタムコントロールの話
 
Xamarin 概要 @ 2015/1/29 CROSS 2015
Xamarin 概要 @ 2015/1/29 CROSS 2015Xamarin 概要 @ 2015/1/29 CROSS 2015
Xamarin 概要 @ 2015/1/29 CROSS 2015
 
Developers.io.札幌 xamarinってどうよ
Developers.io.札幌 xamarinってどうよDevelopers.io.札幌 xamarinってどうよ
Developers.io.札幌 xamarinってどうよ
 
Xamarin の特徴と開発手法概要
Xamarin の特徴と開発手法概要Xamarin の特徴と開発手法概要
Xamarin の特徴と開発手法概要
 
Xamarin入門(技術というより心構え編)
Xamarin入門(技術というより心構え編)Xamarin入門(技術というより心構え編)
Xamarin入門(技術というより心構え編)
 
#VSUG LT #JXUG の紹介
#VSUG LT #JXUG の紹介#VSUG LT #JXUG の紹介
#VSUG LT #JXUG の紹介
 
Xamarin.forms実践投入してみて
Xamarin.forms実践投入してみてXamarin.forms実践投入してみて
Xamarin.forms実践投入してみて
 
Xamarin 実戦投入時に気をつけたいことあれこれ
Xamarin 実戦投入時に気をつけたいことあれこれXamarin 実戦投入時に気をつけたいことあれこれ
Xamarin 実戦投入時に気をつけたいことあれこれ
 
Xamarin を使用したC# によるモバイルアプリ作成
Xamarin を使用したC# によるモバイルアプリ作成Xamarin を使用したC# によるモバイルアプリ作成
Xamarin を使用したC# によるモバイルアプリ作成
 
10分で分かるxamarin
10分で分かるxamarin10分で分かるxamarin
10分で分かるxamarin
 
Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編
Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編
Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編
 

Andere mochten auch

Andere mochten auch (20)

Blue monkey architecture overview
Blue monkey architecture overviewBlue monkey architecture overview
Blue monkey architecture overview
 
Xamarin を使うとどんなことができるの?
Xamarin を使うとどんなことができるの?Xamarin を使うとどんなことができるの?
Xamarin を使うとどんなことができるの?
 
Xamarin Dev days 2 xamarin.forms ja
Xamarin Dev days 2   xamarin.forms jaXamarin Dev days 2   xamarin.forms ja
Xamarin Dev days 2 xamarin.forms ja
 
доповідь мартьянова
доповідь мартьяновадоповідь мартьянова
доповідь мартьянова
 
сучасні дослідження з вікової і педагогічної психології
сучасні дослідження з вікової і педагогічної психологіїсучасні дослідження з вікової і педагогічної психології
сучасні дослідження з вікової і педагогічної психології
 
Xamarin 概要
Xamarin 概要Xamarin 概要
Xamarin 概要
 
Наші досягнення
Наші досягненняНаші досягнення
Наші досягнення
 
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
 
Мій педагогічний колектив
Мій педагогічний колективМій педагогічний колектив
Мій педагогічний колектив
 
Syllabus Procedimiento Tributario Actuacion y Discusion
Syllabus Procedimiento Tributario Actuacion y DiscusionSyllabus Procedimiento Tributario Actuacion y Discusion
Syllabus Procedimiento Tributario Actuacion y Discusion
 
у зош № 14
у зош № 14у зош № 14
у зош № 14
 
семінар зош 19 на сайт
семінар  зош  19  на  сайтсемінар  зош  19  на  сайт
семінар зош 19 на сайт
 
Очікувані реформи: погляд бізнесу (лютий 2017)
Очікувані реформи: погляд бізнесу (лютий 2017)Очікувані реформи: погляд бізнесу (лютий 2017)
Очікувані реформи: погляд бізнесу (лютий 2017)
 
Dasen brajkovic understanding mental-health-and-mental-illness.ppt
Dasen brajkovic understanding mental-health-and-mental-illness.pptDasen brajkovic understanding mental-health-and-mental-illness.ppt
Dasen brajkovic understanding mental-health-and-mental-illness.ppt
 
Xamarinをこれから始める皆様へ
Xamarinをこれから始める皆様へXamarinをこれから始める皆様へ
Xamarinをこれから始める皆様へ
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slides
 
відзначення дня шевченка
відзначення дня шевченкавідзначення дня шевченка
відзначення дня шевченка
 
Green tire-puff
Green tire-puffGreen tire-puff
Green tire-puff
 
Rss
RssRss
Rss
 
Presentacion ana fernandez
Presentacion ana fernandezPresentacion ana fernandez
Presentacion ana fernandez
 

Ähnlich wie Xamarin 概要 2017/01/15

Xamarin で クラシックデスクトップ 2
Xamarin で クラシックデスクトップ 2Xamarin で クラシックデスクトップ 2
Xamarin で クラシックデスクトップ 2
m ishizaki
 

Ähnlich wie Xamarin 概要 2017/01/15 (20)

Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
 
Xamarin.Forms アプリケーション 設計パターン
Xamarin.Forms アプリケーション 設計パターンXamarin.Forms アプリケーション 設計パターン
Xamarin.Forms アプリケーション 設計パターン
 
Computer Vision と Translator Text API 使ってみた
Computer Vision と Translator Text API 使ってみたComputer Vision と Translator Text API 使ってみた
Computer Vision と Translator Text API 使ってみた
 
C# と Xamarin
C# と XamarinC# と Xamarin
C# と Xamarin
 
第1回 Japan Xamarin User Group Conference - Xamarin 概要
第1回 Japan Xamarin User Group Conference - Xamarin 概要第1回 Japan Xamarin User Group Conference - Xamarin 概要
第1回 Japan Xamarin User Group Conference - Xamarin 概要
 
OthloEvent #9 Xamarinハンズオン
OthloEvent #9 XamarinハンズオンOthloEvent #9 Xamarinハンズオン
OthloEvent #9 Xamarinハンズオン
 
Xamarin 基礎講座
Xamarin 基礎講座Xamarin 基礎講座
Xamarin 基礎講座
 
Xamarin.Forms.WPF を試してみた
Xamarin.Forms.WPF を試してみたXamarin.Forms.WPF を試してみた
Xamarin.Forms.WPF を試してみた
 
Visual Studio + xamarin で始めるモバイル アプリ開発
Visual Studio + xamarin で始めるモバイル アプリ開発Visual Studio + xamarin で始めるモバイル アプリ開発
Visual Studio + xamarin で始めるモバイル アプリ開発
 
Introduction to Xamarin - JXUG 20171209
Introduction to Xamarin - JXUG 20171209Introduction to Xamarin - JXUG 20171209
Introduction to Xamarin - JXUG 20171209
 
Xamarin.Forms のこれまでとこれから
Xamarin.Forms のこれまでとこれからXamarin.Forms のこれまでとこれから
Xamarin.Forms のこれまでとこれから
 
インフラジスティックスおよび Xamarin.Forms コントロールのご紹介
インフラジスティックスおよび Xamarin.Forms コントロールのご紹介インフラジスティックスおよび Xamarin.Forms コントロールのご紹介
インフラジスティックスおよび Xamarin.Forms コントロールのご紹介
 
Xamarin 概要 @ 2014/10/18 わんくま同盟 東京勉強会 #92
Xamarin 概要 @ 2014/10/18 わんくま同盟 東京勉強会 #92Xamarin 概要 @ 2014/10/18 わんくま同盟 東京勉強会 #92
Xamarin 概要 @ 2014/10/18 わんくま同盟 東京勉強会 #92
 
Net advantage 2012 volume2 最新情報 xaml プラットフォーム編
Net advantage 2012 volume2 最新情報 xaml プラットフォーム編Net advantage 2012 volume2 最新情報 xaml プラットフォーム編
Net advantage 2012 volume2 最新情報 xaml プラットフォーム編
 
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンいまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
 
Xamarin で クラシックデスクトップ 2
Xamarin で クラシックデスクトップ 2Xamarin で クラシックデスクトップ 2
Xamarin で クラシックデスクトップ 2
 
Microsoftの開発環境
Microsoftの開発環境Microsoftの開発環境
Microsoftの開発環境
 
[CTO Night & Day 2019] ML services: MLOps #ctonight
[CTO Night & Day 2019] ML services: MLOps #ctonight[CTO Night & Day 2019] ML services: MLOps #ctonight
[CTO Night & Day 2019] ML services: MLOps #ctonight
 
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
 
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメXamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
 

Mehr von Yoshito Tabuchi

Mehr von Yoshito Tabuchi (12)

Kong Summit 2021 振り返り
Kong Summit 2021 振り返りKong Summit 2021 振り返り
Kong Summit 2021 振り返り
 
Kong 概要
Kong 概要Kong 概要
Kong 概要
 
勉強会参加のススメ
勉強会参加のススメ勉強会参加のススメ
勉強会参加のススメ
 
Kong Enterprise の紹介
Kong Enterprise の紹介Kong Enterprise の紹介
Kong Enterprise の紹介
 
How does a sales person grow up his community
How does a sales person grow up his communityHow does a sales person grow up his community
How does a sales person grow up his community
 
Xamarin で Cognitive Services を使う
Xamarin で Cognitive Services を使うXamarin で Cognitive Services を使う
Xamarin で Cognitive Services を使う
 
Xamarin で Cognitive Services を使ってみよう
Xamarin で Cognitive Services を使ってみようXamarin で Cognitive Services を使ってみよう
Xamarin で Cognitive Services を使ってみよう
 
Xamarinを触り始めた頃の話〜触りたい人に向けて〜
Xamarinを触り始めた頃の話〜触りたい人に向けて〜Xamarinを触り始めた頃の話〜触りたい人に向けて〜
Xamarinを触り始めた頃の話〜触りたい人に向けて〜
 
2018年のXamarinの概要と活用方法
2018年のXamarinの概要と活用方法2018年のXamarinの概要と活用方法
2018年のXamarinの概要と活用方法
 
モバイル向けクロスプラットフォーム開発ツール Xamarin の概要とその利点
モバイル向けクロスプラットフォーム開発ツール Xamarin の概要とその利点モバイル向けクロスプラットフォーム開発ツール Xamarin の概要とその利点
モバイル向けクロスプラットフォーム開発ツール Xamarin の概要とその利点
 
Xamarin概要+最新情報
Xamarin概要+最新情報Xamarin概要+最新情報
Xamarin概要+最新情報
 
Xamarin バッドノウハウ大全
Xamarin バッドノウハウ大全Xamarin バッドノウハウ大全
Xamarin バッドノウハウ大全
 

Xamarin 概要 2017/01/15