際際滷

際際滷Share a Scribd company logo
Xamarin.Forms のこれまでとこれ
から
2018/11/15(直)
iOSコンソ`シアムTech WG 協箭氏#40
Japan Xamarin User Group
弥Yx繁
Twitter: @ytabuchi
facebook: ytabuchi.xlsoft
I(セ`ルスエンジニア) 惹 仟ハI_k片 片L
Xamarin コミュニティエバンジェリスト
Microsoft MVP
コミュニティ
Japan Xamarin User Group 麼墸
Twitter: @ytabuchi
facebook: ytabuchi.xlsoft
Blog: Xamarin 晩云Z秤
2
弥Yx繁瀬┘セルソフト
Xamarin とは
C#.NETVisual Studio
フル ^ネイティブ ̄ アプリ
API 100% 卞峅
iOS は AlphaBeta をUて輝晩アップデ`ト
コ`ド慌宥晒
4
Xamarin
2つの_k返隈
5
慌宥ロジック (C#)
(PCL.NET StandardShared)
慌宥の XAMLC# の UI コ`ド
(Xamarin.Forms)
iOS
C# UI
慌宥ロジック (C#)
(PCL.NET StandardShared)
Android
C# UI
Windows
C# UI
Xamarin.FormsXamarin ネイティブ
ロジックのみ慌宥晒
UIはネイティブでeに恬りこむ
Xamarin.iOSXamarin ネイティブ
UI はe
ネイティブ API はe
PCL.NET Standard or
Shared
麻I尖
ネットワ`クI尖
Json, XML などのI尖
SQL、ストレ`ジなどのI尖
7
Xamarin ネイティブ
iOS
C# UI
慌宥ロジック (C#)
(PCL.NET StandardShared)
Android
C# UI
Windows
C# UI
Xamarin ネイティブ
ロジックのみ慌宥晒
UIはネイティブでeに恬りこむ
8
Storyboard
9
@IBAction func SampleButton_TouchUpInside(_ sender: Any) {
//アラ`ト恬撹
let alert = UIAlertController(title: "Title", message: "Message", preferredStyle: UIAlertControllerStyle.alert)
//アクション恬撹
alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler: { (_) in
//Some Action
}))
//アラ`トを燕幣
present(alert, animated: true, completion: nil)
}
ViewController
void SampleButton_TouchUpInside(object sender, EventArgs e)
{
//アラ`ト恬撹
var alert = UIAlertController.Create(title: "Title", message: "Message", preferredStyle: UIAlertControllerStyle.Alert);
//アクション恬撹
alert.AddAction(UIAlertAction.Create(title: "OK", style: UIAlertActionStyle.Default, handler: null));
//アラ`ト燕幣
PresentViewController(alert, animated: true, completionHandler: null);
}
Xamarin.Forms
渇鷸UIライブラリ
恷寄巷s方
ワンソ`ス?ネイティブUI/UX
XAMLMVVM
辛嬬
Custom RendererDependency
Services
11
Xamarin.Forms
慌宥ロジック (C#)
(PCL.NET StandardShared)
慌宥の XAMLC# の UI コ`ド
(Xamarin.Forms)
Xamarin.Forms
XAMLC#
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage x:Class="App1.Views.XamlPage"
...
Title="Login Page">
<StackLayout Padding="8" Spacing="4">
<Image Source="/Images/Xamagon.png"
HeightRequest="300"
WidthRequest="300" />
<Label FontSize="Large"
Text="Xamarin.Forms Login Page" />
<Entry x:Name="entry"
Text="{Binding Name}" />
<Button x:Name="loginButton"
Clicked="LoginButton_Clicked"
Text="Login" />
</StackLayout>
</ContentPage>
public class CSharpPage : ContentPage
{
public CSharpPage()
{
var image = new Image { ... };
var label = new Label {... };
var entry = new Entry { ... };
var loginButton = new Button {... };
loginButton.Clicked += LoginButton_Clicked;
Title = "Login Page";
Content = new StackLayout
{
Children =
{
image,
label,
entry,
loginButton
},
};
}
}
12
Xamarin.Forms のいままでとこれから
https://developer.xamarin.com/releases/xamarin-
forms/xamarin-forms-1.0/
児云議なすべてのC嬬
Xamarin.Forms 1.0 (2014/5/28)
https://developer.xamarin.com/releases/xamarin-
forms/xamarin-forms-1.3/
Grid のデフォルトが * に
MasterDetailPage.ShouldShowToolbarButton を弖紗
VisualElement.Navigation にアニメ`ションを enabledisable にするオ`バ`ロ`ド
INavigation により}jなナビゲ`ションシナリオに鬉垢襯瓮愁奪夫啓
XAML でコンテントノ`ドのテキストをサポ`ト <Label>Hello World</Label>
Styles が Behaviors と Triggers をサポ`ト
DataTrigger と MultiTrigger を弖紗
15
Xamarin.Forms 1.3 (2014/12/24)
https://developer.xamarin.com/releases/xamarin-
forms/xamarin-forms-1.4/
ScrollView
current scroll offset を函誼する scrollX, scrollY プロパティ
ListView
Separatorのプロパティ
HeaderFooter のプロパティ
Pull To Refresh プロパティ
Forms.Application
ModalPushedModalPoppedModalPushingModalPopping イベント
16
Xamarin.Forms 1.4 (2015/03/09)
https://developer.xamarin.com/releases/xamarin-
forms/xamarin-forms-1.5/
Xamarin.Forms 卆贋vSのアップデ`ト
Xamarin.Android.Support.v4 22.2.1.0
Xamarin.Forms.Maps 卆贋vSのアップデ`ト
Xamarin.Android.Support.v7.AppCompat 22.2.1.0
Xamarin.Android.Support.v7.MediaRouter 22.2.1.0
Xamarin.GooglePlayServices.Maps 25.0.0.0
17
Xamarin.Forms 1.5 (2015/09/16)
https://developer.xamarin.com/releases/xamarin-
forms/xamarin-forms-2.0/
SearchBar に FontAttributes, FontFamily, FontSize プロパティ
Xalign が HorizontalTextAlignment、YAlign が VerticalTextAlignment に篤
乙筝
PinchGestureRecognizer 弖紗
PanGestureRecognizer 弖紗
18
Xamarin.Forms 2.0 (2015/11/17)
https://developer.xamarin.com/releases/xamarin-
forms/xamarin-forms-2.1/
UWP サポ`ト┘泪奪徠塒癸
ControlTemplates。ContentPage, ContentView のもとになる TemplatedPage
と TemplatedView が喘吭された。徭喇に Page や View を恬撹できる
DataTemplateSelector で ListView の ItemsSource の坪否によりxkができる
Effects でよりgにレンダリング
HasUnevenRows で啜張札襯汽ぅ坤汽櫞`ト
19
Xamarin.Forms 2.1 (2016/03/01)
https://developer.xamarin.com/releases/xamarin-
forms/xamarin-forms-2.2/
Open Source になった
https://github.com/xamarin/Xamarin.Forms/tags?after=beta-2.2.0-pre2
GooglePlayServices バ`ジョンアップ
Margin プロパティ
UWP のマップ
慌嗤プロジェクトに光PFのコントロ`ルを崔けるように
2D ScrollViewScrollOrientation.Bothサポ`ト
20
Xamarin.Forms 2.2 (2016/04/27)
https://developer.xamarin.com/releases/xamarin-
forms/xamarin-forms-2.3/
Bindable picker
UWP の OnIdiom が Desktop サポ`ト
CornerRadius が Frame に弖紗
WPF の Colors class と揖じ弼兆をサポ`ト
21
Xamarin.Forms 2.3 (2016/06/16)
https://developer.xamarin.com/releases/xamarin-
forms/xamarin-forms-2.4/
.NET Standard サポ`ト
Fast RenderersImage, Button, and Label
22
Xamarin.Forms 2.4 (2017/09/27)
https://developer.xamarin.com/releases/xamarin-
forms/xamarin-forms-2.5/
Custom Renderer が篤乙筝Android のレンダリング
ViewRenderer ではなく ViewRenderer(Context)
Forms では Context ではなく、ロ`カルの context
鬋侫讒`ムワ`クアップデ`ト
Android Target Framework 7.0 (monoAndroid70)
Android Support Libraries 25.4.0.2
Google Play Services 42.1024.0
Firebase 42.1024.0
Forms Embedding
23
Xamarin.Forms 2.5 (2015/11/17)
https://developer.xamarin.com/releases/xamarin-
forms/xamarin-forms-3.0/
麿のプラットフォ`ムサポ`ト
macOSTizenWPFGTK など
FlexLayout
ResourceDictionary の個鋲
嘔から恣のレイアウトサポ`ト
StyleSheets
Visual State Manager
24
Xamarin.Forms 3.0 (2018/05/15)
https://developer.xamarin.com/releases/xamarin-
forms/xamarin-forms-3.1/
Android Bottom Tabs
25
Xamarin.Forms 3.1 (2018/06/29)
https://developer.xamarin.com/releases/xamarin-
forms/xamarin-forms-3.2/
TitleView
ScaleX と ScaleY
CSS で border-color サポ`ト
SwipeGestureRecognizer
26
Xamarin.Forms 3.2 (2018/09/08)
https://developer.xamarin.com/releases/xamarin-
forms/xamarin-forms-3.3/
Android で仟しい IImageViewHandler API
Label の和函りしサポ`ト
iOS で WKWebView
MultiView で TabStopTabIndex サポ`ト
Label の MaxLines サポ`ト
27
Xamarin.Forms 3.3 (2018/11/02)
Feature Roadmap ,
xamarin/Xamarin.Forms Wiki
Xamarin.Forms Feature Roadmap !
Xamarin Forums
Xamarin.Forms (GitHub)
NuGet Gallery | Xamarin.Forms
(Nuget.org)
Xamarin.Forms Releases (リリ`ス秤)
28
ロ`ドマップリリ`ス
Help Wanted
Check out our guide on
submitting proposals.
Please join the discussion
by visiting the Roadmap
forum thread.
29
ProposalDiscussion
デモ
30
まとめ
C#.NETVisual Studio
フル ^ネイティブ ̄ アプリ
API 100% 卞峅
コ`ド慌宥晒
32
Xamarin
2つの_k返隈
33
慌宥ロジック (C#)
(PCL.NET StandardShared)
慌宥の XAMLC# の UI コ`ド
(Xamarin.Forms)
iOS
C# UI
慌宥ロジック (C#)
(PCL.NET StandardShared)
Android
C# UI
Windows
C# UI
Xamarin.FormsXamarin ネイティブ
ロジックのみ慌宥晒
UIはネイティブでeに恬りこむ
Help Wanted
Check out our guide on
submitting proposals.
Please join the discussion
by visiting the Roadmap
forum thread.
34
ProposalDiscussion
ありがとうございます
Japan Xamarin User Group
弥Yx繁
Twitter: @ytabuchi
facebook: ytabuchi.xlsoft
35

More Related Content

Xamarin.Forms のこれまでとこれから