Developing Cross-Platform Applications
Agenda
• Why Native?
• What is Xamarin?
• Architecting Mobile Apps
• Xamarin Forms
• Demo
Why Native?
Two Challenges for Building Apps
The Anatomy of a Native App
Xamarin apps look and feel native because they are native
Native User Interfaces Native API Access Native Performance
Cross-Platform Mobile Development
• Building high-quality Apps is hard:
• Different presentation styles, interaction styles and software stacks
• Devices have different screen sizes, input modes and hardware capabilities
• New devices and OS versions are introduced multiple times per year
• Network connectivity and power levels
fluctuate widely in typical usage scenarios
• New consumer applications regularly
extend and revise the standards and
set the bar higher for good mobile
applications
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.
What is
Xamarin?
Xamarin brings open source .NET to mobile
development, enabling every developer to
build truly native apps for any device in C#
and F#.
What is Xamarin?
What is Xamarin?
Xamarin
Nat Friedman Miguel de Icaza James Montemagno
CEO and Co-Founder CTO and Co-Founder Developer Evangelist
Make it fast, easy and fun
to create great mobile apps
Xamarin’s Mission
Xamarin Mobile Lifecycle
Explosive Growth
350+ employees
15,000+customers
Customers in 120 countries
1,400,000+ registered developers
32,000 new developers per month
Visionary in the Gartner Magic
Quadrant# of developers
Explosive Growth
Architecting
Mobile Apps
Build App Multiple Times
• Expensive to staff
multiple platform-
specific teams
• Expensive to
maintain multiple
code bases
• Slows innovation
The Write-Once-Run-Anywhere Approach
• Non-standart UI
• Limited API access
• Non-native performance
• Poor user experience
Xamarin’s Unique Approach
Native With
Code Sharing
Windows APIs
iOS APIs | 100% Coverage
Android APIs | 100% Coverage
Xamarin Designer for iOS in Xamarin Studio
Anything you can do in Objective-C or Java
can be done in C# with Xamarin using Visual Studio
Xamarin
Forms
Portable Class Libraries
Xamarin Architecture Choices
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 App Logic
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
NuGet Package Manager
NuGet support combined with the Xamarin Component Store gives Xamarin
developers the most comprehensive ecosystem of libraries at their fingertips
Why Xamarin?
Better Mobile Productivity
Event Tracking
Event Tracking
Issue Tracking
Issue Tracking
Issue Tracking - Detail
Issue Tracking – Device & User Data
Demo
Q & A

Xamarin