SlideShare a Scribd company logo
1 of 28
CROSS PLATFORM DEVELOPMENT
WITH XAMARIN TOOLS
Joe Koletar
Mobile Solution Lead - Application Development
RBA
       Microsoft National Systems Integrator
       Gold Certified Microsoft Partner
           7 Gold Competencies
           6 Silver Competencies
       Named Best Places to Work in the
       Twin Cities 4 times
       Xamarin Premier Partner


                                           Joe Koletar
                                           Mobile Solutions Lead
                                           joe.koletar@rbaconsulting.com

P:2    CROSS PLATFORM MOBILE DEVELOPMENT
MOBILE DEVICE OPPORTUNITY

       Opportunity
       – Mobile devices present an opportunity to reach users
         where its most convenient
         • Business to Consumer (B2C) Applications
         • Business to Business (B2B) Applications
       Challenge
       – How to develop applications to reach the broadest
         range of users in the most effective manner possible
         for the least cost




P:3    CROSS PLATFORM MOBILE DEVELOPMENT
CROSS PLATFORM TOOL OPTIONS

       There are a spectrum of technology options to
       provide cross platform support for enterprise apps

                               Cross Platform Solutions

         Mobile          Native                      Cross
                                      Interpreted              Native
          Web           Wrapper                     Compiled




P:4    CROSS PLATFORM MOBILE DEVELOPMENT
MOBILE WEB
      Definition

        Web site with a mobile customized UI
        – Detect user device and customize display to device
          form factor
          • Responsive Design
        – HTML 5 encourages a common browser experience
          and provides some offline support




P:5     CROSS PLATFORM MOBILE DEVELOPMENT
MOBILE WEB
      How it works

       Users access web site from device browser
                                   Business/Data Code

                                 HTML5/CSS/JavaScript




            Web Browser               Web Browser        Web Browser


                 iOS                        Android     Windows Phone

P:6     CROSS PLATFORM MOBILE DEVELOPMENT
MOBILE WEB

Cost

Maintainability

Performance

User Experience

Offline Capability

Sensors

Toolset Choices



P:7    CROSS PLATFORM MOBILE DEVELOPMENT
NATIVE APP
      Definition

        Native App is written custom for each device




P:8     CROSS PLATFORM MOBILE DEVELOPMENT
NATIVE APP
      How it works

       Native App is written custom for each platform

           Objective C                       Java          C#




            Native App                  Native App      Native App


                iOS                         Android   Windows Phone



P:9     CROSS PLATFORM MOBILE DEVELOPMENT
NATIVE APP

 Cost

 Maintainability

 Performance

 User Experience

 Offline Capability

 Sensors

 Toolset Choices



P:10     CROSS PLATFORM MOBILE DEVELOPMENT
NATIVE WRAPPER
       Definition

         Web App is wrapped in device specific code to
         run as a Native App
         – Web app is hosted in a chromeless browser window.




P:11     CROSS PLATFORM MOBILE DEVELOPMENT
NATIVE WRAPPER
       How it works

        Web App is wrapped in device specific code
        – Access to sensors is achieved through a bridge

                                 HTML5/CSS/JavaScript




              Web View                  Web View          Web View

                Bridge                   Bridge            Bridge


              Native API               Native API         Native API
                 iOS                     Android        Windows Phone


P:12     CROSS PLATFORM MOBILE DEVELOPMENT
NATIVE WRAPPER

 Cost

 Maintainability

 Performance

 User Experience

 Offline Capability

 Sensors

 Toolset Choices



P:13    CROSS PLATFORM MOBILE DEVELOPMENT
INTERPRETED
       Definition

         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




P:14     CROSS PLATFORM MOBILE DEVELOPMENT
INTERPRETED
       How it works

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




                 Script                      Script        Script

               Interpreter               Interpreter     Interpreter


               Native API                Native API      Native API
                  iOS                        Android   Windows Phone

P:15     CROSS PLATFORM MOBILE DEVELOPMENT
INTERPRETED

 Cost

 Maintainability

 Performance

 User Experience

 Offline Capability

 Sensors

 Toolset Choices



P:16    CROSS PLATFORM MOBILE DEVELOPMENT
CROSS COMPILED
       Definition

         Cross compiled applications map a common
         language to platform specific languages




P:17     CROSS PLATFORM MOBILE DEVELOPMENT
CROSS COMPILED
       How it works

        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

P:18     CROSS PLATFORM MOBILE DEVELOPMENT
CROSS COMPILED

 Cost

 Maintainability

 Performance

 User Experience

 Offline Capability

 Sensors

 Toolset Choices



P:19    CROSS PLATFORM MOBILE DEVELOPMENT
XAMARIN TOOLS – A DEEPER LOOK

        Allows programming C# to iOS and Android
        – Access to .NET Base Libraries
        – Full featured language support:
          • LINQ
          • Generics
          • Task Parallel Library
          • Lambdas
        – C# 5.0 support targeted for March
          • Async feature
        C# bindings for nearly the entire underlying
        platform SDKs
        – UI code is platform specific
        – Supports native User Experience
        – Also imposes a learning curve

P:20    XAMARIN TOOLS
XAMARIN – HOW IT WORKS

        Built on top of Mono
         Open source version of the .NET Framework
         Ported to numerous platforms
        On Android, Xamarin’s compiler compiles down
        to Intermediate Language (IL), which is
        then Just-in-Time (JIT) compiled to native
        assembly when the application launches.
        On iOS, Xamarin’s Ahead-of-Time (AOT)
        compiler compiles Xamarin.iOS applications
        directly to native ARM assembly code.


P:21    XAMARIN TOOLS
XAMARIN PRODUCTS

        Mono for Android
        – Targets Android platform
        – Can code in either Visual Studio or MonoDevelop
        MonoTouch
        – Targets iOS platform
        – Requires Macintosh computer running at least OSX Lion
        – Can code in MonoDevelop
        Free Trial versions do not support deployment to
        device
        – Must perform testing in an emulator/simulator




P:22    XAMARIN TOOLS
XAMARIN DEMO




P:23    XAMARIN TOOLS
ANDROID LAYOUT




P:24    XAMARIN TOOLS
XAMARIN ARCHITECTURE

        TaskyPro Architecture across platforms




P:25    XAMARIN TOOLS
XAMARIN LINKS
        Download trial software at:
        – http://xamarin.com/trial
        TaskyPro Source Code
        – https://github.com/xamarin/mobile-samples/tree/master/TaskyPro
        TaskyPro Case Study
        – http://docs.xamarin.com/Android/Guides/Application_Fundamentals/B
          uilding_Cross_Platform_Applications/Case_Study%3A_Tasky
        Numerous tutorials available at Xamarin Dev Center
        – http://docs.xamarin.com/
        – http://forums.xamarin.com/
        YouTube Xamarin Channel
        – http://www.youtube.com/user/xamarinhq
        X86 Emulator install instructions
        – http://docs.xamarin.com/Android/Guides/Deployment,_Testing,_and_Metrics/Confi
          guring_the_x86_Emulator




P:26     XAMARIN TOOLS
MOBILE TOOLS SELECTION
       Considerations

        Your mobile technology is a vital strategic
        selection
        – Must consider immediate and future needs
        – Assess skills needed to build and maintain
        – Determine best fit for the application




P:27     CROSS PLATFORM MOBILE DEVELOPMENT
CLOSING

        Questions
        Giveaways




P:28    CROSS PLATFORM MOBILE DEVELOPMENT

More Related Content

What's hot

Camerjam mobile marketing masterclass 12snap
Camerjam mobile marketing masterclass 12snapCamerjam mobile marketing masterclass 12snap
Camerjam mobile marketing masterclass 12snapJames Cameron
 
Mobile Developer's Guide To The Galaxy Edition 2
Mobile Developer's Guide To The Galaxy Edition 2Mobile Developer's Guide To The Galaxy Edition 2
Mobile Developer's Guide To The Galaxy Edition 2Avenga Germany GmbH
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikMukteswar Patnaik
 
Mobile Developers Guide To The Galaxy Vol.6
Mobile Developers Guide To The Galaxy Vol.6Mobile Developers Guide To The Galaxy Vol.6
Mobile Developers Guide To The Galaxy Vol.6Marco Tabor
 
AIR Mobile Application Development: Package, Building, Design & Skinning
AIR Mobile Application Development: Package, Building, Design & SkinningAIR Mobile Application Development: Package, Building, Design & Skinning
AIR Mobile Application Development: Package, Building, Design & SkinningRenaun Erickson
 
Cross platform mobile app development tools review
Cross platform mobile app development tools reviewCross platform mobile app development tools review
Cross platform mobile app development tools reviewUday Kothari
 
Cross platform mobile application development
Cross platform mobile application developmentCross platform mobile application development
Cross platform mobile application developmentwebprogr.com
 
IRJET- Cross Platform User Compatible System with Specific Application
IRJET- Cross Platform User Compatible System with Specific ApplicationIRJET- Cross Platform User Compatible System with Specific Application
IRJET- Cross Platform User Compatible System with Specific ApplicationIRJET Journal
 
Synapse india reviews on asp.net mobile application
Synapse india reviews on asp.net mobile applicationSynapse india reviews on asp.net mobile application
Synapse india reviews on asp.net mobile applicationsaritasingh19866
 
Hybrid Approach to extend your Web Apps to Tablets & Smartphones- Impetus Web...
Hybrid Approach to extend your Web Apps to Tablets & Smartphones- Impetus Web...Hybrid Approach to extend your Web Apps to Tablets & Smartphones- Impetus Web...
Hybrid Approach to extend your Web Apps to Tablets & Smartphones- Impetus Web...Impetus Technologies
 
Developing cross platforms mobile applications using the Apache Cordova
Developing cross platforms mobile applications using the Apache CordovaDeveloping cross platforms mobile applications using the Apache Cordova
Developing cross platforms mobile applications using the Apache CordovaMahmoud Tolba
 
Xamarin in real life: our MVP approach - Daniele Leombruni Antonino Cacace - ...
Xamarin in real life: our MVP approach - Daniele Leombruni Antonino Cacace - ...Xamarin in real life: our MVP approach - Daniele Leombruni Antonino Cacace - ...
Xamarin in real life: our MVP approach - Daniele Leombruni Antonino Cacace - ...Codemotion
 
Cross Platform Development with Xamarin
Cross Platform Development with XamarinCross Platform Development with Xamarin
Cross Platform Development with Xamarinbryan costanich
 
Blackberry 101 - Day of Mobile, March 2010
Blackberry 101 - Day of Mobile, March 2010Blackberry 101 - Day of Mobile, March 2010
Blackberry 101 - Day of Mobile, March 2010Cory Foy
 
Shoukry Kattan - Titanium Mobile. Cross Platform Mobile Apps
Shoukry Kattan - Titanium Mobile. Cross Platform Mobile AppsShoukry Kattan - Titanium Mobile. Cross Platform Mobile Apps
Shoukry Kattan - Titanium Mobile. Cross Platform Mobile Apps#DevTO
 
Cross Platform Mobile Dev with C# and Xamarin (CapArea.NET User Group 5/27/14)
Cross Platform Mobile Dev with C# and Xamarin (CapArea.NET User Group 5/27/14)Cross Platform Mobile Dev with C# and Xamarin (CapArea.NET User Group 5/27/14)
Cross Platform Mobile Dev with C# and Xamarin (CapArea.NET User Group 5/27/14)Ed Snider
 

What's hot (20)

Camerjam mobile marketing masterclass 12snap
Camerjam mobile marketing masterclass 12snapCamerjam mobile marketing masterclass 12snap
Camerjam mobile marketing masterclass 12snap
 
Mobile Developer's Guide To The Galaxy Edition 2
Mobile Developer's Guide To The Galaxy Edition 2Mobile Developer's Guide To The Galaxy Edition 2
Mobile Developer's Guide To The Galaxy Edition 2
 
Bharani PrasadVS_CV
Bharani PrasadVS_CVBharani PrasadVS_CV
Bharani PrasadVS_CV
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar Patnaik
 
Mobile development
Mobile development Mobile development
Mobile development
 
Mobile Developers Guide To The Galaxy Vol.6
Mobile Developers Guide To The Galaxy Vol.6Mobile Developers Guide To The Galaxy Vol.6
Mobile Developers Guide To The Galaxy Vol.6
 
AIR Mobile Application Development: Package, Building, Design & Skinning
AIR Mobile Application Development: Package, Building, Design & SkinningAIR Mobile Application Development: Package, Building, Design & Skinning
AIR Mobile Application Development: Package, Building, Design & Skinning
 
Cross platform mobile app development tools review
Cross platform mobile app development tools reviewCross platform mobile app development tools review
Cross platform mobile app development tools review
 
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
 
Cross platform mobile application development
Cross platform mobile application developmentCross platform mobile application development
Cross platform mobile application development
 
IRJET- Cross Platform User Compatible System with Specific Application
IRJET- Cross Platform User Compatible System with Specific ApplicationIRJET- Cross Platform User Compatible System with Specific Application
IRJET- Cross Platform User Compatible System with Specific Application
 
Hybrid Mobile App
Hybrid Mobile AppHybrid Mobile App
Hybrid Mobile App
 
Synapse india reviews on asp.net mobile application
Synapse india reviews on asp.net mobile applicationSynapse india reviews on asp.net mobile application
Synapse india reviews on asp.net mobile application
 
Hybrid Approach to extend your Web Apps to Tablets & Smartphones- Impetus Web...
Hybrid Approach to extend your Web Apps to Tablets & Smartphones- Impetus Web...Hybrid Approach to extend your Web Apps to Tablets & Smartphones- Impetus Web...
Hybrid Approach to extend your Web Apps to Tablets & Smartphones- Impetus Web...
 
Developing cross platforms mobile applications using the Apache Cordova
Developing cross platforms mobile applications using the Apache CordovaDeveloping cross platforms mobile applications using the Apache Cordova
Developing cross platforms mobile applications using the Apache Cordova
 
Xamarin in real life: our MVP approach - Daniele Leombruni Antonino Cacace - ...
Xamarin in real life: our MVP approach - Daniele Leombruni Antonino Cacace - ...Xamarin in real life: our MVP approach - Daniele Leombruni Antonino Cacace - ...
Xamarin in real life: our MVP approach - Daniele Leombruni Antonino Cacace - ...
 
Cross Platform Development with Xamarin
Cross Platform Development with XamarinCross Platform Development with Xamarin
Cross Platform Development with Xamarin
 
Blackberry 101 - Day of Mobile, March 2010
Blackberry 101 - Day of Mobile, March 2010Blackberry 101 - Day of Mobile, March 2010
Blackberry 101 - Day of Mobile, March 2010
 
Shoukry Kattan - Titanium Mobile. Cross Platform Mobile Apps
Shoukry Kattan - Titanium Mobile. Cross Platform Mobile AppsShoukry Kattan - Titanium Mobile. Cross Platform Mobile Apps
Shoukry Kattan - Titanium Mobile. Cross Platform Mobile Apps
 
Cross Platform Mobile Dev with C# and Xamarin (CapArea.NET User Group 5/27/14)
Cross Platform Mobile Dev with C# and Xamarin (CapArea.NET User Group 5/27/14)Cross Platform Mobile Dev with C# and Xamarin (CapArea.NET User Group 5/27/14)
Cross Platform Mobile Dev with C# and Xamarin (CapArea.NET User Group 5/27/14)
 

Viewers also liked

The Social Challenge of 1.5°C Webinar: Frank Biermann
The Social Challenge of 1.5°C Webinar: Frank BiermannThe Social Challenge of 1.5°C Webinar: Frank Biermann
The Social Challenge of 1.5°C Webinar: Frank Biermanntewksjj
 
Сомниум Нетворк-Новая презентация!
Сомниум Нетворк-Новая презентация!Сомниум Нетворк-Новая презентация!
Сомниум Нетворк-Новая презентация!onlinesarabotok
 
Legalização casamento homoafetivo 2015
Legalização casamento homoafetivo   2015Legalização casamento homoafetivo   2015
Legalização casamento homoafetivo 2015Bianca Fabianowicz
 
what is Blubbr? and how to use it?
what is Blubbr? and how to use it?what is Blubbr? and how to use it?
what is Blubbr? and how to use it?Jihane Balsheh
 
めとべや東京#7セッション資料(公開用)
めとべや東京#7セッション資料(公開用)めとべや東京#7セッション資料(公開用)
めとべや東京#7セッション資料(公開用)OD-10Z Midorikawa
 
Embedded based water purification system - Electronics Projects
Embedded based water purification system - Electronics ProjectsEmbedded based water purification system - Electronics Projects
Embedded based water purification system - Electronics ProjectsSenthil Kumar
 

Viewers also liked (12)

The Social Challenge of 1.5°C Webinar: Frank Biermann
The Social Challenge of 1.5°C Webinar: Frank BiermannThe Social Challenge of 1.5°C Webinar: Frank Biermann
The Social Challenge of 1.5°C Webinar: Frank Biermann
 
Mechanical projects
Mechanical projectsMechanical projects
Mechanical projects
 
Electronics
ElectronicsElectronics
Electronics
 
Derma
DermaDerma
Derma
 
Qualidade em Sac 2.0
Qualidade em Sac 2.0Qualidade em Sac 2.0
Qualidade em Sac 2.0
 
Сомниум Нетворк-Новая презентация!
Сомниум Нетворк-Новая презентация!Сомниум Нетворк-Новая презентация!
Сомниум Нетворк-Новая презентация!
 
Legalização casamento homoafetivo 2015
Legalização casamento homoafetivo   2015Legalização casamento homoafetivo   2015
Legalização casamento homoafetivo 2015
 
what is Blubbr? and how to use it?
what is Blubbr? and how to use it?what is Blubbr? and how to use it?
what is Blubbr? and how to use it?
 
Physical Playlist
Physical PlaylistPhysical Playlist
Physical Playlist
 
めとべや東京#7セッション資料(公開用)
めとべや東京#7セッション資料(公開用)めとべや東京#7セッション資料(公開用)
めとべや東京#7セッション資料(公開用)
 
Embedded based water purification system - Electronics Projects
Embedded based water purification system - Electronics ProjectsEmbedded based water purification system - Electronics Projects
Embedded based water purification system - Electronics Projects
 
Drgorad.RM
Drgorad.RM Drgorad.RM
Drgorad.RM
 

Similar to Cross Platform Development with Xamarin Tools

Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...
Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...
Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...Artjoker
 
Cross-platform App Development Company
Cross-platform App Development CompanyCross-platform App Development Company
Cross-platform App Development CompanyThe NineHertz
 
Building Native Smartphone Apps with Rhodes
Building Native Smartphone Apps with RhodesBuilding Native Smartphone Apps with Rhodes
Building Native Smartphone Apps with RhodesAdam Blum
 
Cross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with XamarinCross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with XamarinJoe Koletar
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin PlatformLiddle Fang
 
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)Mark Radacz
 
Cross platform apps using Xamarin
Cross platform apps using XamarinCross platform apps using Xamarin
Cross platform apps using Xamarineduquer
 
Apps development for mobile devices
Apps development for mobile devicesApps development for mobile devices
Apps development for mobile devicesrdresler
 
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
 
App forum2015 London - RhoMobile Update
App forum2015 London - RhoMobile UpdateApp forum2015 London - RhoMobile Update
App forum2015 London - RhoMobile Updaterobgalvinjr
 
Xamarin cross platform
Xamarin cross platformXamarin cross platform
Xamarin cross platformGuada Casuso
 
Best cross-platform mobile app development tools
Best cross-platform mobile app development tools Best cross-platform mobile app development tools
Best cross-platform mobile app development tools Sankalp
 
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
 
Trending mobile application Development
Trending mobile application DevelopmentTrending mobile application Development
Trending mobile application DevelopmentPraveen Kumar A G
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile DevelopmentIntergen
 
TK2323 Lecture 1 - Introduction to Mobile Application.pdf
TK2323 Lecture 1 - Introduction to Mobile Application.pdfTK2323 Lecture 1 - Introduction to Mobile Application.pdf
TK2323 Lecture 1 - Introduction to Mobile Application.pdfLam Chun
 
Comparisons react native vs. flutter vs. ionic vs. xamarin vs. native script
Comparisons  react native vs. flutter vs. ionic vs. xamarin vs. native scriptComparisons  react native vs. flutter vs. ionic vs. xamarin vs. native script
Comparisons react native vs. flutter vs. ionic vs. xamarin vs. native scriptMoonTechnolabsPvtLtd
 
Top 3 cross platform app development frameworks for 2022
Top 3 cross platform app development frameworks for 2022Top 3 cross platform app development frameworks for 2022
Top 3 cross platform app development frameworks for 2022SortdMediology
 

Similar to Cross Platform Development with Xamarin Tools (20)

Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...
Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...
Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...
 
Cross-platform App Development Company
Cross-platform App Development CompanyCross-platform App Development Company
Cross-platform App Development Company
 
Building Native Smartphone Apps with Rhodes
Building Native Smartphone Apps with RhodesBuilding Native Smartphone Apps with Rhodes
Building Native Smartphone Apps with Rhodes
 
Cross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with XamarinCross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with Xamarin
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin Platform
 
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
 
Cross platform apps using Xamarin
Cross platform apps using XamarinCross platform apps using Xamarin
Cross platform apps using Xamarin
 
Apps development for mobile devices
Apps development for mobile devicesApps development for mobile devices
Apps development for mobile devices
 
Hybridapp
HybridappHybridapp
Hybridapp
 
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
 
App forum2015 London - RhoMobile Update
App forum2015 London - RhoMobile UpdateApp forum2015 London - RhoMobile Update
App forum2015 London - RhoMobile Update
 
Xamarin cross platform
Xamarin cross platformXamarin cross platform
Xamarin cross platform
 
Best cross-platform mobile app development tools
Best cross-platform mobile app development tools Best cross-platform mobile app development tools
Best cross-platform mobile app development tools
 
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
 
Rhodes vs Phonegap
Rhodes vs PhonegapRhodes vs Phonegap
Rhodes vs Phonegap
 
Trending mobile application Development
Trending mobile application DevelopmentTrending mobile application Development
Trending mobile application Development
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
 
TK2323 Lecture 1 - Introduction to Mobile Application.pdf
TK2323 Lecture 1 - Introduction to Mobile Application.pdfTK2323 Lecture 1 - Introduction to Mobile Application.pdf
TK2323 Lecture 1 - Introduction to Mobile Application.pdf
 
Comparisons react native vs. flutter vs. ionic vs. xamarin vs. native script
Comparisons  react native vs. flutter vs. ionic vs. xamarin vs. native scriptComparisons  react native vs. flutter vs. ionic vs. xamarin vs. native script
Comparisons react native vs. flutter vs. ionic vs. xamarin vs. native script
 
Top 3 cross platform app development frameworks for 2022
Top 3 cross platform app development frameworks for 2022Top 3 cross platform app development frameworks for 2022
Top 3 cross platform app development frameworks for 2022
 

Cross Platform Development with Xamarin Tools

  • 1. CROSS PLATFORM DEVELOPMENT WITH XAMARIN TOOLS Joe Koletar Mobile Solution Lead - Application Development
  • 2. RBA Microsoft National Systems Integrator Gold Certified Microsoft Partner 7 Gold Competencies 6 Silver Competencies Named Best Places to Work in the Twin Cities 4 times Xamarin Premier Partner Joe Koletar Mobile Solutions Lead joe.koletar@rbaconsulting.com P:2 CROSS PLATFORM MOBILE DEVELOPMENT
  • 3. MOBILE DEVICE OPPORTUNITY Opportunity – Mobile devices present an opportunity to reach users where its most convenient • Business to Consumer (B2C) Applications • Business to Business (B2B) Applications Challenge – How to develop applications to reach the broadest range of users in the most effective manner possible for the least cost P:3 CROSS PLATFORM MOBILE DEVELOPMENT
  • 4. CROSS PLATFORM TOOL OPTIONS There are a spectrum of technology options to provide cross platform support for enterprise apps Cross Platform Solutions Mobile Native Cross Interpreted Native Web Wrapper Compiled P:4 CROSS PLATFORM MOBILE DEVELOPMENT
  • 5. MOBILE WEB Definition Web site with a mobile customized UI – Detect user device and customize display to device form factor • Responsive Design – HTML 5 encourages a common browser experience and provides some offline support P:5 CROSS PLATFORM MOBILE DEVELOPMENT
  • 6. MOBILE WEB How it works Users access web site from device browser Business/Data Code HTML5/CSS/JavaScript Web Browser Web Browser Web Browser iOS Android Windows Phone P:6 CROSS PLATFORM MOBILE DEVELOPMENT
  • 7. MOBILE WEB Cost Maintainability Performance User Experience Offline Capability Sensors Toolset Choices P:7 CROSS PLATFORM MOBILE DEVELOPMENT
  • 8. NATIVE APP Definition Native App is written custom for each device P:8 CROSS PLATFORM MOBILE DEVELOPMENT
  • 9. NATIVE APP How it works Native App is written custom for each platform Objective C Java C# Native App Native App Native App iOS Android Windows Phone P:9 CROSS PLATFORM MOBILE DEVELOPMENT
  • 10. NATIVE APP Cost Maintainability Performance User Experience Offline Capability Sensors Toolset Choices P:10 CROSS PLATFORM MOBILE DEVELOPMENT
  • 11. NATIVE WRAPPER Definition Web App is wrapped in device specific code to run as a Native App – Web app is hosted in a chromeless browser window. P:11 CROSS PLATFORM MOBILE DEVELOPMENT
  • 12. NATIVE WRAPPER How it works Web App is wrapped in device specific code – Access to sensors is achieved through a bridge HTML5/CSS/JavaScript Web View Web View Web View Bridge Bridge Bridge Native API Native API Native API iOS Android Windows Phone P:12 CROSS PLATFORM MOBILE DEVELOPMENT
  • 13. NATIVE WRAPPER Cost Maintainability Performance User Experience Offline Capability Sensors Toolset Choices P:13 CROSS PLATFORM MOBILE DEVELOPMENT
  • 14. INTERPRETED Definition 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 P:14 CROSS PLATFORM MOBILE DEVELOPMENT
  • 15. INTERPRETED How it works Application is written in scripting language Script proxies provide access to native widgets JavaScript Script Script Script Interpreter Interpreter Interpreter Native API Native API Native API iOS Android Windows Phone P:15 CROSS PLATFORM MOBILE DEVELOPMENT
  • 16. INTERPRETED Cost Maintainability Performance User Experience Offline Capability Sensors Toolset Choices P:16 CROSS PLATFORM MOBILE DEVELOPMENT
  • 17. CROSS COMPILED Definition Cross compiled applications map a common language to platform specific languages P:17 CROSS PLATFORM MOBILE DEVELOPMENT
  • 18. CROSS COMPILED How it works 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 P:18 CROSS PLATFORM MOBILE DEVELOPMENT
  • 19. CROSS COMPILED Cost Maintainability Performance User Experience Offline Capability Sensors Toolset Choices P:19 CROSS PLATFORM MOBILE DEVELOPMENT
  • 20. XAMARIN TOOLS – A DEEPER LOOK Allows programming C# to iOS and Android – Access to .NET Base Libraries – Full featured language support: • LINQ • Generics • Task Parallel Library • Lambdas – C# 5.0 support targeted for March • Async feature C# bindings for nearly the entire underlying platform SDKs – UI code is platform specific – Supports native User Experience – Also imposes a learning curve P:20 XAMARIN TOOLS
  • 21. XAMARIN – HOW IT WORKS Built on top of Mono Open source version of the .NET Framework Ported to numerous platforms On Android, Xamarin’s compiler compiles down to Intermediate Language (IL), which is then Just-in-Time (JIT) compiled to native assembly when the application launches. On iOS, Xamarin’s Ahead-of-Time (AOT) compiler compiles Xamarin.iOS applications directly to native ARM assembly code. P:21 XAMARIN TOOLS
  • 22. XAMARIN PRODUCTS Mono for Android – Targets Android platform – Can code in either Visual Studio or MonoDevelop MonoTouch – Targets iOS platform – Requires Macintosh computer running at least OSX Lion – Can code in MonoDevelop Free Trial versions do not support deployment to device – Must perform testing in an emulator/simulator P:22 XAMARIN TOOLS
  • 23. XAMARIN DEMO P:23 XAMARIN TOOLS
  • 24. ANDROID LAYOUT P:24 XAMARIN TOOLS
  • 25. XAMARIN ARCHITECTURE TaskyPro Architecture across platforms P:25 XAMARIN TOOLS
  • 26. XAMARIN LINKS Download trial software at: – http://xamarin.com/trial TaskyPro Source Code – https://github.com/xamarin/mobile-samples/tree/master/TaskyPro TaskyPro Case Study – http://docs.xamarin.com/Android/Guides/Application_Fundamentals/B uilding_Cross_Platform_Applications/Case_Study%3A_Tasky Numerous tutorials available at Xamarin Dev Center – http://docs.xamarin.com/ – http://forums.xamarin.com/ YouTube Xamarin Channel – http://www.youtube.com/user/xamarinhq X86 Emulator install instructions – http://docs.xamarin.com/Android/Guides/Deployment,_Testing,_and_Metrics/Confi guring_the_x86_Emulator P:26 XAMARIN TOOLS
  • 27. MOBILE TOOLS SELECTION Considerations Your mobile technology is a vital strategic selection – Must consider immediate and future needs – Assess skills needed to build and maintain – Determine best fit for the application P:27 CROSS PLATFORM MOBILE DEVELOPMENT
  • 28. CLOSING Questions Giveaways P:28 CROSS PLATFORM MOBILE DEVELOPMENT

Editor's Notes

  1. Presentation has 4 partsSurvey of cross platform options – give Xamarin contextHow Xamarin worksAndroid demoiOS demoGiveaways
  2. Note that this is mostly my own taxonomy
  3. AdvantagesLowest costOnly need to write it onceVery device agnosticNo need to install or provisionFamiliar toolset – HTML5, CSS, JavaScriptBusiness logic can be in more robust languageDisadvantagesDoesn’t handle disconnected experience wellNot in App StoreLeast compelling UI (lowest common denominator)Varying browser support HTML 5 standardsLimited device sensor integrationShallow Experience“Delivering a rich, immersive, transformative mobile experience has become the de facto requirement to ensure wide adoption and success.”Appcelerator Q1 2013 Mobile Enterprise Report
  4. AdvantagesCan be tailored to each deviceSupports disconnected experienceMost flexible sensor integrationAccess to latest APIsBest performanceDeep experienceDisadvantagesExpensiveMust be coded and maintained for each environmentRequires a variety of developer toolsetsLeading platform changes frequently
  5. AdvantagesMust be coded only onceSupports disconnected experienceSupports sensor integration via wrapping APIAbility to use familiar toolsetDisadvantagesLeast compelling UIComplex logic in JavaScriptPerformance can be an issue
  6. Titanium Appcelerator provides a JavaScript implementation of the Android and iOS APIRhoMobile provides a Ruby implementation of the Android, iOS, Windows phone API and others
  7. AdvantagesMust be coded only onceSupports disconnected experienceSupports sensor integration via InterpreterAbility to use common languageBetter UI control than Native WrapperDisadvantagesPerformance can be an issue, but less so than native wrapper appsConstraints on business logic language
  8. AdvantagesBusiness logic must be coded only onceSupports disconnected experienceSupports sensor integrationAbility to use common languageBetter UI control than Native WrapperEssentially native performanceDisadvantagesMust understand platform specific UI codingLarger executable
  9. Need to make sure security is appropriate