lessons learned: 4 months of xamarin.forms
DESCRIPTION
Presented at the 2014 DogFoodConf, this is my story on what it was like eating Xamarin.Forms for 4 months.TRANSCRIPT
Intro to Xamarin.Forms: Lessons learned
Eric Polerecky - @detroitpro
Building Apps with Xamarin
Building Apps with Xamarin.Forms
Xamarin.Forms: What’s in the boxPages
Layouts
Controls
Code behind or XAML
Two-Way Data Binding
Navigation
Animation API
Dependency Service
Messaging Center
Xamarin.Forms: What we usedPages
Layouts
Controls
Code behind or XAML
Two-Way Data Binding
Navigation
Animation API
Dependency Service
Messaging Center
Xamarin.Forms: Controls!
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: Controls we used!
ActivityIndicator
BoxView
Button
DatePicker
Editor
Entry
Image
Label
!
ListView
Map
OpenGLView
Picker
ProgressBar
SearchBar
Slider
Stepper
TableView
TimePicker
WebView
EntryCell
ImageCell
SwitchCell
TextCell
ViewCell
Control Explanation: Entry
Xamarin.Forms: Layouts
Xamarin.Forms: Layouts we used
Demo Time!: TODO: Create App! and REPO!
Our Application: Wantify Lessons Learned
What was goodRelative Layouts
Stack Layouts
Custom Renderers
Commands/Events
What was badList editing
Borders
Creating custom renderers for components
Custom Renderer learning curve
List view API learning curve
no strong typed context for lists
List Editing Pains
Custom Renderers We BuiltiOS Segmented Control
Truncated Label Render
Rounded Button
Table Separator Style
Facebook Login for Component
Borderless Entry
Strikethrough
17 Total. !
Most controls are very simple and extend basic Xamarin forms functionality.
Infrastructure we built
Local Cache - (in memory)
HTTP message handling
Navigation Abstraction - goto:
Image Cache
The Formatter!
Xamarin Components
Raygun4net Azure Messaging Xamarin.Auth
Tip and TricksAsync/Await all the things
Async in OnAppearing
Can’t put async in ctor. Get view model/data in OnAppearing and hydrate form controls on page.
Strong type:
Colors
Images
Fonts
Routes
Shared PCL
Share mobile PCL with server, holds view models and services to call back to server.
Non-Forms Awesome Stuff
Nuget!
Components
Xamarin Studio
Mono Updates
Forums - http://forums.xamarin.com/
What we want to do more of:MVVM
XAML
Azure Mobile Services (OAuth, Identity)
Auth0
Questions…and maybe answers.
The End