cross platform mobile development with c# and xamarin
DESCRIPTION
This is the presentation that Mr. An Nguyen and Mr. Tri Nguyen – Software Engineers of KMS Technology presented at “Cross Platform Mobile Development with C# and Xamarin” workshop on September 7th, 2013.TRANSCRIPT
KMS Technology Property 1
CROSS-PLATFORM MOBILE DEVELOPMENT WITH
C# AND XAMARIN SDK
KMS Technology Property 2
Nguyễn Lê Phú An
Software Engineer, KMSNguyễn Ngọc Trí
Software Engineer, KMS
TODAY SPEAKERS
KMS Technology Property 3
AGENDA
Introducing Xamarin Xamarin - Getting started Other Worth Mentioning More Q&A
KMS Technology Property 4
INTRODUCING XAMARINWhat is Xamarin?
KMS Technology Property 5
XAMARIN HISTORY
Founded in May 2011 76 Employees Already > 13.000 paying customers
Nat FriedmanCEO and co-founder@natfriedman
Miguel de IcazaCTO and co-founder@migueldeicaza
KMS Technology Property 6
XAMARIN PRODUCTS
SDKs IDE
KMS Technology Property 7
Xamarin Compiler
C# Wrapper
BINDING TO NATIVE SDK
C# Wrapper
Native SDK API
UI
KMS Technology Property 8
UI SAMPLE CODE
Xamarin Native
KMS Technology Property 9
CODE SHARING
Device Access Layer
Device Access Layer
Device Access Layer
KMS Technology Property 10
LIBRARY REUSING
Xamarin App
Mono Framework
P/InvokeCxxi
Libraries
Implemented C# Wrapper
XAMARIN STUDIO
KMS Technology Property 11
Common IDE features (auto completion, source control…)
Design UI:o Android: Xamarin Designero iOS: Xcode integration
Debugging and Building Tools (support simulator and device debug)
VISUAL STUDIO PLUGIN
KMS Technology Property 12
KMS Technology Property 13
GETTING STARTEDLet’s practice!
KMS Technology Property 14
FIRST STEP
SIMPLE PROJECT
1. Creating a iOS project2. Working with Xcode IB3. Creating a Android project4. Working with Xamarin Designer
KMS Technology Property 15
CODE SHARING
TASKY
1. Creating core project2. Linking core project3. Implementation
KMS Technology Property 16
LIBRARY REUSE
1. Getting source code2. Implement Objective C
wrapper3. Building static library4. Implement C# wrapper5. Calling
PJSIP
KMS Technology Property 17
LIBRARY REUSE
SHERLOCK ACTION BAR
1. Getting source code2. Packing (JAR or ZIP) 3. Generating C# Wrapper4. Calling
KMS Technology Property 18
OTHER WORTH MENTIONINGHighlights
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
KMS Technology Property 22
COMMUNITIES
KMS Technology Property 23
XAMARIN VS COMPETITORS
Xamarin Titanium PhoneGap Corona
Platforms iOS, Android, Windows Phone7 & 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/developer/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
KMS Technology Property 24
CASE STUDY
SMART SHOOTEmpower your smart phone’s camera with:Choose the best faces while shootingTag and find people with their names
KMS Technology Property 25
REFERENCES
• http://docs.xamarin.com/• http://xamarin.com/how-it-works• http://components.xamarin.com/• http://stackoverflow.com/questions/tagged
/monodroid+or+monotouch?sort=active
• http://en.wikipedia.org/wiki/Xamarin• http://www.mono-project.com/Main_Page
© 2013 KMS Technology26
THANK YOU