31
Joe Koletar – Technical Solution Specialist Cross Platform Mobile Development with Xamarin C# on iOS and Android

Xamarin Mobile March 2014

Embed Size (px)

Citation preview

Page 1: Xamarin Mobile March 2014

Joe Koletar – Technical Solution Specialist

Cross Platform Mobile Development with XamarinC# on iOS and Android

Page 2: Xamarin Mobile March 2014

Mobile March 2014

2 RBA

RBA is a digital and technical consultancy

Microsoft National Systems Integrator

Xamarin Premier Consulting Partner

Named Best Places to Work in the Twin Cities 6 times

Now hiring…

Joe KoletarTechnical Solution [email protected] @joekoletar

Page 3: Xamarin Mobile March 2014

Mobile March 2014

3 Obligatory Mobile Statistic

There are more cell phone users than toothbrush users.

http://60secondmarketer.com/blog/2011/10/18/more-mobile-phones-than-toothbrushes/

Page 4: Xamarin Mobile March 2014

Mobile March 2014

4 The Mobile Challenge

Consumers now have an expectation that any desired information or service is available, on any appropriate device at your moment of need.

Forrester Research, The Mobile Mind Shift

Page 5: Xamarin Mobile March 2014

Mobile March 2014

Comscore, Top Smartphone platforms, ending April 2013

5 Mobile OS Market Share

3%Windows

42%iOS

3%Blackberry

52%Android

Market share fracture and ongoing shift means there is no obvious,

single choice.

Comscore, Top Smartphone platforms, ending January 2014

https://www.comscore.com/Insights/Press_Releases/2014/3/comScore_Reports_January_2014_US_Smartphone_Subscriber_Market_Share

Page 6: Xamarin Mobile March 2014

Mobile March 2014

6 Mobile Objective

How to develop applications to reach the broadest range of users in the most effective manner for the least cost

Page 7: Xamarin Mobile March 2014

Mobile March 2014

7 Understanding the Trade-OffsPerformance and familiarity increase the closer to platform specific your app gets but so does cost and complexity.

UI Familiarity

Performance

Mobile Web

Native Wrapper

Interpreted Cross Compile

d

Platform Specific

Value for Cost

Cross-Platform Options

Value

Page 8: Xamarin Mobile March 2014

Mobile March 2014

8 Mobile Web

Web site with a mobile customized UI• Detect user device and customize display to

device form factor

• Responsive Design

Page 9: Xamarin Mobile March 2014

Mobile March 2014

9 Mobile Web

Users access the site from device browser

Business/Data Code

iOS

Web Browser

Android

Web Browser

Windows Phone

Web Browser

HTML 5/CSS/JavaScript

Page 10: Xamarin Mobile March 2014

Mobile March 2014

10 Mobile Web

Maintainability

Performance

User Experience

Offline Capability

Sensors

Toolset Choices

Cost

Page 11: Xamarin Mobile March 2014

Mobile March 2014

11 Platform Specific

Native application is written for each platform using platform specific IDE

Page 12: Xamarin Mobile March 2014

Mobile March 2014

12 Platform SpecificNative application is written for each platform

iOS

Native App

Android

Native App

Windows Phone

Native App

Java C#Objective C

Page 13: Xamarin Mobile March 2014

Mobile March 2014

13 Platform Specific

Maintainability

Performance

User Experience

Offline Capability

Sensors

Toolset Choices

Cost

Page 14: Xamarin Mobile March 2014

Mobile March 2014

14 Native Wrapper

Web App is wrapped in device specific code to run as a Native App

Web app is hosted in a chromeless browser window.

Page 15: Xamarin Mobile March 2014

Mobile March 2014

15 Native WrapperWeb app is wrapped in device specific codeAccess to sensors is achieved through bridge

iOS Android Windows Phone

Web View

Bridge

Native API

Web View

Bridge

Native API

Web View

Bridge

Native API

HTML 5/CSS/JavaScript

Page 16: Xamarin Mobile March 2014

Mobile March 2014

16 Native Wrapper

Maintainability

Performance

User Experience

Offline Capability

Sensors

Toolset Choices

Cost

Page 17: Xamarin Mobile March 2014

Mobile March 2014

17 Interpreted

Interpreted applications map a common language to platform specific APIs

−Abstraction layer is provided on top of the native API

−Code is written to run on the abstraction layer

Page 18: Xamarin Mobile March 2014

Mobile March 2014

18 InterpretedApplication is written in scripting language

Script proxies provide access to native widgets

iOS

Script

Interpreter

Native API

Android

Script

Interpreter

Native API

Windows Phone

Script

Interpreter

Native API

Script

Page 19: Xamarin Mobile March 2014

Mobile March 2014

19 Interpreted

Maintainability

Performance

User Experience

Offline Capability

Sensors

Toolset Choices

Cost

Page 20: Xamarin Mobile March 2014

Mobile March 2014

20 Cross Compiled

Cross compiled applications map a common language to platform specific SDK

Page 21: Xamarin Mobile March 2014

Mobile March 2014

21 Cross Compiled

Common business logic is combined with platform specific UI code into native app

iOS

Native App

Android

Native App

Windows Phone

Native App

C# Android UI C# Win Phone UIC# iOS UI

C# Business/Data Code

Page 22: Xamarin Mobile March 2014

Mobile March 2014

22 Cross Compiled

Maintainability

Performance

User Experience

Offline Capability

Sensors

Toolset Choices

Cost

Page 23: Xamarin Mobile March 2014

Mobile March 2014

23 Xamarin – What do you get

Anything you can do in Objective C on iOS, you can do in C#

Anything you can do in Java on Android, you can do in C#

Access to .NET Base Libraries

−LINQ, Generics, Task Parallel Library, Lambdas, Async

Page 24: Xamarin Mobile March 2014

Mobile March 2014

24 Xamarin History

2001

MonoLaunched

2009

MonoTouch (now Xamarin.iOS) released

2011

Xamarin Founded

First Release of Xamarin.Android

2013

Xamarin 2.0

Component Store

Xamarin TestCloud

Microsoft Partnership

Page 25: Xamarin Mobile March 2014

Mobile March 2014

25 Xamarin – How does it work

Xamarin.iOS does full Ahead Of Time (AOT) compilation to produce an ARM binary suitable for Apple’s App Store.

Xamarin.Android takes advantage of Just In Time (JIT) compilation on the Android device

Page 26: Xamarin Mobile March 2014

Mobile March 2014

26 Android Demo

Page 27: Xamarin Mobile March 2014

Mobile March 2014

27 Develop for iOS from Visual Studio

Page 28: Xamarin Mobile March 2014

Mobile March 2014

28 Xamarin – What does it cost

Licenses are per developer, per platform, per year

• Starter – Free, Limited App Size

• Indie - $299, Xamarin Studio Only

• Business - $999, Visual Studio, Email Support

• Enterprise- $1899, 1 day SLA

Page 29: Xamarin Mobile March 2014

Mobile March 2014

29 Xamarin – What does it cost

MSDN Subscriber Discounts

• Business Edition for iOS and Android for $1,399

• Enterprise Edition for iOS and Android for 5 developers for $9,999

Page 30: Xamarin Mobile March 2014

Mobile March 2014

30 Xamarin Odds and Ends

Xamarin University

Xamarin Component Store

Xamarin Test Cloud

Page 31: Xamarin Mobile March 2014

Mobile March 2014

31 Thanks!Minnesota Enterprise Mobile User Group

http://www.meetup.com/Minnesota-Enterprise-Mobile/

Download Slides

http://tinyurl.com/KoletarMobileMarch2014

Email: [email protected]

Twitter: @JoeKoletar