SlideShare a Scribd company logo
1 of 60
2016.05.07 JXUGC #13 東京 緊急開催 Xamarin のすべて!
Xamarin.Forms は、頑張りすぎないのが吉。
20分でできる!Xamarin.Forms入門
自己紹介
 識別子 SIN/札幌ワークス
 Twitter @furuya02
 スタッフ CLR/H
 ブログ SIN@SAPPOROWORKSの覚書
 Microsoft MVP for Visual C# (2013/1~)
 フリーソフト BlackJumboDog
 クラスメソッド(株)
5つの要素
Xamarin.Formsで画面設計に必要な5つの要素
画面を作成するためには次の5つの要素を理解する必要があります。
• ページ
• レイアウト
• コントロール
• セル
• 画面遷移(ページ遷移)
5つの要素
Xamarin.Formsで画面設計に必要な5つの要素
画面を作成するためには次の5つの要素を理解する必要があります。
• ページ
• レイアウト
• コントロール
• セル
• 画面遷移(ページ遷移)
5つの要素
Xamarin.Formsで画面設計に必要な5つの要素
画面を作成するためには次の5つの要素を理解する必要があります。
• ページ
• レイアウト
• コントロール
• セル
• 画面遷移(ページ遷移)
ページ
Xamarin.Formsには、6種類のページが用意されています
• ContentPage
• MasterDetailPage
• NavigationPage
• TabbedPage
• TemplatedPage
• CarouselPage
ContentPage
MasterDetailPage
NavigationPage
TabbedPage
CarouselPage
Xamarin.Forms ページ(Formsを使用したアプリ作成の第1歩)
http://dev.classmethod.jp/smartphone/xamarin-forms-page/
Xamarin.Forms Pages
https://developer.xamarin.com/guides/xamarin-forms/controls/pages/
ページ
ApplicationのメインとなるMainPageプロパティにセットする
Application
Page
MainPage
5つの要素
Xamarin.Formsで画面設計に必要な5つの要素
画面を作成するためには次の5つの要素を理解する必要があります。
• ページ
• レイアウト
• コントロール
• セル
• 画面遷移(ページ遷移)
5つの要素
Xamarin.Formsで画面設計に必要な5つの要素
画面を作成するためには次の5つの要素を理解する必要があります。
• ページ
• レイアウト
• コントロール
• セル
• 画面遷移(ページ遷移)
レイアウト
コントロールの配置すをサポートする
Xamarin.Formsのレイアウトは、次の9種類があります。
• StackLayout
• AbsoluteLayout
• Grid
• RelativeLayout
• Frame
• ContentView
• ScrollView
• ContentPresenter
• TemplatedView
複数の子要素を格納できるプロパティーである
Childrenを持つ
単一の子要素しか格納できないプロパティーであ
るContentを持つ
Stacklayout
Absolutelayout
Gridlayout
RelativeLayout
Frame/ContentView/ScrollView
Xamarin.Forms レイアウト(Formsを使用したアプリ作成の次の1歩)
http://dev.classmethod.jp/smartphone/xamarin-forms-layout/
Xamarin.Forms Layouts
https://developer.xamarin.com/guides/xamarin-forms/controls/layouts/
レイアウト
コントロールの配置をサポート
Page
Control
Control
Control
Layout
5つの要素
Xamarin.Formsで画面設計に必要な5つの要素
画面を作成するためには次の5つの要素を理解する必要があります。
• ページ
• レイアウト
• コントロール
• セル
• 画面遷移(ページ遷移)
5つの要素
Xamarin.Formsで画面設計に必要な5つの要素
画面を作成するためには次の5つの要素を理解する必要があります。
• ページ
• レイアウト
• コントロール
• セル
• 画面遷移(ページ遷移)
コントロール
各種の部品
Xamarin.Formsのコントロールは、次の19種類があります。
• ActivityIndicator
• BoxView
• Button
• DatePicker
• TimePicker
• Editor
• Entry
• Image
• Label
• Picker
• ProgressBar
• SearchBar
• Slider
• Stepper
• Switch
• WebView
• ListView
• TableView
• OpenGLView
ActivityIndicator
BoxView
Button
DatePicker
Editor
Entry
Image
Label
Picker
SearchBar
Slider
Stepper
TimePicker
WebView
ListView
TableView
Switch
Xamarin.Forms コントロール① (Formsを使用した最後の1歩)
http://dev.classmethod.jp/smartphone/xamarin-forms-control1/
Xamarin.Forms コントロール② (Formsを使用した最後の1歩)
http://dev.classmethod.jp/smartphone/xamarin-forms-controll2/
Xamarin.Forms Views
https://developer.xamarin.com/guides/xamarin-forms/controls/views/
コントロール
各種の部品
Control
Control
Control
Control
Control
Control Control
5つの要素
Xamarin.Formsで画面設計に必要な5つの要素
画面を作成するためには次の5つの要素を理解する必要があります。
• ページ
• レイアウト
• コントロール
• セル
• 画面遷移(ページ遷移)
5つの要素
Xamarin.Formsで画面設計に必要な5つの要素
画面を作成するためには次の5つの要素を理解する必要があります。
• ページ
• レイアウト
• コントロール
• セル
• 画面遷移(ページ遷移)
Xamarin.Formsのセルには、次の5種類があります。
• TextCell
• ImageCell
• EntryCell
• SwitchCel
• ViewCell
定型(テンプレート)
全部自前で作成
セル
ListView及びTableViewを使用する場合必要になる
TextCell
ImageCell
EntryCell
SwitchCell
ViewCell
Xamarin.Forms セル(Formsを使用した追加の1歩)
http://dev.classmethod.jp/smartphone/xamarin-forms-cell/
Xamarin.Forms Cells
https://developer.xamarin.com/guides/xamarin-forms/controls/cells/
セル
ListView及びTableViewを使用する場合必要になる
Cell
ListView
Cell
Cell
Cell
5つの要素
Xamarin.Formsで画面設計に必要な5つの要素
画面を作成するためには次の5つの要素を理解する必要があります。
• ページ
• レイアウト
• コントロール
• セル
• 画面遷移(ページ遷移)
5つの要素
Xamarin.Formsで画面設計に必要な5つの要素
画面を作成するためには次の5つの要素を理解する必要があります。
• ページ
• レイアウト
• コントロール
• セル
• 画面遷移(ページ遷移)
PushModalAsync/PopModalAsync
ページの遷移
ContentPageのNavigationを使用する
Navigation.PushModalAsync(new NewPage());
Navigation.PopModalAsync();
こちらは、NavigationPage間の遷移用なので間違わない様に・・
Navigation.PushAsync(new NewPage());
ページ遷移
ページからページへの遷移になる
Windows
Application
Page Page
まとめ
かなり乱暴ですが、まとめちゃいます
Windows
Application
Page
Page Page
Control
Control
Cell
Cell
Cell
Cell
Layout
ご清聴ありがとうございました
SIN/札幌ワークス
http://www.sapporoworks.ne.jp/spw

More Related Content

What's hot

Wpfと非同期
Wpfと非同期Wpfと非同期
Wpfと非同期
yone64
 

What's hot (20)

いともたやすく行われるえげつない研究行為
いともたやすく行われるえげつない研究行為いともたやすく行われるえげつない研究行為
いともたやすく行われるえげつない研究行為
 
AI x WebXR: フェイストラッキングを用いた擬似3D表現を解説!
AI x WebXR: フェイストラッキングを用いた擬似3D表現を解説!AI x WebXR: フェイストラッキングを用いた擬似3D表現を解説!
AI x WebXR: フェイストラッキングを用いた擬似3D表現を解説!
 
GWT and PWA
GWT and PWAGWT and PWA
GWT and PWA
 
さらに上を目指すための iOS アプリ設計
さらに上を目指すための iOS アプリ設計さらに上を目指すための iOS アプリ設計
さらに上を目指すための iOS アプリ設計
 
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライドJJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
 
Xamarin.Forms.WPF を試してみた
Xamarin.Forms.WPF を試してみたXamarin.Forms.WPF を試してみた
Xamarin.Forms.WPF を試してみた
 
Springを使ったwebアプリにリファクタリングしよう
Springを使ったwebアプリにリファクタリングしようSpringを使ったwebアプリにリファクタリングしよう
Springを使ったwebアプリにリファクタリングしよう
 
考える大人になるための3つの道具
考える大人になるための3つの道具考える大人になるための3つの道具
考える大人になるための3つの道具
 
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェースモジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
 
PLM-ERP-MES連携のユースケース 川合雅巳
PLM-ERP-MES連携のユースケース  川合雅巳PLM-ERP-MES連携のユースケース  川合雅巳
PLM-ERP-MES連携のユースケース 川合雅巳
 
Prism + ReactiveProperty入門
Prism + ReactiveProperty入門Prism + ReactiveProperty入門
Prism + ReactiveProperty入門
 
Wpfと非同期
Wpfと非同期Wpfと非同期
Wpfと非同期
 
スキトラ Spring + mybatis
スキトラ Spring + mybatisスキトラ Spring + mybatis
スキトラ Spring + mybatis
 
ミロ(miro)の使い方〜登録から機能一覧まで〜
ミロ(miro)の使い方〜登録から機能一覧まで〜ミロ(miro)の使い方〜登録から機能一覧まで〜
ミロ(miro)の使い方〜登録から機能一覧まで〜
 
いまどき(これから)のPHP開発
いまどき(これから)のPHP開発いまどき(これから)のPHP開発
いまどき(これから)のPHP開発
 
Webデザインのセオリーを学ぼう
Webデザインのセオリーを学ぼうWebデザインのセオリーを学ぼう
Webデザインのセオリーを学ぼう
 
「プロジェクト管理」を超えた Redmine 活用の道のりとこれから
「プロジェクト管理」を超えた Redmine 活用の道のりとこれから「プロジェクト管理」を超えた Redmine 活用の道のりとこれから
「プロジェクト管理」を超えた Redmine 活用の道のりとこれから
 
Drone programming with ArduPilot
Drone programming  with ArduPilotDrone programming  with ArduPilot
Drone programming with ArduPilot
 
Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015
 
Linuxベースのオープンソース フライトコントローラーの概要( #ABC2015S )
Linuxベースのオープンソース フライトコントローラーの概要( #ABC2015S )Linuxベースのオープンソース フライトコントローラーの概要( #ABC2015S )
Linuxベースのオープンソース フライトコントローラーの概要( #ABC2015S )
 

Similar to 20分でできる!Xamarin.Forms入門

Similar to 20分でできる!Xamarin.Forms入門 (20)

WPF開発者がXamarin.Macを触るその前に
WPF開発者がXamarin.Macを触るその前にWPF開発者がXamarin.Macを触るその前に
WPF開発者がXamarin.Macを触るその前に
 
Xamarin.Forms のこれまでとこれから
Xamarin.Forms のこれまでとこれからXamarin.Forms のこれまでとこれから
Xamarin.Forms のこれまでとこれから
 
Visual Studio + xamarin で始めるモバイル アプリ開発
Visual Studio + xamarin で始めるモバイル アプリ開発Visual Studio + xamarin で始めるモバイル アプリ開発
Visual Studio + xamarin で始めるモバイル アプリ開発
 
BoxViewの美味しい食べ方
BoxViewの美味しい食べ方BoxViewの美味しい食べ方
BoxViewの美味しい食べ方
 
JXUGC 13 東京 はじめに
JXUGC 13 東京 はじめにJXUGC 13 東京 はじめに
JXUGC 13 東京 はじめに
 
DEV-023_Xamarin Deep Dive - Xamarin.Forms の可能性
DEV-023_Xamarin Deep Dive - Xamarin.Forms の可能性DEV-023_Xamarin Deep Dive - Xamarin.Forms の可能性
DEV-023_Xamarin Deep Dive - Xamarin.Forms の可能性
 
Xamarin.Forms アプリケーション 設計パターン
Xamarin.Forms アプリケーション 設計パターンXamarin.Forms アプリケーション 設計パターン
Xamarin.Forms アプリケーション 設計パターン
 
Xamarin 概要 2017/01/15
Xamarin 概要 2017/01/15Xamarin 概要 2017/01/15
Xamarin 概要 2017/01/15
 
Xamarin 基礎講座
Xamarin 基礎講座Xamarin 基礎講座
Xamarin 基礎講座
 
XamarinにMono申す!
XamarinにMono申す!XamarinにMono申す!
XamarinにMono申す!
 
わんくま名古屋 #38 (20160521) Xamarin入門
わんくま名古屋 #38 (20160521) Xamarin入門わんくま名古屋 #38 (20160521) Xamarin入門
わんくま名古屋 #38 (20160521) 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 概要
 
Xamarin を使うとどんなことができるの?
Xamarin を使うとどんなことができるの?Xamarin を使うとどんなことができるの?
Xamarin を使うとどんなことができるの?
 
Xamarin概要と活用方法
Xamarin概要と活用方法Xamarin概要と活用方法
Xamarin概要と活用方法
 
Xamarin 概要 @ 2014/10/18 わんくま同盟 東京勉強会 #92
Xamarin 概要 @ 2014/10/18 わんくま同盟 東京勉強会 #92Xamarin 概要 @ 2014/10/18 わんくま同盟 東京勉強会 #92
Xamarin 概要 @ 2014/10/18 わんくま同盟 東京勉強会 #92
 
Xamarin概要と活用方法
Xamarin概要と活用方法Xamarin概要と活用方法
Xamarin概要と活用方法
 
Xamarin の概要と活用事例
Xamarin の概要と活用事例Xamarin の概要と活用事例
Xamarin の概要と活用事例
 
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
 
C# と Xamarin
C# と XamarinC# と Xamarin
C# と Xamarin
 
Xamarin.forms navigation overview
Xamarin.forms navigation overviewXamarin.forms navigation overview
Xamarin.forms navigation overview
 

More from Shinichi Hirauchi

C#で作成するfacebookアプリ mvp community camp
C#で作成するfacebookアプリ mvp community campC#で作成するfacebookアプリ mvp community camp
C#で作成するfacebookアプリ mvp community camp
Shinichi Hirauchi
 
簡易電話交換機の作成~廃品利用による低予算プロジェクト
簡易電話交換機の作成~廃品利用による低予算プロジェクト簡易電話交換機の作成~廃品利用による低予算プロジェクト
簡易電話交換機の作成~廃品利用による低予算プロジェクト
Shinichi Hirauchi
 
Black jumbodogの新機能(webapi)~自動テストにおけるsmtpモックとして
Black jumbodogの新機能(webapi)~自動テストにおけるsmtpモックとしてBlack jumbodogの新機能(webapi)~自動テストにおけるsmtpモックとして
Black jumbodogの新機能(webapi)~自動テストにおけるsmtpモックとして
Shinichi Hirauchi
 
初めてのFacebookアプリの開発
初めてのFacebookアプリの開発初めてのFacebookアプリの開発
初めてのFacebookアプリの開発
Shinichi Hirauchi
 
HTMLを1行も書かずにwebアプリを作ってみました
HTMLを1行も書かずにwebアプリを作ってみましたHTMLを1行も書かずにwebアプリを作ってみました
HTMLを1行も書かずにwebアプリを作ってみました
Shinichi Hirauchi
 

More from Shinichi Hirauchi (20)

Amazon connect について 〜各種AWSのサービスとの連携〜
Amazon connect について 〜各種AWSのサービスとの連携〜Amazon connect について 〜各種AWSのサービスとの連携〜
Amazon connect について 〜各種AWSのサービスとの連携〜
 
Alexa SDK Alexa Salon
Alexa SDK Alexa SalonAlexa SDK Alexa Salon
Alexa SDK Alexa Salon
 
Developers.io 2017 iPhoneによるAlexa/Lex/Pollyを利用した 音声対応クライアントの作成方法
Developers.io 2017 iPhoneによるAlexa/Lex/Pollyを利用した 音声対応クライアントの作成方法Developers.io 2017 iPhoneによるAlexa/Lex/Pollyを利用した 音声対応クライアントの作成方法
Developers.io 2017 iPhoneによるAlexa/Lex/Pollyを利用した 音声対応クライアントの作成方法
 
Developers.io.札幌 xamarinってどうよ
Developers.io.札幌 xamarinってどうよDevelopers.io.札幌 xamarinってどうよ
Developers.io.札幌 xamarinってどうよ
 
ソフト屋が挑戦した電子工作 〜力ずくの10か月〜
ソフト屋が挑戦した電子工作 〜力ずくの10か月〜ソフト屋が挑戦した電子工作 〜力ずくの10か月〜
ソフト屋が挑戦した電子工作 〜力ずくの10か月〜
 
Developers.IO 2016 F-1 セッション資料
Developers.IO 2016 F-1 セッション資料Developers.IO 2016 F-1 セッション資料
Developers.IO 2016 F-1 セッション資料
 
シルバーウィークにfacebookアプリを作成した
シルバーウィークにfacebookアプリを作成したシルバーウィークにfacebookアプリを作成した
シルバーウィークにfacebookアプリを作成した
 
Xamarin.formsで作成する翻訳機能付きtwitterクライアント
Xamarin.formsで作成する翻訳機能付きtwitterクライアント Xamarin.formsで作成する翻訳機能付きtwitterクライアント
Xamarin.formsで作成する翻訳機能付きtwitterクライアント
 
簡易電話交換機の作成~廃品利用による低予算プロジェクト~
簡易電話交換機の作成~廃品利用による低予算プロジェクト~簡易電話交換機の作成~廃品利用による低予算プロジェクト~
簡易電話交換機の作成~廃品利用による低予算プロジェクト~
 
この辺でXamarin導入による 効果と限界をしっかり把握してみよう MVP Community Camp 2015
この辺でXamarin導入による 効果と限界をしっかり把握してみよう  MVP Community Camp 2015 この辺でXamarin導入による 効果と限界をしっかり把握してみよう  MVP Community Camp 2015
この辺でXamarin導入による 効果と限界をしっかり把握してみよう MVP Community Camp 2015
 
C#で作成するfacebookアプリ mvp community camp
C#で作成するfacebookアプリ mvp community campC#で作成するfacebookアプリ mvp community camp
C#で作成するfacebookアプリ mvp community camp
 
Facebookスパムデータベース~あなたのお友達に、スパムアカウントが紛れ込んでませんか
Facebookスパムデータベース~あなたのお友達に、スパムアカウントが紛れ込んでませんかFacebookスパムデータベース~あなたのお友達に、スパムアカウントが紛れ込んでませんか
Facebookスパムデータベース~あなたのお友達に、スパムアカウントが紛れ込んでませんか
 
簡易電話交換機の作成~廃品利用による低予算プロジェクト
簡易電話交換機の作成~廃品利用による低予算プロジェクト簡易電話交換機の作成~廃品利用による低予算プロジェクト
簡易電話交換機の作成~廃品利用による低予算プロジェクト
 
Black jumbodogの新機能(webapi)~自動テストにおけるsmtpモックとして
Black jumbodogの新機能(webapi)~自動テストにおけるsmtpモックとしてBlack jumbodogの新機能(webapi)~自動テストにおけるsmtpモックとして
Black jumbodogの新機能(webapi)~自動テストにおけるsmtpモックとして
 
初めてのFacebookアプリの開発
初めてのFacebookアプリの開発初めてのFacebookアプリの開発
初めてのFacebookアプリの開発
 
Facebookの偽アカウント
Facebookの偽アカウントFacebookの偽アカウント
Facebookの偽アカウント
 
テストコードの定型化
テストコードの定型化テストコードの定型化
テストコードの定型化
 
HTMLを1行も書かずにwebアプリを作ってみました
HTMLを1行も書かずにwebアプリを作ってみましたHTMLを1行も書かずにwebアプリを作ってみました
HTMLを1行も書かずにwebアプリを作ってみました
 
ReSharperでLinq変換
ReSharperでLinq変換ReSharperでLinq変換
ReSharperでLinq変換
 
マウスでタッチ操作
マウスでタッチ操作マウスでタッチ操作
マウスでタッチ操作
 

20分でできる!Xamarin.Forms入門