4. AGENDA
Introduction to Xamarin
Getting started
Other Worth Mentioning
Things to take away
Q&A
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
6. INTRODUCTION TO XAMARIN
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
Founded in May 2011
From 2 Microsoft guys:
Nat Friedman: CEO
Miguel de Icaza: CTO
Based on Mono Framework
12. XAMARIN STUDIO
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
Common IDE features (auto completion,
source control…)
Design UI:
o Android: Xamarin Designer
o iOS: Xcode integration
Debugging and Building Tools (support
simulator and device)
15. FIRST STEP
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
Create a iOS project
Play with Xcode IB
Create a Android project
Play with Xamarin Designer
SIMPLE PROJECT
16. CODE SHARING
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
TASKY
Create core project
Link core project
Implement
22. WHAT WE LOVE
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
Cross-platform development in C#
Native UI, Native Performance
Reuse native libraries
Visual Studio or Xamarin Studio
23. WHAT WE HATE
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
Requires platform’s knowledge
Expensive!
Need Mac OS X machine for iOS
development
24. COMPETITORS
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
Xamarin Titanium PhoneGap Corona
Platforms iOS, Android,
Windows Phone
7 & 8
iOS, Android,
Blackberry
iOS, Android, Windows
Phone, Blackberry…
iOS, Android
Language C# Javascript HTML, CSS, Javascript… Lua
Pricing Free (limited)
$299/year
Per platform, per
developer
Free Free Free (limited)
$192/year
Per developer
UI Capabilities Native UI Native UI Web UI Common native UI
controls
Access of device
API
Full Access Full Access Limited Almost Full Access
Performance Nearest Native Nearly Native Device’s Web View
performance
Nearly Native
OpenGL
Application Types Productivity and
Utility Apps
Productivity and
Utility Apps
Basic/Simple Apps Game
25. THINGS TO TAKE AWAY
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
26. DEVELOPING CROSS PLATFORM APPS USING XAMARIN
C#
Native Performance
Separating native UI
Sharing the logic code
Reuse native libraries (not a piece of cake)
Require knowledge for each platform
Require a Mac machine (not be considered by everyone)
Free with limited feature