Upload
an-le
View
298
Download
2
Embed Size (px)
Citation preview
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
TECHCAMP 2014RMIT, HCMC
MARCH 23
$ WHOAMI
Nguyễn Lê Phú AnSenior Software Engineer
R&D, KMS [email protected]
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
An Nguyen
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
Multiple platforms Performance Native UI & UX
AGENDA
Introduction to Xamarin Getting started Other Worth Mentioning Things to take away Q&A
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
INTRODUCTION TO XAMARIN
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
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
Xamarin Compiler
BINDING TO NATIVE SDK
Wrapper
Native SDK API
UI
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
SAMPLE CODE – ANDROID UI
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
SAMPLE CODE – IOS UI
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
CODE SHARING
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
LIBRARY BINDING
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
Mono Framework
P/InvokeCxxi
Libraries
Implemented C# Wrapper
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)
VISUAL STUDIO PLUGIN
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
GETTING STARTED
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
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
CODE SHARING
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
TASKY
Create core project Link core project Implement
LIBRARY REUSE
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
ADSLIDING CONTROLLER Get source code
Build static library Implement C# wrapper Reference
LIBRARY REUSE
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
ACTION BAR SHERLOCK Get source code Packing (JAR or ZIP) Generate C# Wrapper Reference
OTHER WORTH MENTIONING
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
CUSTOMER SERVICE
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
COMMUNITIES
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
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
WHAT WE HATE
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
Requires platform’s knowledge
Expensive!
Need Mac OS X machine for iOS development
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
THINGS TO TAKE AWAY
DEVELOPING CROSS PLATFORM APPS USING XAMARIN
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