techcamp xamarin 2014
TRANSCRIPT
![Page 1: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/1.jpg)
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
TECHCAMP 2014RMIT, HCMC
MARCH 23
![Page 2: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/2.jpg)
$ WHOAMI
Nguyễn Lê Phú AnSenior Software Engineer
R&D, KMS [email protected]
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
An Nguyen
![Page 3: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/3.jpg)
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
Multiple platforms Performance Native UI & UX
![Page 4: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/4.jpg)
AGENDA
Introduction to Xamarin Getting started Other Worth Mentioning Things to take away Q&A
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
![Page 5: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/5.jpg)
INTRODUCTION TO XAMARIN
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
![Page 6: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/6.jpg)
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
![Page 7: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/7.jpg)
Xamarin Compiler
BINDING TO NATIVE SDK
Wrapper
Native SDK API
UI
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
![Page 8: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/8.jpg)
SAMPLE CODE – ANDROID UI
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
![Page 9: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/9.jpg)
SAMPLE CODE – IOS UI
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
![Page 10: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/10.jpg)
CODE SHARING
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
![Page 11: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/11.jpg)
LIBRARY BINDING
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
Mono Framework
P/InvokeCxxi
Libraries
Implemented C# Wrapper
![Page 12: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/12.jpg)
XAMARIN STUDIO
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
Common IDE features (auto completion, source control…)
Design UI:o Android: Xamarin Designero iOS: Xcode integration
Debugging and Building Tools (support simulator and device)
![Page 13: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/13.jpg)
VISUAL STUDIO PLUGIN
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
![Page 14: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/14.jpg)
GETTING STARTED
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
![Page 15: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/15.jpg)
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
![Page 16: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/16.jpg)
CODE SHARING
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
TASKY
Create core project Link core project Implement
![Page 17: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/17.jpg)
LIBRARY REUSE
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
ADSLIDING CONTROLLER Get source code
Build static library Implement C# wrapper Reference
![Page 18: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/18.jpg)
LIBRARY REUSE
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
ACTION BAR SHERLOCK Get source code Packing (JAR or ZIP) Generate C# Wrapper Reference
![Page 19: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/19.jpg)
OTHER WORTH MENTIONING
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
![Page 20: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/20.jpg)
CUSTOMER SERVICE
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
![Page 21: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/21.jpg)
COMMUNITIES
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
![Page 22: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/22.jpg)
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
![Page 23: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/23.jpg)
WHAT WE HATE
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
Requires platform’s knowledge
Expensive!
Need Mac OS X machine for iOS development
![Page 24: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/24.jpg)
COMPETITORS
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
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
Pricing Free (limited)$299/yearPer platform, per developer
Free Free Free (limited)$192/yearPer 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
![Page 25: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/25.jpg)
THINGS TO TAKE AWAY
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
![Page 26: Techcamp xamarin 2014](https://reader035.vdocuments.site/reader035/viewer/2022062703/554d2c46b4c905c5208b51fd/html5/thumbnails/26.jpg)
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