"intro to-xamarin.forms", Кирилл Стативкин, microsoft student partner
TRANSCRIPT
Intro to Xamarin.Forms
Kirill StativkinMicrosoft Student [email protected]
Microsoft Student Partner Ukraine/FranceC# Mobile developerFull Stack C# developer Iafoo.com France
https://www.facebook.com/kirill.stativkin
Xamarin User Group Ukrainehttps://www.facebook.com/groups/xamarin.ua/
Make it fast, easy, and fun to create great native mobile
apps.
Xamarin’s Mission
What is native?
• Xamarin apps look and feel native because they are native
Native User Interfaces Native API Access Native Performance
The Silo Approach
Build App Multiple Times
The Write-Once-Run-Anywhere Approach
Lowest CommonDenominator
Xamarin’s Unique Approach
Shared C# codebase • 100% native API access • High performance
iOS C# UI Android C# UI Windows C# UI
Shared C# Mobile
Visual Studio
Xamarin Studio
Native Performance
Xamarin.iOS does full Ahead Of Time (﴾AOT) ﴿ compilation to produce an ARM binary for Apple’s App Store.
Xamarin.Android takes advantage of Just In Time (﴾JIT) ﴿ compilation on the Android device.
.NETC#
Compile
and Link.APK
Bindings
IL+ JIT
Runs Native
ly
Xamarin + Xamarin.Forms
Traditional Xamarin Approach
With Xamarin.Forms:More code-‐sharing,
all native
Shared UI Code
Shared C# Backend
iOS C# UI Android C# UI Windows C# UI
Shared C# Backend
What’s included✓ 40+ Pages, layouts, and
controls(﴾Build from code behind or XAML)﴿
✓ Two-‐way data binding✓ Navigation✓ Animation API✓ Dependency Service✓ Messaging Center
Shared UI Code
Shared C# Backend
Layouts
Pages
Stack
Absolute
Relative
Grid
ContentView
ScrollView
Frame
Content
MasterDetail
Navigation
Tabbed
ActivityIndicator
BoxView Button DatePicker Editor
Entry Image Label ListView Map
OpenGLView Picker ProgressBar SearchBar Slider
Stepper TableView TimePicker WebView EntryCell
ImageCell SwitchCell TextCell ViewCell
Controls
Windows Xamarin.FormsStackPanel StackLayoutTextBox EntryListBox ListViewCheckBox SwitchProgressBar ActivityIndicatorGrid GridLabel LabelButton ButtonImage ImageDate/TimePicker Date/TimePicker
Control Comparison
<?xml version="1.0" encoding="UTF- ‐8"?><TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"x:Class="MyApp.MainPage">
<TabbedPage.Children><ContentPage Title="Profile" Icon="Profile.png"><StackLayout Spacing="20" Padding="20"
VerticalOptions="Center"><Entry Placeholder="Username"
Text="{Binding Username}"/>
<Entry Placeholder="Password" Text="{Binding Password}"IsPassword="true"/>
<Button Text="Login" TextColor="White" BackgroundColor="#77D065" Command="{Binding LoginCommand}"/>
</StackLayout></ContentPage><ContentPage Title="Settings" Icon="Settings.png"><!- ‐- ‐ Settings - ‐- ‐></ContentPage></TabbedPage.Children>
Native UI from shared code
Demo
Windows APIs
100%Coverage
iOS APIs
100%Coverage
Android APIs
100%Coverage
Demo
Data pages
Demo
Get Started Today xamarin.com
Kirill StativkinMicrosoft Student [email protected]
Thank you. Questions?
https://www.facebook.com/groups/xamarin.ua/