SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Cross Platform Development with Xamarin
Cross Platform Development with XamarinCross Platform Development with Xamarin
Cross Platform Development with XamarinXpand IT
 
Say hello to Xamarin 3
Say hello to Xamarin 3Say hello to Xamarin 3
Say hello to Xamarin 3Xamarin
 
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 StudioXamarin
 
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 XamarinXamarin
 
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 StudioXamarin
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to XamarinBrian Anderson
 
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 developmentGill Cleeren
 
Flying High with Xamarin
Flying High with XamarinFlying High with Xamarin
Flying High with XamarinSam Basu
 
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 XamarinXamarin
 
Mobile Banking Apps with Xamarin
Mobile Banking Apps with XamarinMobile Banking Apps with Xamarin
Mobile Banking Apps with XamarinXpand IT
 
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 4Xamarin
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin PlatformRui Marinho
 
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...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 Xamarindanhermes
 
Developing with Google Glass and Xamarin
Developing with Google Glass and XamarinDeveloping with Google Glass and Xamarin
Developing with Google Glass and XamarinXamarin
 
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 xamarinLuca Zulian
 
How Xamarin Is Revolutionizing Mobile Development
How Xamarin Is Revolutionizing Mobile DevelopmentHow Xamarin Is Revolutionizing Mobile Development
How Xamarin Is Revolutionizing Mobile DevelopmentMentorMate
 

Was ist angesagt? (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
 

Andere mochten auch

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 XamarinXamarin
 
Building Your First Xamarin.Forms App
Building Your First Xamarin.Forms AppBuilding Your First Xamarin.Forms App
Building Your First Xamarin.Forms AppXamarin
 
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.FormsJames Montemagno
 
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 SlidesXamarin
 
Xamarin: Introduction to iOS 8
Xamarin: Introduction to iOS 8Xamarin: Introduction to iOS 8
Xamarin: Introduction to iOS 8Xamarin
 
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 XamarinKMS Technology
 
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 ExcellenceXamarin
 
Introducción a Xamarin utilizando MVVMCross
Introducción a Xamarin utilizando MVVMCrossIntroducción a Xamarin utilizando MVVMCross
Introducción a Xamarin utilizando MVVMCrossJavier Suárez Ruiz
 
Hybris Mobile App SDK for Android
Hybris Mobile App SDK for AndroidHybris Mobile App SDK for Android
Hybris Mobile App SDK for AndroidYasser OUAFTOUH
 
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 GuideTakipi
 
Enhance WordPress Search Using Sphinx
Enhance WordPress Search Using SphinxEnhance WordPress Search Using Sphinx
Enhance WordPress Search Using SphinxRoshan Bhattarai
 
Instrumentation projects
Instrumentation projectsInstrumentation projects
Instrumentation projectsSenthil Kumar
 
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 SecurityDoug Sillars
 
HomeCity Pathankot
HomeCity PathankotHomeCity Pathankot
HomeCity Pathankothomecity
 
Power system projects
Power system projectsPower system projects
Power system projectsSenthil Kumar
 

Andere mochten auch (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
 

Ähnlich wie Cross Platform Mobile Development with Xamarin

Xamarin Mobile March 2014
Xamarin Mobile March 2014Xamarin Mobile March 2014
Xamarin Mobile March 2014Joe Koletar
 
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 .NetJOULEHUB GMBH
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin PlatformLiddle Fang
 
App forum2015 London - RhoMobile Update
App forum2015 London - RhoMobile UpdateApp forum2015 London - RhoMobile Update
App forum2015 London - RhoMobile Updaterobgalvinjr
 
State of Mobile Development
State of Mobile DevelopmentState of Mobile Development
State of Mobile DevelopmentSam Basu
 
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 DevelopmentNick Landry
 
Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...
Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...
Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...Artjoker
 
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 AzureMicrosoft Tech Community
 
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...SoftLabNY
 
Different Types of Websites _ XcelTec .pdf
Different Types of Websites _ XcelTec .pdfDifferent Types of Websites _ XcelTec .pdf
Different Types of Websites _ XcelTec .pdfXcelTec
 
Nex g exuberant solutions
Nex g exuberant solutionsNex g exuberant solutions
Nex g exuberant solutionsmichal philips
 
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.pdfsuryamahathi1
 
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.pdfFuGenx Technologies
 
Cross-platform App Development Company
Cross-platform App Development CompanyCross-platform App Development Company
Cross-platform App Development CompanyThe NineHertz
 
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 developmentFullestop
 
Mobility Trends | Customer Conversation Deck
Mobility Trends |  Customer Conversation DeckMobility Trends |  Customer Conversation Deck
Mobility Trends | Customer Conversation DeckSagar Mody
 
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...ReformedTech
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 

Kürzlich hochgeladen (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 

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

Hinweis der Redaktion

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