SlideShare uma empresa Scribd logo
1 de 32
Cross Platform
Mobile Development
with Xamarin
C# on iOS and Android

Joe Koletar – Mobile Solution Lead
2

RBA
Technical services across the full Microsoft
stack
Microsoft National Systems Integrator
Gold Certified Microsoft Partner
7 Gold Competencies
6 Silver Competencies
Named Best Places to Work in the
Twin Cities 5 times
Joe Koletar
Mobile Solution Lead
joe.koletar@rbaconsulting.com
Minnesota Enterprise Mobile November 2013
Agenda

3

Mobile Space
Cross Platform Tools
Xamarin Background
Xamarin Android Demo

Xamarin iOS Demo

Minnesota Enterprise Mobile November 2013
4

User Expectations
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

Minnesota Enterprise Mobile November 2013
5

Mobile OS Market Share
Market share fracture and ongoing shift means
there is no obvious, single choice.

3

%

Windows

39

%

iOS

52

%

Android

5

%

Blackberry

Comscore, Top Smartphone
platforms, ending April 2013
Minnesota Enterprise Mobile November 2013
6

Mobile Wish List
Support multiple platforms - BYOD
Provide a rich, native experience

Get to market quickly
Have an easily maintained code base

Support future flexibility
Do it at a reasonable cost

Minnesota Enterprise Mobile November 2013
7

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

Minnesota Enterprise Mobile November 2013
8

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

Cross-Platf orm Options

Mobile
Web

Native
Wrapper

Interpreted

Platform
Specific

Cross
Compiled

Value

Minnesota Enterprise Mobile November 2013
9

Mobile Web
Web site with a mobile customized UI
• Detect user device and customize display to
device form factor
• Responsive Design

Minnesota Enterprise Mobile November 2013
Mobile Web

10

Users access the site from device browser
Business/Data Code
HTML 5/CSS/JavaScript

Web Browser

Web Browser

Web Browser

iOS

Android

Windows Phone

Minnesota Enterprise Mobile November 2013
Mobile Web

11

Cost
Maintainability

Performance
User Experience
Offline Capability

Sensors
Toolset Choices

Minnesota Enterprise Mobile November 2013
12

Platform Specific
Native application is written for each
platform using platform specific IDE

Minnesota Enterprise Mobile November 2013
Platform Specific

13

Native application is written for each platform

Objective C

Java

C#

Native App

Native App

Native App

iOS

Android

Windows Phone

Minnesota Enterprise Mobile November 2013
Platform Specific

14

Cost
Maintainability

Performance
User Experience
Offline Capability

Sensors
Toolset Choices

Minnesota Enterprise Mobile November 2013
15

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.

Minnesota Enterprise Mobile November 2013
Native Wrapper

16

Web app is wrapped in device specific code
Access to sensors is achieved through bridge
HTML 5/CSS/JavaScript

Web View

Web View

Web View

Bridge

Bridge

Bridge

Native API

Native API

Native API

iOS

Android

Windows Phone

Minnesota Enterprise Mobile November 2013
Native Wrapper

17

Cost
Maintainability

Performance
User Experience
Offline Capability

Sensors
Toolset Choices

Minnesota Enterprise Mobile November 2013
18

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

Minnesota Enterprise Mobile November 2013
Interpreted

19

Application is written in scripting language
Script proxies provide access to native widgets
Script

Script

Script

Script

Interpreter

Interpreter

Interpreter

Native API

Native API

Native API

iOS

Android

Windows Phone

Minnesota Enterprise Mobile November 2013
Interpreted

20

Cost
Maintainability

Performance
User Experience
Offline Capability

Sensors
Toolset Choices

Minnesota Enterprise Mobile November 2013
21

Cross Compiled
Cross compiled applications map a
common language to platform specific
SDK

Minnesota Enterprise Mobile November 2013
Cross Compiled

22

Common business logic is combined with
platform specific UI code into native app
C# Business/Data Code
C# iOS UI

C# Android UI

C# Win Phone UI

Native App

Native App

Native App

iOS

Android

Windows Phone

Minnesota Enterprise Mobile November 2013
Cross Compiled

23

Cost
Maintainability

Performance
User Experience
Offline Capability

Sensors
Toolset Choices

Minnesota Enterprise Mobile November 2013
Xamarin – What do you get

24

Allows programming C# to iOS and Android
Access to .NET Base Libraries

Full featured C# 5.0 support includes:
−LINQ

−Generics
−Task Parallel Library
−Lambdas
−Async

Minnesota Enterprise Mobile November 2013
25

Xamarin – How does it work
Evolved from Mono project
−Open source version of the .NET Runtime

−Ported to various platforms

C# bindings for nearly the entire
underlying platform SDKs
−UI code is platform specific
−Supports native User Experience

−Also imposes a learning curve

Minnesota Enterprise Mobile November 2013
26

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

Minnesota Enterprise Mobile November 2013
Xamarin – Demo

27

Android
• Hello, World

• Tasky Pro

iOS
• Hello, World
• Field Service App

Minnesota Enterprise Mobile November 2013
Tasky Pro Architecture

28

iOS App
Shared Code
Data Layer

Data Access
Layer

TaskDatabase

Business
Layer
TaskManager

Application
Layer

UI Layer

Xamarin.iOS assemblies

TaskRepository

SQLLite

System, System.Core, System.Xml

Task

Android App
Application
Layer

UI Layer

Xamarin.Android assemblies

Minnesota Enterprise Mobile November 2013
29

Xamarin – Licenses
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

Minnesota Enterprise Mobile November 2013
Links

30

Xamarin Store
https://store.xamarin.com/

Xamarin Tutorials and Help
http://docs.xamarin.com/

http://forums.xamarin.com/
YouTube Xamarin Channel

http://www.youtube.com/user/xamarinhq

Minnesota Enterprise Mobile November 2013
31

More Links
Tasky Pro Source Code
https://github.com/xamarin/mobilesamples/tree/master/TaskyPro
Tasky Pro Case Study
http://docs.xamarin.com/Android/Guides/Applica
tion_Fundamentals/Building_Cross_Platform_A
pplications/Case_Study%3A_Tasky

Field Service App
http://xamarin.com/prebuilt/fieldservice
Minnesota Enterprise Mobile November 2013
Thanks!

32

Download Slides
http://tinyurl.com/MnEMOctober2013

Minnesota Enterprise Mobile November 2013

Mais conteúdo relacionado

Mais procurados

Developing with Google Glass and Xamarin
Developing with Google Glass and XamarinDeveloping with Google Glass and Xamarin
Developing with Google Glass and Xamarin
Xamarin
 

Mais procurados (20)

Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
 
Cross Platform Development with Xamarin
Cross Platform Development with XamarinCross Platform Development with Xamarin
Cross Platform Development with Xamarin
 
Say hello to Xamarin 3
Say hello to Xamarin 3Say hello to Xamarin 3
Say hello to Xamarin 3
 
Developing and Designing Native Mobile Apps in Xamarin Studio
Developing and Designing Native Mobile Apps in Xamarin StudioDeveloping and Designing Native Mobile Apps in Xamarin Studio
Developing and Designing Native Mobile Apps in Xamarin Studio
 
Enterprise Mobile Success with Oracle and Xamarin
Enterprise Mobile Success with Oracle and XamarinEnterprise Mobile Success with Oracle and Xamarin
Enterprise Mobile Success with Oracle and Xamarin
 
Native App Development for iOS, Android, and Windows with Visual Studio
Native App Development for iOS, Android, and Windows with Visual StudioNative App Development for iOS, Android, and Windows with Visual Studio
Native App Development for iOS, Android, and Windows with Visual Studio
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
 
C# everywhere: Xamarin and cross platform development
C# everywhere: Xamarin and cross platform developmentC# everywhere: Xamarin and cross platform development
C# everywhere: Xamarin and cross platform development
 
Flying High with Xamarin
Flying High with XamarinFlying High with Xamarin
Flying High with Xamarin
 
Enterprise-grade mobile barcode scanning with Scandit and Xamarin
Enterprise-grade mobile barcode scanning with Scandit and XamarinEnterprise-grade mobile barcode scanning with Scandit and Xamarin
Enterprise-grade mobile barcode scanning with Scandit and Xamarin
 
Mobile Banking Apps with Xamarin
Mobile Banking Apps with XamarinMobile Banking Apps with Xamarin
Mobile Banking Apps with Xamarin
 
Xamarin
XamarinXamarin
Xamarin
 
Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin Platform
 
Xamarin University Presents: Building Your First Intelligent App with Xamarin...
Xamarin University Presents: Building Your First Intelligent App with Xamarin...Xamarin University Presents: Building Your First Intelligent App with Xamarin...
Xamarin University Presents: Building Your First Intelligent App with Xamarin...
 
Developing Cross-platform Native Apps with Xamarin
Developing Cross-platform Native Apps with XamarinDeveloping Cross-platform Native Apps with Xamarin
Developing Cross-platform Native Apps with Xamarin
 
Developing with Google Glass and Xamarin
Developing with Google Glass and XamarinDeveloping with Google Glass and Xamarin
Developing with Google Glass and Xamarin
 
Xamarin Overview
Xamarin OverviewXamarin Overview
Xamarin Overview
 
Cross platform development with c# and xamarin
Cross platform development with c# and xamarinCross platform development with c# and xamarin
Cross platform development with c# and xamarin
 
How Xamarin Is Revolutionizing Mobile Development
How Xamarin Is Revolutionizing Mobile DevelopmentHow Xamarin Is Revolutionizing Mobile Development
How Xamarin Is Revolutionizing Mobile Development
 

Destaque

Power system projects
Power system projectsPower system projects
Power system projects
Senthil Kumar
 

Destaque (19)

Building Your First Android App with Xamarin
Building Your First Android App with XamarinBuilding Your First Android App with Xamarin
Building Your First Android App with Xamarin
 
Building Your First Xamarin.Forms App
Building Your First Xamarin.Forms AppBuilding Your First Xamarin.Forms App
Building Your First Xamarin.Forms App
 
Dotnetconf - Introduction to Xamarin and Xamarin.Forms
Dotnetconf - Introduction to Xamarin and Xamarin.FormsDotnetconf - Introduction to Xamarin and Xamarin.Forms
Dotnetconf - Introduction to Xamarin and Xamarin.Forms
 
Android L and So Much More Webinar Slides
Android L and So Much More Webinar SlidesAndroid L and So Much More Webinar Slides
Android L and So Much More Webinar Slides
 
Xamarin: Introduction to iOS 8
Xamarin: Introduction to iOS 8Xamarin: Introduction to iOS 8
Xamarin: Introduction to iOS 8
 
Cross Platform Mobile Development with C# and Xamarin
Cross Platform Mobile Development with C# and XamarinCross Platform Mobile Development with C# and Xamarin
Cross Platform Mobile Development with C# and Xamarin
 
Accelerate Mobile Success with a Mobile Center of Excellence
Accelerate Mobile Success with a Mobile Center of ExcellenceAccelerate Mobile Success with a Mobile Center of Excellence
Accelerate Mobile Success with a Mobile Center of Excellence
 
Introducción a Xamarin utilizando MVVMCross
Introducción a Xamarin utilizando MVVMCrossIntroducción a Xamarin utilizando MVVMCross
Introducción a Xamarin utilizando MVVMCross
 
Hybris Mobile App SDK for Android
Hybris Mobile App SDK for AndroidHybris Mobile App SDK for Android
Hybris Mobile App SDK for Android
 
App Dynamics
App DynamicsApp Dynamics
App Dynamics
 
AppDynamics VS New Relic – The Complete Guide
AppDynamics VS New Relic – The Complete GuideAppDynamics VS New Relic – The Complete Guide
AppDynamics VS New Relic – The Complete Guide
 
Enhance WordPress Search Using Sphinx
Enhance WordPress Search Using SphinxEnhance WordPress Search Using Sphinx
Enhance WordPress Search Using Sphinx
 
Electronicdevices
ElectronicdevicesElectronicdevices
Electronicdevices
 
Mechanical projects
Mechanical projectsMechanical projects
Mechanical projects
 
Embedded projects
Embedded projectsEmbedded projects
Embedded projects
 
Instrumentation projects
Instrumentation projectsInstrumentation projects
Instrumentation projects
 
Being A Socially Responsible Social Developer: Mobile App Security
Being A Socially Responsible Social Developer: Mobile App SecurityBeing A Socially Responsible Social Developer: Mobile App Security
Being A Socially Responsible Social Developer: Mobile App Security
 
HomeCity Pathankot
HomeCity PathankotHomeCity Pathankot
HomeCity Pathankot
 
Power system projects
Power system projectsPower system projects
Power system projects
 

Semelhante a Cross Platform Mobile Development with Xamarin

Xamarin Mobile March 2014
Xamarin Mobile March 2014Xamarin Mobile March 2014
Xamarin Mobile March 2014
Joe Koletar
 

Semelhante a Cross Platform Mobile Development with Xamarin (20)

Xamarin Mobile March 2014
Xamarin Mobile March 2014Xamarin Mobile March 2014
Xamarin Mobile March 2014
 
MobileDev: panoramica sullo sviluppo Mobile e sulle possibili alternative .Net
 MobileDev: panoramica sullo sviluppo Mobile e sulle possibili alternative .Net MobileDev: panoramica sullo sviluppo Mobile e sulle possibili alternative .Net
MobileDev: panoramica sullo sviluppo Mobile e sulle possibili alternative .Net
 
Tcdnug xamarin
Tcdnug xamarinTcdnug xamarin
Tcdnug xamarin
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin Platform
 
Building Cross Platform Mobile Applications
Building Cross Platform Mobile ApplicationsBuilding Cross Platform Mobile Applications
Building Cross Platform Mobile Applications
 
App forum2015 London - RhoMobile Update
App forum2015 London - RhoMobile UpdateApp forum2015 London - RhoMobile Update
App forum2015 London - RhoMobile Update
 
State of Mobile Development
State of Mobile DevelopmentState of Mobile Development
State of Mobile Development
 
The Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App DevelopmentThe Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App Development
 
Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...
Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...
Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...
 
Cloud-connected apps with Visual Studio, Xamarin, and Azure
Cloud-connected apps with Visual Studio, Xamarin, and AzureCloud-connected apps with Visual Studio, Xamarin, and Azure
Cloud-connected apps with Visual Studio, Xamarin, and Azure
 
Which Mobile App Development Process Is Right for You: Native, Hybrid, or Cro...
Which Mobile App Development Process Is Right for You: Native, Hybrid, or Cro...Which Mobile App Development Process Is Right for You: Native, Hybrid, or Cro...
Which Mobile App Development Process Is Right for You: Native, Hybrid, or Cro...
 
Different Types of Websites _ XcelTec .pdf
Different Types of Websites _ XcelTec .pdfDifferent Types of Websites _ XcelTec .pdf
Different Types of Websites _ XcelTec .pdf
 
Nex g exuberant solutions
Nex g exuberant solutionsNex g exuberant solutions
Nex g exuberant solutions
 
Top 10 Android Frameworks for Modern.pdf
Top 10 Android Frameworks for Modern.pdfTop 10 Android Frameworks for Modern.pdf
Top 10 Android Frameworks for Modern.pdf
 
Xamarin Mobile App Development Features & Benefits.pdf
Xamarin Mobile App Development Features & Benefits.pdfXamarin Mobile App Development Features & Benefits.pdf
Xamarin Mobile App Development Features & Benefits.pdf
 
Cross-platform App Development Company
Cross-platform App Development CompanyCross-platform App Development Company
Cross-platform App Development Company
 
Why is xamarin the most popular framework for business app development
Why is xamarin the most popular framework for business app developmentWhy is xamarin the most popular framework for business app development
Why is xamarin the most popular framework for business app development
 
Mobility Trends | Customer Conversation Deck
Mobility Trends |  Customer Conversation DeckMobility Trends |  Customer Conversation Deck
Mobility Trends | Customer Conversation Deck
 
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
 
Xamarin the good, the bad and the ugly
Xamarin  the good, the bad and the uglyXamarin  the good, the bad and the ugly
Xamarin the good, the bad and the ugly
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Cross Platform Mobile Development with Xamarin

  • 1. Cross Platform Mobile Development with Xamarin C# on iOS and Android Joe Koletar – Mobile Solution Lead
  • 2. 2 RBA Technical services across the full Microsoft stack Microsoft National Systems Integrator Gold Certified Microsoft Partner 7 Gold Competencies 6 Silver Competencies Named Best Places to Work in the Twin Cities 5 times Joe Koletar Mobile Solution Lead joe.koletar@rbaconsulting.com Minnesota Enterprise Mobile November 2013
  • 3. Agenda 3 Mobile Space Cross Platform Tools Xamarin Background Xamarin Android Demo Xamarin iOS Demo Minnesota Enterprise Mobile November 2013
  • 4. 4 User Expectations 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 Minnesota Enterprise Mobile November 2013
  • 5. 5 Mobile OS Market Share Market share fracture and ongoing shift means there is no obvious, single choice. 3 % Windows 39 % iOS 52 % Android 5 % Blackberry Comscore, Top Smartphone platforms, ending April 2013 Minnesota Enterprise Mobile November 2013
  • 6. 6 Mobile Wish List Support multiple platforms - BYOD Provide a rich, native experience Get to market quickly Have an easily maintained code base Support future flexibility Do it at a reasonable cost Minnesota Enterprise Mobile November 2013
  • 7. 7 Mobile Objective How to develop applications to reach the broadest range of users in the most effective manner for the least cost Minnesota Enterprise Mobile November 2013
  • 8. 8 Understanding the Trade-Offs Performance and familiarity increase the closer to platform specific your app gets but so does cost and complexity. Cross-Platf orm Options Mobile Web Native Wrapper Interpreted Platform Specific Cross Compiled Value Minnesota Enterprise Mobile November 2013
  • 9. 9 Mobile Web Web site with a mobile customized UI • Detect user device and customize display to device form factor • Responsive Design Minnesota Enterprise Mobile November 2013
  • 10. Mobile Web 10 Users access the site from device browser Business/Data Code HTML 5/CSS/JavaScript Web Browser Web Browser Web Browser iOS Android Windows Phone Minnesota Enterprise Mobile November 2013
  • 11. Mobile Web 11 Cost Maintainability Performance User Experience Offline Capability Sensors Toolset Choices Minnesota Enterprise Mobile November 2013
  • 12. 12 Platform Specific Native application is written for each platform using platform specific IDE Minnesota Enterprise Mobile November 2013
  • 13. Platform Specific 13 Native application is written for each platform Objective C Java C# Native App Native App Native App iOS Android Windows Phone Minnesota Enterprise Mobile November 2013
  • 14. Platform Specific 14 Cost Maintainability Performance User Experience Offline Capability Sensors Toolset Choices Minnesota Enterprise Mobile November 2013
  • 15. 15 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. Minnesota Enterprise Mobile November 2013
  • 16. Native Wrapper 16 Web app is wrapped in device specific code Access to sensors is achieved through bridge HTML 5/CSS/JavaScript Web View Web View Web View Bridge Bridge Bridge Native API Native API Native API iOS Android Windows Phone Minnesota Enterprise Mobile November 2013
  • 17. Native Wrapper 17 Cost Maintainability Performance User Experience Offline Capability Sensors Toolset Choices Minnesota Enterprise Mobile November 2013
  • 18. 18 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 Minnesota Enterprise Mobile November 2013
  • 19. Interpreted 19 Application is written in scripting language Script proxies provide access to native widgets Script Script Script Script Interpreter Interpreter Interpreter Native API Native API Native API iOS Android Windows Phone Minnesota Enterprise Mobile November 2013
  • 21. 21 Cross Compiled Cross compiled applications map a common language to platform specific SDK Minnesota Enterprise Mobile November 2013
  • 22. Cross Compiled 22 Common business logic is combined with platform specific UI code into native app C# Business/Data Code C# iOS UI C# Android UI C# Win Phone UI Native App Native App Native App iOS Android Windows Phone Minnesota Enterprise Mobile November 2013
  • 23. Cross Compiled 23 Cost Maintainability Performance User Experience Offline Capability Sensors Toolset Choices Minnesota Enterprise Mobile November 2013
  • 24. Xamarin – What do you get 24 Allows programming C# to iOS and Android Access to .NET Base Libraries Full featured C# 5.0 support includes: −LINQ −Generics −Task Parallel Library −Lambdas −Async Minnesota Enterprise Mobile November 2013
  • 25. 25 Xamarin – How does it work Evolved from Mono project −Open source version of the .NET Runtime −Ported to various platforms C# bindings for nearly the entire underlying platform SDKs −UI code is platform specific −Supports native User Experience −Also imposes a learning curve Minnesota Enterprise Mobile November 2013
  • 26. 26 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 Minnesota Enterprise Mobile November 2013
  • 27. Xamarin – Demo 27 Android • Hello, World • Tasky Pro iOS • Hello, World • Field Service App Minnesota Enterprise Mobile November 2013
  • 28. Tasky Pro Architecture 28 iOS App Shared Code Data Layer Data Access Layer TaskDatabase Business Layer TaskManager Application Layer UI Layer Xamarin.iOS assemblies TaskRepository SQLLite System, System.Core, System.Xml Task Android App Application Layer UI Layer Xamarin.Android assemblies Minnesota Enterprise Mobile November 2013
  • 29. 29 Xamarin – Licenses 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 Minnesota Enterprise Mobile November 2013
  • 30. Links 30 Xamarin Store https://store.xamarin.com/ Xamarin Tutorials and Help http://docs.xamarin.com/ http://forums.xamarin.com/ YouTube Xamarin Channel http://www.youtube.com/user/xamarinhq Minnesota Enterprise Mobile November 2013
  • 31. 31 More Links Tasky Pro Source Code https://github.com/xamarin/mobilesamples/tree/master/TaskyPro Tasky Pro Case Study http://docs.xamarin.com/Android/Guides/Applica tion_Fundamentals/Building_Cross_Platform_A pplications/Case_Study%3A_Tasky Field Service App http://xamarin.com/prebuilt/fieldservice Minnesota Enterprise Mobile November 2013

Notas do Editor

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