Download - ANUG - intro to Xamarin and Xamarin.Forms
Hi, I’m James.!Xamarin, Developer Evangelist!
@JamesMontemagno!!
Xamarin.com | @XamarinHQ!
Windows Developer in Phoenix
Mobile Developer in Seattle
I had an opportunity.
Productive environment
Shared code
High performance
The best language for Windows development. Modern Features • Advanced Tools • Proven Libraries • Large Community • Statically Typed
Xamarin makes C# the best language for mobile development. Native Code Generation • Platform API Bindings • Code Sharing • Visual Studio
+
Xamarin ‘embraced and extended’ .NET
60 days to go
35 days of C# Windows Store
35 days of Java
35 days of Objective-C
35 days of C# Windows Phone 140 DAYS!
42 days of C# Windows Store/Phone
35 days of Java 35 days of Objective-C
112 DAYS!
60 days of C#
70% code reuse
Development time cut in half
Success
Windows Store iOS Android Windows Phone
Architecting !Mobile Apps!
Silo Approach
Build Apps Mul1ple Times
Write Once, Run Anywhere Approach
Lowest Common Denominator
Xamarin’s Unique Approach!
Native With !Code Sharing!
Windows APIs!
iOS APIs | 100% Coverage!
Android APIs | 100% Coverage!
Anything you can do in Objective-C, Swift, or Java !can be done in C# with Xamarin using Visual Studio!
C# runs on 2.6 Billion Devices!
How Xamarin Works
§ C# + .NET Runtime § Native UI § Native Performance
Automatically test your app on!hundreds of mobile devices !
Create native iOS, Android, Mac and Windows apps in Visual Studio and C#
Demo!
20 Minute Break!!Get your free C# t-shirt:!xamarin.com/shirt!!Follow Me:!@JamesMontemagno!
@XamarinHQ!#Xamarin!
Portable Class Libraries
Xamarin.Forms!
With Xamarin.Forms: !more code-sharing, native controls!
Traditional Xamarin approach!
Shared UI Code!
Xamarin.Forms!
Quickly and easily build native user interfaces using shared code!!Xamarin.Forms elements map to native controls and behaviors!!Mix-and-match Xamarin.Forms with native APIs!!!!!!!!!!
Shared UI Code!
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!
Pages!
Content" MasterDetail" Navigation" Tabbed" Carousel"
Layouts!
Stack" Absolute" Relative" Grid" ContentView" ScrollView" Frame"
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!
Page
StackLayout
Label Entry StackLayout
Content
Children
Button Button Image
Children
DEMO 1!Xamarin.Forms Walkthrough!
Data Binding!
Model-View-ViewModel!
Model"View" ViewModel"
How to display information!
What to display!Flow of interaction!
Business Logic!Data objects!!
Events!
Data!Data!
Model-View-ViewModel!
Model"View" ViewModel"
Xamarin.Forms Data Binding"
Events!
Data!
Data Binding!
Data Binding!
Data Binding!
Data Binding!
Demo 2!Weather App!
Extensibility!
§ Dependency Service!§ Lets shared code access platform-specific SDK features via an
Interface implementation!!!
Extensibility!
§ Step 1: Interface!!!
Extensibility!
§ Step 2: Implement on each Platform!
Extensibility!
§ Step 3: Register with Dependency Service!
Extensibility!
§ Step 4: Access from shared code!
DEMO 3!Weather App +!Text to Speech!
Animations API!
www.github.com/JamesMontemagno/FormsAnimations
www.github.com/JamesMontemagno/FormsAnimations
Resources!§ Documentation!§ http://developer.xamarin.com/guides/cross-platform/xamarin-forms/!
§ XAML Documentation!§ http://developer.xamarin.com/guides/cross-platform/xamarin-forms/
xaml-for-xamarin-forms/!!
§ Samples!§ https://github.com/xamarin/xamarin-forms-samples!
!!!
Learn more!
Unrivaled Mobile Development Training!Live unlimited mobile development training from mobile experts, !in your time-zone, on your schedule and as often as you'd like!
xamarin.com/university
Get Started Today: xamarin.com/download | Students: [email protected] "
Q & A!!Get your free C# t-shirt:!xamarin.com/shirt!!Follow Me:!@JamesMontemagno!
@XamarinHQ!#Xamarin!