4. Silo Approach
Build Apps Multiple Times
• Multiple Teams
• Multiple Code Bases
• Different toolsets
5. Write Once, Run Anywhere: Web Approach
• Build a mobile version of an existing
Web site
• No apps to deploy to the stores
6. Write Once, Run Anywhere: Hybrid Approach
• Use PhoneGap/Cordova with
HTML5
• Basically, a native app with a Web
viewer displaying HTML5 pages
• Native look is simulated with CSS
• Apps are packaged as native apps
11. First
release of
Xamarin.Mac
Launch
Partner
Program
200,000
Developers
Xamarin
Founded
First release of
Xamarin.Android
Xamarin.iOS
launches (originally
known as
MonoTouch)
Ximian
Founded
Over a Decade of Enterprise Production Use
2001 2003 2009 2011 2012 2013
Mono
Launches
Ximian Acquired
by Novell
Xamarin 2.0
Component Store
Xamarin Test Cloud
Evolve 2013
Microsoft Partnership
500,000
Developers
100+ Partners
100+ Components
2014
//
Xamarin 3
2000
SAP Partnership
Fire TV Support
Salesforce partnership
Visionary in Gartner
Magic Quadrant
Google Glass Support
Visual Studio Partner
of the Year
Android Wear Support
Xamarin Evolve 2014
800,000
Developers
200+ Partners
200+ Components
20. Xamarin.iOS does full Ahead Of
Time (AOT) compilation to produce
an ARM binary for Apple’s App
Store.
Native Performance
Xamarin.Android takes advantage
of Just In Time (JIT) compilation
on the Android device.
23. Xamarin Studio
PC or Mac
Visual Studio Plugin
VS 2010 and Higher
Development Environment
24. Cost - Software
Cost per dev and per device
platform:
• iOS
• Android
• Discount for startups and MSDN
subscribers
25. Cost - Hardware
• Android
• Development can be done on Windows or Mac
• iOS
• A Mac is required
• Development can be done on a Windows machine
but compilation MUST be done on a Mac
• Compilation can be done on a networked Mac
26. Cost - Hardware
• Emulators are OK for
development
• But always test on physical
devices
27. 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
28. Xamarin Studio
• Optimized for cross-platform
mobile development
• Explore native APIs with code
completion
• World class Android and iOS
designers
• Powerful debugging on
simulator or device
29. Android Designer
• 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
30. iOS Designer
• iOS Designer available in
Xamarin Studio and Visual
Studio
• Follows familiar Visual Studio
designer idioms
• Supports all UIKit elements
• Edit custom and 3rd party
components
• Live preview of changes to
properties
33. 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
What’s Included
34. Use a single API to generate native, platform-
specific user interfaces
At runtime, each Xamarin.Forms page and its
controls are mapped to platform-specific
native user interface elements
Xamarin.Forms Example
35. C# or XAML, No Designer Yet
var red = new Label
{
Text = "Stop",
BackgroundColor = Color.Red,
Font = Font.SystemFontOfSize (20),
WidthRequest = 100
};
var yellow = new Label
{
Text = "Slow down",
BackgroundColor = Color.Yellow,
Font = Font.SystemFontOfSize (20),
WidthRequest = 100
};
var green = new Label
{
Text = "Go",
BackgroundColor = Color.Green,
Font = Font.SystemFontOfSize (20),
WidthRequest = 200
};
Content = new StackLayout
{
Spacing = 10,
VerticalOptions = LayoutOptions.End,
Orientation = StackOrientation.Horizontal,
HorizontalOptions = LayoutOptions.Start,
Children = { red, yellow, green }
};
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="HelloXamarinFormsWorldXaml.StackLayoutExample3"
Padding="20">
<StackLayout Spacing="10"
VerticalOptions="End"
Orientation="Horizontal"
HorizontalOptions="Start">
<Label Text="Stop"
BackgroundColor="Red"
Font="20"
WidthRequest="100" />
<Label Text="Slow down"
BackgroundColor="Yellow"
Font="20"
WidthRequest="100" />
<Label Text="Go"
BackgroundColor="Green"
Font="20"
WidthRequest="200" />
</StackLayout>
</ContentPage>
41. Xamarin benefits
• Xamarin enables developers to reach all major mobile platforms!
– Native User Interface
– Native Performance
– Shared Code Across Platforms
– C# & .NET Framework
50. Always Up-to-Date
Track record of offering
same-day support:
iOS 5, iOS 6, iOS 7, iOS 7.1, iOS 8
Full support for:
• Google Glass
• Android Wear
• Amazon Fire TV
• More!
51. • Xamarin Studio
• VS coming soon
• Supports:
– iOS
– Android
– Mac
– Xamarin.Forms
• developer.xamarin.com/guides/cross-platform/sketches/
Live Coding Environment
Sketches
52. Xamarin Profiler Preview
• Analyze and Polish your C#
Mobile Apps
• iOS, Android, and
Xamarin.Forms
• Windows or Mac
• Xamarin.com/profiler
53. Xamarin Component Store
Build Apps Faster
• Add high quality pre-built
app components directly
from Visual Studio and
Xamarin Studio
• Beautiful cross-platform UI
controls, cloud services and
enterprise backend
integrations are just a few
clicks away
54. Xamarin Android Player
High Speed Android Emulator
• Mac or PC
• Runs side-by-side Windows
Phone Emulator
Free for Xamarin Subscribers:
• Xamarin.com/Android-Player
55. .NET Mobility Scanner
How mobile is your .NET?
• Go to: http://scan.xamarin.com
• Scan .exe or .dll to determine compatibility
• Generates full report:
58. • IBM MobileFirst SDK for Xamarin
• IBM MobileFirst Add-Ons for
Xamarin Studio and Visual Studio
• xamarin.com/ibm
IBM Partnership
59. 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
Notas del editor
Xamarin Introduction!
Let’s talk about the state of mobile development today
Multiple Teams
Multiple Code Bases
Expensive & Slow
Positive = Great apps delivered to user’s platform
Negative = Development hampered by multiple code bases & fragmentation
Let’s talk about the state of mobile development today
UI build natively per platform, leveraging C#
C# + XAML
C# + XML
C# + XIB
One shared app logic code base, iOS, Android, Mac, Windows Phone, Windows Store, Windows
Xamarin recently introduced Xamarin.Forms a new library for cross platform user interface. We will touch up on this later, but this enables you to be highly productive, share code, but build out UI on each platform and access platform APIs.
With Xamarin.Forms you now have a nice Shared UI Code layer, but still access to platform APIs
You can start from native, pick a few screens, or start with forms, and replace with native later
You can think of iOS and Android development the same with Xamarin. You can see we have all of our .NET namespaces and libraries, but Xamarin give us 100% api coverage of each iOS API in it’s SDK that we access view C#.
The same is true for Android as well.
If you have ever developed for a Windows Platform before these .NET namespaces might look familiar.
However, if we go to a new platform such as Windows Phone or Store we have a new SDK to use and a new set of namespaces.
There is no compromise on performance.
Xamarin apps look and feel native because they are native.
Portable Class Libraries are awesome!
You can write all of your C# code in one assembly and share across all platforms
Before the Xamarin & Microsoft Partnership PCLs were limited ONLY to Windows Platforms
Now add official support to create and use PCLs in Visual Studio and Xamarin Sudio
Compiles down to APK or IPA that you can distribute anywhere, any store.
Or even internal enterprise
Xamarin Studio
PC -> Android
Mac -> iOS, Android, Mac
Visual Studio: iOS, Android Windows
Additionally Supports Visual Studio 2010, 2012, & of course 2013
Additionally support desktop apps on Windows: WPF, ASP.NET, Silverlight, WinForms!
The same Solution & Projects open in BOTH Xamarin Studio and Visual Studio!
Xamarin Studio is available for Android development on the PC.
Xamarin Studio on Mac offers: Android, iOS and Mac development
World Class IDE with great features:
Code Analysis
Upload to Test Flight
Git & Subversion Integration
Code Completion
Code Navigation
Easy transition from Visual Studio
The same Solution & Projects open in BOTH Xamarin Studio and Visual Studio!
State of the art features:
View different Themes
View different device sizes
Multi-view editing!
We see here the Xamarin approach we talked about earlier
This enables you to be highly productive, share code, but build out UI on each platform and access platform APIs
With Xamarin.Forms you now have a nice Shared UI Code layer, but still access to platform APIs
You can start from native, pick a few screens, or start with forms, and replace with native later
Xamarin.Forms is much more that just a framework and includes everything you need to get up and running to build out full native applications.
If you are used to MVVM type of development you will feel right at home.
Here is an example of Xamarin.Forms in action using C# in the code behind to create a login screen. You can see how each is rendered with the native controls on iOS, Android, and Windows Phone.
Several enterprise component vendors announced their support for Xamarin.Forms. Enabling developers to use beautiful charts, grids, and other controls from their shared C# code.
Additional Resources that might be interesting for your group. Includes: Evolve, Test Flight, Case studies, and Xamarin University.
Apple has a developer preview where Xamarin has alphas ready. Google does not offer this.
Android versions are usually 4 to 8 weeks out for a stable release, but alphas and betas are usually earlier.
Xamarin realizes how important having iOS ready because within 24 hours a large portion of iOS users upgrade
Android on the other hand is much different. After 4 months on the market Android 4.4 only had 1% adoption
We have had a straight C# REPL(Read-Eval-Print Loop) for a while now, however Sketches takes it to an entirely new level.
This is a live interactive coding environment for:
iOS,
Android
Xamarin.Forms!
Write code and see it live before your eyes!
The Xamarin Profiler enables developer to dive deep into their mobile apps to analyze and finely tune every last bit of performance. It has several key features.
Available for Xamarin Business Edition Subscribers
Add high quality pre-built app components directly from Visual Studio.
Includes dozens of beautiful UI controls and web services – adding a theme or a 3rd party library is just a few clicks away
Complements existing .NET NuGet ecosystem
Differentiator: focus on UI controls and themes – we are making developers better designers across all platforms
Xamarin Android Player runs on Mac or PC and is built natively on each platform with Xamarin.Mac and WPF.
On PC you will have no issues running the Xamarin Android Player if Hyper-V is enabled as you can run it side-by-side with no issues.
Generates a full report of all method calls to determine compatibility with Xamarin.Android, Xamarin.iOS, Windows Phone, and Windows 8.
IBM MobileFirst SDK for Xamarin: A pre-built software library that Xamarin and IBM developers can embed in their mobile apps to connect, secure and manage the apps using IBM Worklight, a part of the IBM MobileFirst portfolio.
IBM MobileFirst Add-Ons for Xamarin Studio and Visual Studio: Extensions that enable developers to configure and access the IBM Worklight server from a single environment.
Major announcement at the end of 2013:
Truly Portable Class Libraries
Support for VS 2013
Special offers for MSDN Subscribers
20 City Roadshow!