SlideShare a Scribd company logo
Xamarin概要+最新情報
2017/5/27(土)
JXUGC #23 Xamarin 無料化一周年記
念勉強会!
Japan Xamarin User Group
田淵義人@エクセルソフト
Twitter: @ytabuchi
facebook: ytabuchi.xlsoft
Xamarin概要
営業(セールスエンジニア) 兼 新規事業開発室 室長
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 日本語情報
4
田淵義人@エクセルソフト
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
必要な知識
プラットフォーム
個別
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
7
UIは個別
ネイティブAPIは個別
PCL or Shared
ネットワーク
Json, XML
永続化
async/await
8
Xamarin ネイティブ
iOS
C# UI
Shared C# App Logic
(PCL)
Android
C# UI
Windows
C# UI
Xamarin Native
ロジックのみ共通化
UIはネイティブで個別に作りこむ
Xamarin ネイティブ
9
抽象化UIライブラリ
最大公約数
ワンソース・ネイティブUI/UX
XAML / MVVM
拡張可能
10
Xamarin.Forms
Shared C# App Logic
(PCL)
Shared XAML/C# UI Code
(Xamarin.Forms)
Xamarin.Forms
Xamarin.Forms
ワンソース
ネイティブの
UI/UX
XAML
MVVM
14
XAML
15
XAML
2*3 の Grid
図のようになるように設定
1行目と2行目は高さが1:3
3行目の高さは100
Aはサイズ指定なし、Bは50x50、CはDの
上に重なる、Dは高さ100、Eは幅150高
さ50、Fは幅は50、右から20のマージン
17
Grid
1
3
18
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="3*" />
<RowDefinition Height="100" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<BoxView Grid.Row="0" Grid.Column="0" BackgroundColor="Red" />
<BoxView Grid.Row="0" Grid.Column="1" BackgroundColor="Red" HeightRequest="50" WidthRequest="50"
HorizontalOptions="Center" VerticalOptions="Center" />
<BoxView Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" BackgroundColor="Red" HeightRequest="100"
VerticalOptions="Center" />
<BoxView Grid.Row="1" Grid.Column="0" BackgroundColor="Gray" Opacity="0.5" />
<BoxView Grid.Row="2" Grid.Column="0" BackgroundColor="Red" HeightRequest="50" WidthRequest="150"
VerticalOptions="Start" />
<BoxView Grid.Row="2" Grid.Column="1" BackgroundColor="Red" Margin="0,0,20,0" WidthRequest="50"
HorizontalOptions="End" />
</Grid>
Header と Footer
シンプルな ImageCell を使用
19
ListView
20
<ListView ItemsSource="{Binding Items}" CachingStrategy="RecycleElement" HasUnevenRows="true"
IsPullToRefreshEnabled="true" IsRefreshing="{Binding IsBusy, Mode=OneWay}"
RefreshCommand="{Binding RefreshDataCommand}">
<ListView.Header>
<StackLayout Padding="10" BackgroundColor="#dadada" HorizontalOptions="FillAndExpand" Orientation="Horizontal">
<Label FontAttributes="Bold" HorizontalOptions="FillAndExpand" HorizontalTextAlignment="Center"
Text="Header" TextColor="Black" />
</StackLayout>
</ListView.Header>
<!--Built in Cells-->
<ListView.ItemTemplate>
<DataTemplate>
<ImageCell Detail="{Binding Detail}"
ImageSource="{Binding ImageUrl}"
Text="{Binding Text}" />
</DataTemplate>
</ListView.ItemTemplate>
<ListView.Footer>
<StackLayout Padding="10" BackgroundColor="#dadada" HorizontalOptions="FillAndExpand" Orientation="Horizontal">
<Label FontAttributes="Bold" HorizontalOptions="FillAndExpand" HorizontalTextAlignment="Center"
Text="Footer" TextColor="Black" />
</StackLayout>
</ListView.Footer>
</ListView>
Visual Studio:表示>その他のウィンドウ>Xamarin.Forms Previewer
Visual Studio for Mac:XAML ファイルを開いて右上のプレビューボタンをクリック
21
Forms Previewer
C#er/XAMLer/WPF/UWP → Forms
素早く簡単に作る → Forms
iOS/Android ネイティブ経験者 → ネイティブ
きれいに細かく作る → ネイティブ
社内プロジェクト → ??
受託開発 → ??
HTML/JS → Cordova? React Native?
23
Xamarin.Forms VS Xamarin ネイティブ
最新情報
Build 2017 & de:code 2017
Visual Studio(for Mac)から転送されたソースコードをインタープリ
タ形式で実行
Xamarin Live Playerの仕組みを想像してた - ぴーさんログ
Limitations – Xamarin
Storyboard の一部の機能, XiB, axml などのリソースは使用できない。
reflection が限定サポート(SQLite や Json.NET などは使えない)
使ってみました
Youtube ビデオ
Xamarin Live Player
26
https://channel9.msdn.com/events/Build/2017/B8099
Xamarin.Forms Feature Roadmap
2.3 Q2 2017
3.0 Q3 2017
3.1 Q4 2017
27
ロードマップ
Blog
Make Your Xamarin.Forms Apps Even Better (and Faster!)
Fast Renderers
Label, Image, Button をより高速に描画できるように。
Startup Time Improvements
Xamarin.Forms Init 時に時間が掛かっていた問題を解消。
28
Xamarin.Forms 2.3
Xamarin.Forms for Mac/WPF/Gtk#
Xamarin.Forms Embedding
Xamarin.Forms のコントールを Xamarin.iOS, Xamarin.Android, UWP から呼び出せるよ
うに。
Visual State Manager
Xamarin.Forms で Visual State をサポート。コントロールの focus や disabled などの時に
どのように表示されるかを指定可能に。
.NET Standard 2.0 サポート
藤原さんのブログ「.NET Standard のおさらい」を参照
CSS Layout & FlexLayout
デザイナーにデザインを依頼できるようになるかも。CSS Styling and FlexBox のフォーラムを
参照。
29
Xamarin.Forms 3.0
Introducing XAML Standard and .NET Standard 2.0
XAML Standard がサポートされると、Xamarin.iOS/Xamarin.Android のアプリに
<Label /> の代わりに <TextBlock /> を使えるようになります。
既存の開発者は何も変更はありません。
Windows Developer Blog の言う「既存」の開発者なので、恐らく WPF/UWP 側にコントロー
ル名が寄ると思われます。
レポジトリ
ドラフト
仕様を考えているところなので、Issue を投げてください。とのこと。
30
XAML Standard 1.0
31
榎本さんの de:code の資料も参照ください
https://speakerdeck.com/atsushieno/xamarinwozhi-eruji-shu
32
その他の展望
まとめ
C# だけで iOS/Android/Mac など様々なアプリを開発できる
Xamarin.Forms は単純に技術を追うだけでも楽しい
Xamarin はいいぞ
34
ありがとうございます
田淵義人@エクセルソフト
Twitter: @ytabuchi
facebook: ytabuchi.xlsoft
080-7015-3586
35

More Related Content

PDF
モバイル向けクロスプラットフォーム開発ツール Xamarin の概要とその利点
PDF
Xamarinをこれから始める皆様へ
PDF
Computer Vision と Translator Text API 使ってみた
PDF
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
PDF
Xamarin から使う Azure
PDF
Xamarin の概要と活用事例
PDF
NET Standard と Xamarin
PDF
Xamarin概要と活用方法
モバイル向けクロスプラットフォーム開発ツール Xamarin の概要とその利点
Xamarinをこれから始める皆様へ
Computer Vision と Translator Text API 使ってみた
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
Xamarin から使う Azure
Xamarin の概要と活用事例
NET Standard と Xamarin
Xamarin概要と活用方法

What's hot (20)

PDF
Xamarin概要
PPTX
ゆるふわ Xamarin Tips
PDF
20171202 Xamarinの歩き方
PDF
Realm Mobile Platform 概要
PDF
BlueMonkeyプロジェクトのご紹介
PDF
Xamarin 概要 2017/01/15
PDF
Xamarin.forms+azureで始めるモバイル開発
PDF
ちょっとエモい話
PPTX
Developers.io.札幌 xamarinってどうよ
PDF
Xamarin 基礎講座 2016年7月版
PDF
Xamarinの歩き方
PPTX
アプリケーション・デベロッパー 〜Xamarinによるクロスプラットフォーム開発〜
PDF
この辺でXamarin導入による 効果と限界をしっかり把握してみよう MVP Community Camp 2015
PDF
Xamarin.Forms アプリケーション 設計パターン
PDF
Xamarin バッドノウハウ大全
PPTX
私とXamarinと。
PDF
Xamarin 概要
PDF
Xamarin概要と活用方法
PDF
BoxViewの美味しい食べ方
PDF
Visual Studio + xamarin で始めるモバイル アプリ開発
Xamarin概要
ゆるふわ Xamarin Tips
20171202 Xamarinの歩き方
Realm Mobile Platform 概要
BlueMonkeyプロジェクトのご紹介
Xamarin 概要 2017/01/15
Xamarin.forms+azureで始めるモバイル開発
ちょっとエモい話
Developers.io.札幌 xamarinってどうよ
Xamarin 基礎講座 2016年7月版
Xamarinの歩き方
アプリケーション・デベロッパー 〜Xamarinによるクロスプラットフォーム開発〜
この辺でXamarin導入による 効果と限界をしっかり把握してみよう MVP Community Camp 2015
Xamarin.Forms アプリケーション 設計パターン
Xamarin バッドノウハウ大全
私とXamarinと。
Xamarin 概要
Xamarin概要と活用方法
BoxViewの美味しい食べ方
Visual Studio + xamarin で始めるモバイル アプリ開発
Ad

Similar to Xamarin概要+最新情報 (20)

PPTX
Xamarin.Forms.WPF を試してみた
PDF
Introduction to Xamarin - JXUG 20171209
PDF
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
PDF
デザイナーが実際にAndroidアプリのレイアウトを 組んでみた(秋葉ちひろ)
PPTX
Xamarin ~ iOS/Android/Windows アプリを C# で作ろう~
PDF
2022.04.23 .NET 6 -7 時代のデスクトップ アプリケーション開発
PPT
Titanium Mobile
PDF
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
PPT
Apexコアデベロッパーセミナー070726 配布用
PDF
C# と Xamarin
PDF
.NET 6 時代のデスクトップ アプリケーション開発
PPTX
CSS Nite in Matsuyama vol.1 - session 4
PDF
初めての Data API CMS どうでしょう - 仙台編 -
PDF
Data apiで実現 進化するwebの世界
PDF
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
PDF
Xamarin.Forms概要
PDF
scala+liftで遊ぼう
PDF
WordPress × kintone API連携実践_たにぐち まこと氏
PPTX
徳島OSS勉強会第四回 シラサギハンズオン 0925
PDF
Paint Tool 2013-05-14
Xamarin.Forms.WPF を試してみた
Introduction to Xamarin - JXUG 20171209
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
デザイナーが実際にAndroidアプリのレイアウトを 組んでみた(秋葉ちひろ)
Xamarin ~ iOS/Android/Windows アプリを C# で作ろう~
2022.04.23 .NET 6 -7 時代のデスクトップ アプリケーション開発
Titanium Mobile
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Apexコアデベロッパーセミナー070726 配布用
C# と Xamarin
.NET 6 時代のデスクトップ アプリケーション開発
CSS Nite in Matsuyama vol.1 - session 4
初めての Data API CMS どうでしょう - 仙台編 -
Data apiで実現 進化するwebの世界
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
Xamarin.Forms概要
scala+liftで遊ぼう
WordPress × kintone API連携実践_たにぐち まこと氏
徳島OSS勉強会第四回 シラサギハンズオン 0925
Paint Tool 2013-05-14
Ad

More from Yoshito Tabuchi (11)

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

Xamarin概要+最新情報