Upload
joe-koletar
View
958
Download
0
Embed Size (px)
Citation preview
Joe Koletar – Technical Solution Specialist
Cross Platform Mobile Development with XamarinC# on iOS and Android
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
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/
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
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
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
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
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
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
Mobile March 2014
10 Mobile Web
Maintainability
Performance
User Experience
Offline Capability
Sensors
Toolset Choices
Cost
Mobile March 2014
11 Platform Specific
Native application is written for each platform using platform specific IDE
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
Mobile March 2014
13 Platform Specific
Maintainability
Performance
User Experience
Offline Capability
Sensors
Toolset Choices
Cost
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.
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
Mobile March 2014
16 Native Wrapper
Maintainability
Performance
User Experience
Offline Capability
Sensors
Toolset Choices
Cost
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
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
Mobile March 2014
19 Interpreted
Maintainability
Performance
User Experience
Offline Capability
Sensors
Toolset Choices
Cost
Mobile March 2014
20 Cross Compiled
Cross compiled applications map a common language to platform specific SDK
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
Mobile March 2014
22 Cross Compiled
Maintainability
Performance
User Experience
Offline Capability
Sensors
Toolset Choices
Cost
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
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
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
Mobile March 2014
26 Android Demo
Mobile March 2014
27 Develop for iOS from Visual Studio
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
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
Mobile March 2014
30 Xamarin Odds and Ends
Xamarin University
Xamarin Component Store
Xamarin Test Cloud
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