Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cross-Platform Native User Interfaceswith Xama...
Search
Pranav Ainavolu
September 19, 2016
Technology
0
54
Cross-Platform Native User Interfaces with Xamarin.Forms
Session Presented at Xamarin Dev Days - Hyderabad : Organized by MUGH.
Pranav Ainavolu
September 19, 2016
Tweet
Share
More Decks by Pranav Ainavolu
See All by Pranav Ainavolu
The Internet of Things with Azure Service Bus
pranavaa
0
390
Dev/Test Scenarios in the DevOps World
pranavaa
0
85
Other Decks in Technology
See All in Technology
大量配信システムにおけるSLOの実践:「見えない」信頼性をSLOで可視化
plaidtech
PRO
0
290
Contributing to Rails? Start with the Gems You Already Use
yahonda
2
120
OpenTelemetryセマンティック規約の恩恵とMackerel APMにおける活用例 / SRE NEXT 2025
mackerelio
3
1.6k
AWS CDK 開発を成功に導くトラブルシューティングガイド
wandora58
3
170
american airlines®️ USA Contact Numbers: Complete 2025 Support Guide
supportflight
1
120
Sansanのデータプロダクトマネジメントのアプローチ
sansantech
PRO
0
230
American airlines ®️ USA Contact Numbers: Complete 2025 Support Guide
airhelpsupport
0
390
shake-upを科学する
rsakata
7
930
QuickSight SPICE の効果的な運用戦略~S3 + Athena 構成での実践ノウハウ~/quicksight-spice-s3-athena-best-practices
emiki
0
260
Delegating the chores of authenticating users to Keycloak
ahus1
0
180
セキュアな社内Dify運用と外部連携の両立 ~AIによるAPIリスク評価~
zozotech
PRO
0
100
american aa airlines®️ USA Contact Numbers: Complete 2025 Support Guide
aaguide
0
500
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Raft: Consensus for Rubyists
vanstee
140
7k
GitHub's CSS Performance
jonrohan
1031
460k
Building Applications with DynamoDB
mza
95
6.5k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Code Review Best Practice
trishagee
69
19k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
The Cult of Friendly URLs
andyhume
79
6.5k
Side Projects
sachag
455
42k
Transcript
#XamarinDevDays #XamarinDevDaysHyd Hyderabad
None
None
Traditional Xamarin Approach With Xamarin.Forms: More code-sharing, all native iOS
C# UI Windows C# UI Android C# UI Shared C# Backend Shared UI Code Shared C# Backend
✓ 40+ Pages, layouts, and controls (Build from code behind
or XAML) ✓ Two-way data binding ✓ Navigation ✓ Animation API ✓ Dependency Service ✓ Messaging Center Shared C# Backend Shared UI Code
Layouts Pages Stack Absolute Relative Grid ContentView ScrollView Frame Content
MasterDetail Navigation Tabbed Carousel
ActivityIndicator BoxView Button DatePicker Editor Entry Image Label ListView Map
OpenGLView Picker ProgressBar SearchBar Slider Stepper TableView TimePicker WebView EntryCell ImageCell SwitchCell TextCell ViewCell
Xamarin.Forms Ecosystem
Windows Xamarin.Forms StackPanel StackLayout TextBox Entry ListBox ListView CheckBox Switch
ProgressBar ActivityIndicator Grid Grid Label Label Button Button Image Image Date/TimePicker Date/TimePicker
Windows Xamarin.Forms DataContext BindingContext {Binding Property} {Binding Property} ItemsSource ItemsSource
ItemTemplate ItemTemplate DataTemplate DataTemplate
None
<?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> </TabbedPage>
None
None
Xamarin.Forms is Open Source! open.xamarin.com
None
✓ Improves scrolling performance ✓ Old behavior is currently the
default (but likely to change)
XAML Parsed and inflated Parsed & turned into IL XAMLC
✓ Faster Loading ✓ Smaller App Size ✓ See XAML
errors at build time
None
None
• Embeddable Carousel • ItemTemplate & DataTemplates • Highly customizable
& Virtualized
✓ Custom renderer “lite” ✓ Change properties on the native
control ✓ Optional ✓ “stringly-typed” X No methods or events X No replacing the control
entry.Effects.Add (Effect.Resolve("Xamarin.BorderEffect"));
None
None
None
https://developer.xamarin.com/guides/xamarin-forms/datapages/
https://developer.xamarin.com/guides/xamarin-forms/themes/
Native Embedding
None
>>Next Session: Pranav Ainavolu Microsoft MVP | Senior Developer at
RealPage
[email protected]
http://pranavon.net/ @a_pranav