CROSS-PLATFORM MOBILE
DEVELOPMENT WITH
C# AND XAMARIN SDK
KMS Technology Property 1
Nguyễn Lê Phú An
Software Engineer, KMS
Nguyễn Ngọc Trí
Software Engineer, KMS
KMS Technology Property 2
TODAY SPEAKERS
anlpnguyen@kms-technology.com trinnguyen@kms-technology.com
AGENDA
 Introducing Xamarin
 Xamarin - Getting started
 Other Worth Mentioning
 More Q&A
KMS Technology Property 3
INTRODUCING XAMARIN
What is Xamarin?
KMS Technology Property 4
XAMARIN HISTORY
KMS Technology Property 5
 Founded in May 2011
 76 Employees
 Already > 13.000 paying customers
Nat Friedman
CEO and co-founder
@natfriedman
Miguel de Icaza
CTO and co-founder
@migueldeicaza
XAMARIN PRODUCTS
KMS Technology Property 6
SDKs IDE
Xamarin
Compiler
C#
Wrapper
BINDING TO NATIVE SDK
KMS Technology Property 7
UI SAMPLE CODE
KMS Technology Property 8
Xamarin Native
CODE SHARING
KMS Technology Property 9
Device Access
Layer
Device Access
Layer
Device Access
Layer
LIBRARY REUSING
KMS Technology Property 10
Libraries
XAMARIN STUDIO
KMS Technology Property 11
 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 debug)
VISUAL STUDIO PLUGIN
KMS Technology Property 12
GETTING STARTED
Let’s practice!
KMS Technology Property 13
FIRST STEP
KMS Technology Property 14
SIMPLE PROJECT
1. Creating a iOS project
2. Working with Xcode IB
3. Creating a Android project
4. Working with Xamarin Designer
CODE SHARING
KMS Technology Property 15
TASKY
1. Creating core project
2. Linking core project
3. Implementation
LIBRARY REUSE
KMS Technology Property 16
1. Getting source code
2. Implement Objective C
wrapper
3. Building static library
4. Implement C# wrapper
5. Calling
PJSIP
LIBRARY REUSE
KMS Technology Property 17
SHERLOCK ACTION BAR
1. Getting source code
2. Packing (JAR or ZIP)
3. Generating C# Wrapper
4. Calling
OTHER WORTH MENTIONING
Highlights
KMS Technology Property 18
KMS Technology Property 19
WHAT WE LOVE
Cross-platform development in C#
Native UI, Native Performance
Reuse existing code
Visual Studio or Xamarin Studio
KMS Technology Property 20
WHAT WE HATE
Requires platform’s knowledge
Expensive!
Need Mac OS X machine for iOS
development
CUSTOMER SERVICES
KMS Technology Property 21
COMMUNITIES
KMS Technology Property 22
XAMARIN VS COMPETITORS
KMS Technology Property 23
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, Objective C, C,
Java
Pricing $300
platform/develope
r/year
Free Free $600 developer/year
UI Capabilities Native UI (rich) Native UI (rich) Web UI Common native UI
controls (acceptable)
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/Utility
/ Enterprise Apps
Productivity and
Utility Apps
Basic/Simple Apps Game
CASE STUDY
KMS Technology Property 24
SMART SHOOT
Empower your smart phone’s camera with:
Choose the best faces while shooting
Tag and find people with their names
REFERENCES
• http://docs.xamarin.com/
• http://xamarin.com/how-it-works
• http://components.xamarin.com/
• http://stackoverflow.com/questions/tagged/mono
droid+or+monotouch?sort=active
• http://en.wikipedia.org/wiki/Xamarin
• http://www.mono-project.com/Main_Page
KMS Technology Property 25
© 2013 KMS Technology
26
THANK YOU

Cross Platform Mobile Development with C# and Xamarin