Austin Mobile .
NET Develops Group
Thank Sponsors
Microsoft - Ryan Joy
Xamarin - James Montemagno
Netrix - Rabi Satter
Enabling Developers to Create Native
iOS, Android, Mac, & Windows apps in C#
Rabi Satter
Rabi@Satter.org
www.satter.org
@rsatter42
What is Xamarin?
Xamarin enables developers to reach all major mobile
platforms!
Native User Interface
Native Performance
Shared Code Across Platforms
C# & .NET Framework
Mobile Development Approaches
Silod Approach
Build Apps Multiple
Times
Multiple Teams
Multiple Code Bases
Different toolsets
Write Once, Run Anywhere Approach
Lowest common denominator
Browser fragmentation
Developing & designing for 1
Black
Box
platform, happen to get other
platforms
Xamarins Unique Approach
Native User Interface
Native Performance
Shared code across platforms
C# & .NET Framework
Full API Coverage
Native Performance
Xamarin.iOS does full Ahead Of
Time (AOT) compilation to
produce an ARM binary for
Apples App Store.
Xamarin.Android takes
advantage of Just In Time
(JIT) compilation on the
Android device.
Code Sharing: Accelerate Development
Up to 90% Code Reuse
Leverage existing libraries
Code-sharing stats from iCircuit, built with Xamarin and featured
on the App Store.
Source: http://praeclarum.org/post/42378027611/icircuit-code-reusepart-cinq
Why C#?
C# Is Awesome
LINQ Support
Work With XML Easily
XDocument
Event Handling &
Delegates
C# Is Awesome JSON Made
Easy
Json.NET offers simple conversions to and from JSON strings
and .NET objects, with SerializeObject and DeserializeObject
methods.
See the Difference Attributed
Strings C# with Xamarin
Objective-C
Probing for properties on an
AudioFileC# with Xamarin
Objective-C
See the Different Android
ItemClickC# with Xamarin
Java
C# & Async with Xamarin
Async/Await
Write Beautiful & Maintainable Code
Why Xamarin?
Write Everything in C#
iOS, Android, Windows, Windows Phone,
Mac
2.5+ Billion Devices!
Xamarin History
Over a Decade of Enterprise Production Use
500,000+
Reach 200,000
Developers
Developer
100+ Partners
Mark
100+ Components
2000
Ximian
Founded
2011
2012
2013
2001
2003
2009
Mono
Started
Ximian
Acquired
by Novell
First iOS
Xamarin
First
Xamarin 2.0
product (now Founded
release of
Xamarin.iOS)
Xamarin.Mac Component
First
Store
launches
Release of
Launch
Evolve 2013
Xamarin.AndroidPartner
Program
Xamarin Test
Cloud
!
!
!
Microsoft
Partnership
100% API Coverage
Anything you can do in Objective-C or Java can
be done in C# and Visual Studio with Xamarin!
Always Up to Date
Always up-to-date with
the latest APIs.
Great track record.
Shipped same-day
support for iOS 5, iOS
6, iOS 6.1, iOS 7
Portable Class Libraries
!
1 Assembly
Multiple Platforms
Including:
Xamarin.Android
Xamarin.iOS
!
Portable Class Libraries Features
Centralized Code Sharing
How you expect it to
work
Debug seamlessly into
and out of PCL
!
Project/Assembly Sharing
NuGet
PCLs Well Documented
Microsoft and Xamarin Partner Globally
With Xamarin, developers combine all of the
productivity benefits of C#, Visual Studio 2013
and Windows Azure with the flexibility to
quickly build for multiple device targets.
S. Somasegar, Corporate Vice President, Microsoft
Distribute Everywhere
A Xamarin app is an app, distribute it
everywhere
Products
Xamarin for
Visual Studio
Xamarin.iOS
Xamarin Studio
Xamarin.Android
Xamarin Test Cloud
Xamarin.Mac
Component Store
.NET Mobility Scanner
Development Environment
Xamarin Studio
PC or Mac
Visual Studio
Plugin
VS
Visual Studio Integration
A
single solution:
iOS
Android
Windows Phone
Windows Store
Leverage the entire
Microsoft
ecosystem:
ReSharper
Team Foundation Server
Your favorite code
coverage and profiling
tools
Visual Studio Integration
Debug to:
Emulators
Devices
Integrated into
toolbar
Status
Logs
List of devices
Just Click Start
Debugging!
Xamarin Studio
Optimized for crossplatform mobile
development
Explore native APIs
with code completion
World class Android
and iOS designers
Powerful debugging on
simulator or device
Android Designer
Worlds best Android designer
Available in:
Xamarin Studio
Visual Studio
Create UI with drag & drop
simplicity
Target multiple screen sizes,
resolutions and Android
versions
Layouts saved in standard
Android XML files
iOS Designer
Worlds first iOS Designer
available in Xamarin
Studio (and soon Visual
Studio)
Follows familiar Visual
Studio designer idioms
Supports all UIKit
elements
Edit custom and 3rd party
components
Live preview of changes
to properties
Xamarin Component Store
Build Apps Faster
!
Add high quality prebuilt app components
directly from Visual
Studio and Xamarin
Studio
Beautiful crossplatform UI controls,
cloud services and
enterprise backend
.NET Mobility Scanner
How mobile is your .NET?
Scan .exe or .dll to determine
compatibility
Generates full report:
Prebuilt Field Service App
App Features:
Location-based assignments / routing
Time recording
Camera capture of work
Signature capture
Cross-Platform Techniques
MVVM pattern
Xamarin.Mobile
Signature control from Component Store
SQLite for storage on all 3 platforms
DEMO
GET YOUR
C# SHIRT
TODAY!
Xamarin Evolve 2013
#1
Trending on Twitter
during keynote
Sold
Out!!
650
Conference
Attendees
8,400
Live stream
hours viewed
Watch Sessions & Highlights: http://xamarin.com/evolve/2013
www.xamarin.com/evolve
Rdio Case
Study
About Rdio
Rdio is the leading music
streaming and sharing
service started by the
founders of Skype
Rdio is already in 30
countries with over 20
million songs.
Available in 31 countries
Wired Magazine
Rdios mobile app is also the best looking and best
implemented of the three [music streaming apps reviewed].
Sharing 50,000 lines of code
Challenge
Unable to deliver features on all
platforms simultaneously because of
multiple, platform-specific code bases
High costs to development and
maintain apps
!
Results
Using Xamarin, Rdio now shares over 50,000 lines of
C# across iOS, Android, and Windows, enabling them to
focus on feature-parity and user experience.
Sharing 50,000 lines of code
Xamarin offers the best of all worlds. We
deliver high performance, native apps that,
until Xamarin, were only possible with
Objective-C and Java. Sharing over 50,000
lines of code across platforms gives us more
time to spend on great user experiences.
Matt Crocker!
Director of Client
Engineering
Go Mobile Program
Live online training from Xamarin experts
Lectures and labs
One-on-one with expert Xamarin mobile
developers
What Youll Learn
iOS and Android
Fundamentals
Mobile App Lifecycle
Native UI and Controls
Cross-platform Architecture
Mobile Best Practices
Secure Backend Integration
Xamarin Developer Certifications
Xamarin skills are increasingly in demand certifications
let the market know you represent top talent