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
53
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
350
Dev/Test Scenarios in the DevOps World
pranavaa
0
84
Other Decks in Technology
See All in Technology
SAP Community and Developer Update
sygyzmundovych
0
350
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
140
20241120_JAWS_東京_ランチタイムLT#17_AWS認定全冠の先へ
tsumita
2
320
OCI Security サービス 概要
oracle4engineer
PRO
0
6.6k
SSMRunbook作成の勘所_20241120
koichiotomo
3
180
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
130
CysharpのOSS群から見るModern C#の現在地
neuecc
2
3.8k
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
160
TypeScript、上達の瞬間
sadnessojisan
48
14k
静的解析で実現した効率的なi18n対応の仕組みづくり
minako__ph
2
900
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
7
730
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
4
250
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Typedesign – Prime Four
hannesfritz
40
2.4k
A Philosophy of Restraint
colly
203
16k
Building Applications with DynamoDB
mza
90
6.1k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
How to Ace a Technical Interview
jacobian
276
23k
Site-Speed That Sticks
csswizardry
0
41
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
It's Worth the Effort
3n
183
27k
The Pragmatic Product Professional
lauravandoore
31
6.3k
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