27
DEVELOPING CROSS PLATFORM APPS USING XAMARIN TECHCAMP 2014 RMIT, HCMC MARCH 23

Techcamp xamarin 2014

  • Upload
    an-le

  • View
    298

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Techcamp xamarin 2014

DEVELOPING CROSS PLATFORM APPS USING XAMARIN

TECHCAMP 2014RMIT, HCMC

MARCH 23

Page 2: Techcamp xamarin 2014

$ 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

DEVELOPING CROSS PLATFORM APPS USING XAMARIN

Multiple platforms Performance Native UI & UX

Page 4: Techcamp xamarin 2014

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

INTRODUCTION TO XAMARIN

DEVELOPING CROSS PLATFORM APPS USING XAMARIN

Page 6: Techcamp xamarin 2014

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

Xamarin Compiler

BINDING TO NATIVE SDK

Wrapper

Native SDK API

UI

DEVELOPING CROSS PLATFORM APPS USING XAMARIN

Page 8: Techcamp xamarin 2014

SAMPLE CODE – ANDROID UI

DEVELOPING CROSS PLATFORM APPS USING XAMARIN

Page 9: Techcamp xamarin 2014

SAMPLE CODE – IOS UI

DEVELOPING CROSS PLATFORM APPS USING XAMARIN

Page 10: Techcamp xamarin 2014

CODE SHARING

DEVELOPING CROSS PLATFORM APPS USING XAMARIN

Page 11: Techcamp xamarin 2014

LIBRARY BINDING

DEVELOPING CROSS PLATFORM APPS USING XAMARIN

Mono Framework

P/InvokeCxxi

Libraries

Implemented C# Wrapper

Page 12: Techcamp xamarin 2014

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

VISUAL STUDIO PLUGIN

DEVELOPING CROSS PLATFORM APPS USING XAMARIN

Page 14: Techcamp xamarin 2014

GETTING STARTED

DEVELOPING CROSS PLATFORM APPS USING XAMARIN

Page 15: Techcamp xamarin 2014

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

CODE SHARING

DEVELOPING CROSS PLATFORM APPS USING XAMARIN

TASKY

Create core project Link core project Implement

Page 17: Techcamp xamarin 2014

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

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

OTHER WORTH MENTIONING

DEVELOPING CROSS PLATFORM APPS USING XAMARIN

Page 20: Techcamp xamarin 2014

CUSTOMER SERVICE

DEVELOPING CROSS PLATFORM APPS USING XAMARIN

Page 21: Techcamp xamarin 2014

COMMUNITIES

DEVELOPING CROSS PLATFORM APPS USING XAMARIN

Page 22: Techcamp xamarin 2014

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

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

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

THINGS TO TAKE AWAY

DEVELOPING CROSS PLATFORM APPS USING XAMARIN

Page 26: Techcamp xamarin 2014

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

Page 27: Techcamp xamarin 2014

QUESTIONS?

DEVELOPING CROSS PLATFORM APPS USING XAMARIN

[email protected]