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