SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
CROSS PLATFORM MOBILE APPLICATION
DEVELOPMENT
21.10.2016 - Software Infrastructure
Mobile Development Platforms
• Native
‣ iOS(Objective-c or Swift),Android(Java),Windows Phone (C#, XAML)
• Web
‣ HTML5, CSS and Javascript Features in Web Browser
• Hybrid
‣ HTML5, CSS and Javascript Features via Web Browser in Native Application
• Cross Platform
‣ Runs Javascript, C# and UI Elements as Native
Native / Hybrid / Web / Cross
Feature Native Hybrid Web Cross
Platform
Development
Language
Native Only
Native or Web
or Web Only
Web Only
C# or Javascript
or Java etc..
Code Portability
and
Optimisation
None High High High
Access Device-
Specific Features
High Medium Low High
Leverage
Existing
Knowledge
Low High High High
User Experience High Medium Medium High
Native Look and
Feel
Yes Emulated Emulated Yes
Deployment
Low
Always via app
stores
Medium
Usually via app
stores
High
Medium
Usually via app
stores
Cross Platform
Building high-quality native apps is hard
• Different presentation styles, interaction styles and software stacks
• Devices have different screen sizes, input modes and hardware capabilities
• New devices and OS versions are introduced multiple times per year
• Network connectivity and power levels fluctuate widely in typical usage scenarios
• New consumer applications regularly extend and revise the standards and set the bar
higher for good mobile applications
Solution: Cross Platform Mobile Development (Write Once, Run Anywhere)
Alternatives: Nativescript, React Native, Xamarin, etc..
Nativescript
A runtime for building and running native iOS, Android, and (soon)
Windows Phone apps with a single, JavaScript code base.
• Created & Supported by Telerik
• Fully Open Source
• Use V8 (on Android) and JavascriptCore (on IOS) Engines
• Use existing JS and CSS , xml / html skills
• ES6 & Typescript & Angular2
• Restricted Css Support
• First public beta Released @ 5 March 2015
• Release v1.0 @May 2015
React Native
React Native lets you build mobile apps using only JavaScript. It uses the same
design as React, letting you compose a rich mobile UI from declarative
components.
• React Native started as a Facebook's Hackathon project in the summer of 2013
• Open source Javascript Library
• Facebook Ads Manager on IOS and Android share %85 of the code
• Leverage existing skill sets to write apps with native feel
• Microsoft brings React Native to the Windows ecosystem
• Samsung builds React Native for its hybrid platform (Tizen)
• 500+ companies and developer who published apps to Apple’s app store
• 200+ companies and developer who published apps to Google’s Play store
Xamarin
Xamarin brings open source .NET to mobile development, enabling every
developer to build truly native apps for any device in C# and F#.
Xamarin Architecture Choices
Xamarin - UnderThe Hood
IOS Architecture
Xamarin - UnderThe Hood
Android Architecture
Comparison (Development)
Nativescript React Native Xamarin
Language Js / typescript Js C#
Learning Curve (Low/
Medium/High) WPF
Developer)
High High Low
Learning Curve (Low/
Medium/High) Web
Developer)
Low Medium Medium
Learning Curve (Low/
Medium/High) Mobile
Developer)
Medium Medium Low +
IDE Visual Studio Code, Visual
Studio
any text editor.
JS Editors Visual Studio
Xamarin Studio
Mac Requirement for IOS
Development
Yes Yes Yes
CSS Support Yes(Restricted) Restricted No (Xaml Style)
Component Library Telerik UI Components(http://
www.telerik.com/nativescript-
ui)
https://facebook.github.io/
react-native/docs
Xamarin(components.xamarin.com)
SyncFusion (https://
www.syncfusion.com/products/xamarin)Suitable for creating
framework
Yes Yes Yes
Native Binding Yes Yes Yes (Xamarin.IOS, Xamarin.Android)
Plugin Support https://github.com/
EddyVerbruggen/nativescript-
plugin-firebase
https://facebook.github.io/
react-native/docs
Xamarin Plugins
Comparison (Debugging)
Nativescript React Native Xamarin
Debugging on Emulator Yes Yes Yes
Debugging on Device Yes Yes Yes
Remote Debugging
(Browser)
Android (Yes)
http://docs.nativescript.org/
runtimes/android/debug/debug-
eclipse
Yes (https://
facebook.github.io/react-
native/docs/
debugging.html)
No
Live Reload Reload application Yes Yes (Only Xaml) (XAML Previewer for
Xamarin.Forms (alpha) )
Comparison (Features)
Nativescript React Native Xamarin
Min IOS Version Support iOS 7 or greater and xcode
version greater than 6
iOS 8.0+ iOS 6.1 or higher
Min Android Version
Support
17(4.2) Android 4.1+ (API 16) Android 4.0.3 (API 15) or higher
Windows Phone Support Not Yet Officially not, Microsoft
Community supported
Yes
PN Support (IOS 10 RN?) Yes IOS Component exists
Android plugin exists
Yes
Device Features Support
(Camera, Sensors, TouchID,
IRIS..)
Camera,Location, plugins.. Camera, Location
plugins exists
Camera,Location,Xamarin Plugins
Native Map Support nativescript-maps
A NativeScript module for using native map APIs
A NativeScript module for using native map APIs. This module is currently limited and should be viewed as a proof of
Yes
https://github.com/airbnb/react-native-maps
React Native Mapview component for iOS + Android
Yes
Xamarin.Forms.Maps -https://developer.xamarin.co
Customizing Maps -https://developer.xamarin.com/
Comparison (Deployment)
Nativescript React Native Xamarin
Automated Test Yes (http://
docs.nativescript.org/tooling/
testing)
Automated Test : (Appium) :
https://github.com/NativeScript/
NativeScript/issues/553
Yes (https://
facebook.github.io/react-
native/docs/testing.html)
Yes
Deploy without market No Yes No
Easy Deployment &
Continuous Integration
Yes ( with CLI) Yes Yes
Package Size APK :21.8 MB (Android &
Bundle with WebPack)
IPA : 32.9 MB (iphone &
Bundle with WebPack)
APK : 38 MB (Android &
Without bundle)
IPA : 67 MB (IOS & Without
bundle)
APK 8,47 MB (Android)
IPA 7.5 MB (Iphone)
APK 16 MB (Android)
APP 46,4 MB (iOS)
Xamarin - Android Benchmark
FPS (Median) Native Android Xamarin.Forms
Startup 30FPS 5FPS
Text Entry &Toast 4FPS 6FPS
ListView Load - 100 Items 22FPS 37FPS
ListView Load - 1000 Items 6FPS 2FPS
ListView Scroll - 1000 Items 58FPS 22FPS
MapView Load 19FPS 21FPS
Carousel Load & Swipe 34FPS 36FPS
Tab Panel Load & Swipe 33FPS 33FPS
Image Scroll 57FPS 53FPS
Xamarin - Android Benchmark
CPU Usage Native Android Xamarin.Forms
Startup 0,97% 20,35%
Text Entry &Toast 0,44% 1,85%
ListView Load - 100 Items 3,20% 18,49%
ListView Load - 1000 Items 0,70% 0,86%
ListView Scroll - 1000 Items 9,85% 13,53%
MapView Load 8,68% 10,88%
Carousel Load & Swipe 2,26% 4,22%
Tab Panel Load & Swipe 2,68% 3,41%
Image Scroll 2,93% 4,88%
Xamarin - Android Benchmark
Memory Native Android Xamarin.Forms
Startup 2MB 44MB
Text Entry &Toast 54MB 81MB
ListView Load - 100 Items 59MB 91MB
ListView Load - 1000 Items 60MB 96MB
ListView Scroll - 1000 Items 60MB 106MB
MapView Load 98MB 128MB
Carousel Load & Swipe 90MB 144MB
Tab Panel Load & Swipe 86MB 137MB
Image Scroll 89MB 158MB
Xamarin - Android Benchmark
GPU Native Android Xamarin.Forms
Startup 0% 0%
Text Entry &Toast 0% 0%
ListView Load - 100 Items 0% 0%
ListView Load - 1000 Items 0% 0%
ListView Scroll - 1000 Items 18% 8%
MapView Load 9% 0%
Carousel Load & Swipe 4% 5%
Tab Panel Load & Swipe 5% 9%
Image Scroll 11% 8%
VMobile

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to Mobile Application Development
Introduction to Mobile Application DevelopmentIntroduction to Mobile Application Development
Introduction to Mobile Application DevelopmentTharindu Dassanayake
 
Android activity lifecycle
Android activity lifecycleAndroid activity lifecycle
Android activity lifecycleSoham Patel
 
Mobile application development React Native - Tidepool Labs
Mobile application development React Native - Tidepool LabsMobile application development React Native - Tidepool Labs
Mobile application development React Native - Tidepool LabsHarutyun Abgaryan
 
Network security Lab manual
Network security Lab manual Network security Lab manual
Network security Lab manual Vivek Kumar Sinha
 
Introduction To Mobile Application Development
Introduction To Mobile Application DevelopmentIntroduction To Mobile Application Development
Introduction To Mobile Application DevelopmentSyed Absar
 
Android app development with kotlin heralding the future
Android app development with kotlin heralding the futureAndroid app development with kotlin heralding the future
Android app development with kotlin heralding the futureSPEC INDIA
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android DevelopmentAly Abdelkareem
 
Mobile Development Overview
Mobile Development OverviewMobile Development Overview
Mobile Development OverviewShawn Grimes
 
JavaScript - Chapter 6 - Basic Functions
 JavaScript - Chapter 6 - Basic Functions JavaScript - Chapter 6 - Basic Functions
JavaScript - Chapter 6 - Basic FunctionsWebStackAcademy
 
Top 11 Mobile App Development Frameworks
Top 11 Mobile App Development FrameworksTop 11 Mobile App Development Frameworks
Top 11 Mobile App Development FrameworksAlbiorix Technology
 
Development of Mobile Application -PPT
Development of Mobile Application -PPTDevelopment of Mobile Application -PPT
Development of Mobile Application -PPTDhivya T
 

Was ist angesagt? (20)

Introduction to Mobile Application Development
Introduction to Mobile Application DevelopmentIntroduction to Mobile Application Development
Introduction to Mobile Application Development
 
Android activity lifecycle
Android activity lifecycleAndroid activity lifecycle
Android activity lifecycle
 
Mobile application development React Native - Tidepool Labs
Mobile application development React Native - Tidepool LabsMobile application development React Native - Tidepool Labs
Mobile application development React Native - Tidepool Labs
 
AndroidManifest
AndroidManifestAndroidManifest
AndroidManifest
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Network security Lab manual
Network security Lab manual Network security Lab manual
Network security Lab manual
 
Introduction To Mobile Application Development
Introduction To Mobile Application DevelopmentIntroduction To Mobile Application Development
Introduction To Mobile Application Development
 
Windows Mobile
Windows MobileWindows Mobile
Windows Mobile
 
Android app development with kotlin heralding the future
Android app development with kotlin heralding the futureAndroid app development with kotlin heralding the future
Android app development with kotlin heralding the future
 
Fitness App ppt
Fitness App pptFitness App ppt
Fitness App ppt
 
Android intents
Android intentsAndroid intents
Android intents
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
 
Mobile Development Overview
Mobile Development OverviewMobile Development Overview
Mobile Development Overview
 
Android Data Persistence
Android Data PersistenceAndroid Data Persistence
Android Data Persistence
 
JavaScript - Chapter 6 - Basic Functions
 JavaScript - Chapter 6 - Basic Functions JavaScript - Chapter 6 - Basic Functions
JavaScript - Chapter 6 - Basic Functions
 
Top 11 Mobile App Development Frameworks
Top 11 Mobile App Development FrameworksTop 11 Mobile App Development Frameworks
Top 11 Mobile App Development Frameworks
 
Development of Mobile Application -PPT
Development of Mobile Application -PPTDevelopment of Mobile Application -PPT
Development of Mobile Application -PPT
 
Flutter Intro
Flutter IntroFlutter Intro
Flutter Intro
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Notification android
Notification androidNotification android
Notification android
 

Andere mochten auch

Cross-platform mobile development: choices and limitations [IndicThreads Mob...
Cross-platform mobile development: choices and limitations  [IndicThreads Mob...Cross-platform mobile development: choices and limitations  [IndicThreads Mob...
Cross-platform mobile development: choices and limitations [IndicThreads Mob...IndicThreads
 
Cross platform mobile web apps
Cross platform mobile web appsCross platform mobile web apps
Cross platform mobile web appsJames Pearce
 
Mobile Architecture Comparison
Mobile Architecture ComparisonMobile Architecture Comparison
Mobile Architecture ComparisonJonathan Bender
 
Cross platform mobile development with xamarin and office 365
Cross platform mobile development with xamarin and office 365Cross platform mobile development with xamarin and office 365
Cross platform mobile development with xamarin and office 365SoHo Dragon
 
JavaFX 8 everywhere; write once run anywhere by Mohamed Taman
JavaFX 8 everywhere; write once run anywhere by Mohamed TamanJavaFX 8 everywhere; write once run anywhere by Mohamed Taman
JavaFX 8 everywhere; write once run anywhere by Mohamed TamanJavaDayUA
 
White paper native, web or hybrid mobile app development
White paper  native, web or hybrid mobile app developmentWhite paper  native, web or hybrid mobile app development
White paper native, web or hybrid mobile app developmentIBM Software India
 
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
 
Building Cross Platform Mobile Apps
Building Cross Platform Mobile AppsBuilding Cross Platform Mobile Apps
Building Cross Platform Mobile AppsShailendra Chauhan
 
Native vs hybrid approach Mobile App Development
Native vs hybrid approach Mobile App DevelopmentNative vs hybrid approach Mobile App Development
Native vs hybrid approach Mobile App DevelopmentSenthil Kumar Kaliathan
 
Cross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with XamarinCross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with Xamarinbryan costanich
 
Synapse india reviews on mobile application development
Synapse india reviews on mobile application developmentSynapse india reviews on mobile application development
Synapse india reviews on mobile application developmentsaritasingh19866
 
Cross platform mobile developement introduction
Cross platform mobile developement   introductionCross platform mobile developement   introduction
Cross platform mobile developement introductionMarcel de Vries
 
03 cross platform design
03 cross platform design03 cross platform design
03 cross platform designmemeapps
 
Cross Platform Mobile Application Development Using Xamarin and C#
Cross Platform Mobile Application Development Using Xamarin and C#Cross Platform Mobile Application Development Using Xamarin and C#
Cross Platform Mobile Application Development Using Xamarin and C#EastBanc Tachnologies
 
360 Flex Atlanta
360 Flex Atlanta360 Flex Atlanta
360 Flex Atlantartretola
 
IBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App DevelopmentIBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App DevelopmentWim Tobback
 

Andere mochten auch (19)

Xamarin
XamarinXamarin
Xamarin
 
Cross-platform mobile development: choices and limitations [IndicThreads Mob...
Cross-platform mobile development: choices and limitations  [IndicThreads Mob...Cross-platform mobile development: choices and limitations  [IndicThreads Mob...
Cross-platform mobile development: choices and limitations [IndicThreads Mob...
 
Cross platform mobile web apps
Cross platform mobile web appsCross platform mobile web apps
Cross platform mobile web apps
 
Mobile Architecture Comparison
Mobile Architecture ComparisonMobile Architecture Comparison
Mobile Architecture Comparison
 
Cross platform mobile development with xamarin and office 365
Cross platform mobile development with xamarin and office 365Cross platform mobile development with xamarin and office 365
Cross platform mobile development with xamarin and office 365
 
JavaFX 8 everywhere; write once run anywhere by Mohamed Taman
JavaFX 8 everywhere; write once run anywhere by Mohamed TamanJavaFX 8 everywhere; write once run anywhere by Mohamed Taman
JavaFX 8 everywhere; write once run anywhere by Mohamed Taman
 
White paper native, web or hybrid mobile app development
White paper  native, web or hybrid mobile app developmentWhite paper  native, web or hybrid mobile app development
White paper native, web or hybrid mobile app development
 
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
 
Hybrid HTML5 Apps
Hybrid HTML5 AppsHybrid HTML5 Apps
Hybrid HTML5 Apps
 
Building Cross Platform Mobile Apps
Building Cross Platform Mobile AppsBuilding Cross Platform Mobile Apps
Building Cross Platform Mobile Apps
 
Native vs hybrid approach Mobile App Development
Native vs hybrid approach Mobile App DevelopmentNative vs hybrid approach Mobile App Development
Native vs hybrid approach Mobile App Development
 
Most Popular Cross Platform Mobile Development Tools
Most Popular Cross Platform Mobile Development ToolsMost Popular Cross Platform Mobile Development Tools
Most Popular Cross Platform Mobile Development Tools
 
Cross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with XamarinCross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with Xamarin
 
Synapse india reviews on mobile application development
Synapse india reviews on mobile application developmentSynapse india reviews on mobile application development
Synapse india reviews on mobile application development
 
Cross platform mobile developement introduction
Cross platform mobile developement   introductionCross platform mobile developement   introduction
Cross platform mobile developement introduction
 
03 cross platform design
03 cross platform design03 cross platform design
03 cross platform design
 
Cross Platform Mobile Application Development Using Xamarin and C#
Cross Platform Mobile Application Development Using Xamarin and C#Cross Platform Mobile Application Development Using Xamarin and C#
Cross Platform Mobile Application Development Using Xamarin and C#
 
360 Flex Atlanta
360 Flex Atlanta360 Flex Atlanta
360 Flex Atlanta
 
IBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App DevelopmentIBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App Development
 

Ähnlich wie Cross Platform Mobile Development

Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGapJoseph Labrecque
 
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...Applitools
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Todaydavyjones
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do ThatNathan Smith
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikMukteswar Patnaik
 
Hybrid Mobile Development
Hybrid Mobile DevelopmentHybrid Mobile Development
Hybrid Mobile DevelopmentShai Raiten
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin PlatformRui Marinho
 
Developing a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&CordovaDeveloping a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&CordovaDamir Beylkhanov
 
Introduction to Xamarin - Confoo 2015
Introduction to Xamarin - Confoo 2015Introduction to Xamarin - Confoo 2015
Introduction to Xamarin - Confoo 2015Guy Barrette
 
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
 
Xamarin cross platform
Xamarin cross platformXamarin cross platform
Xamarin cross platformGuada Casuso
 
Native Mobile Apps, Xamarin, and PhoneGap
Native Mobile Apps, Xamarin, and PhoneGapNative Mobile Apps, Xamarin, and PhoneGap
Native Mobile Apps, Xamarin, and PhoneGapSasha Goldshtein
 
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...Nick Landry
 
Going Mobile with C#, Visual Studio, and Xamarin
Going Mobile with C#, Visual Studio, and XamarinGoing Mobile with C#, Visual Studio, and Xamarin
Going Mobile with C#, Visual Studio, and XamarinMatthew Soucoup
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011davyjones
 
Cross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioCross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioMizanur Sarker
 
Cordova and PhoneGap Insights
Cordova and PhoneGap InsightsCordova and PhoneGap Insights
Cordova and PhoneGap InsightsMonaca
 
Cross platform mobile approaches
Cross platform mobile approachesCross platform mobile approaches
Cross platform mobile approachesPhuong Hoang Vu
 
PhoneGap talk from Singapore
PhoneGap talk from SingaporePhoneGap talk from Singapore
PhoneGap talk from SingaporeSteve Gill
 

Ähnlich wie Cross Platform Mobile Development (20)

Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGap
 
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar Patnaik
 
Hybrid Mobile Development
Hybrid Mobile DevelopmentHybrid Mobile Development
Hybrid Mobile Development
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin Platform
 
Developing a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&CordovaDeveloping a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&Cordova
 
Introduction to Xamarin - Confoo 2015
Introduction to Xamarin - Confoo 2015Introduction to Xamarin - Confoo 2015
Introduction to Xamarin - Confoo 2015
 
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
 
Xamarin cross platform
Xamarin cross platformXamarin cross platform
Xamarin cross platform
 
Native Mobile Apps, Xamarin, and PhoneGap
Native Mobile Apps, Xamarin, and PhoneGapNative Mobile Apps, Xamarin, and PhoneGap
Native Mobile Apps, Xamarin, and PhoneGap
 
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
 
Going Mobile with C#, Visual Studio, and Xamarin
Going Mobile with C#, Visual Studio, and XamarinGoing Mobile with C#, Visual Studio, and Xamarin
Going Mobile with C#, Visual Studio, and Xamarin
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011
 
Cross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioCross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual Studio
 
Cordova and PhoneGap Insights
Cordova and PhoneGap InsightsCordova and PhoneGap Insights
Cordova and PhoneGap Insights
 
Cross platform mobile approaches
Cross platform mobile approachesCross platform mobile approaches
Cross platform mobile approaches
 
PhoneGap/Cordova
PhoneGap/CordovaPhoneGap/Cordova
PhoneGap/Cordova
 
PhoneGap talk from Singapore
PhoneGap talk from SingaporePhoneGap talk from Singapore
PhoneGap talk from Singapore
 

Mehr von Software Infrastructure (20)

Kotlin
KotlinKotlin
Kotlin
 
NoSql
NoSqlNoSql
NoSql
 
Stream Analytics
Stream AnalyticsStream Analytics
Stream Analytics
 
Quartz Scheduler
Quartz SchedulerQuartz Scheduler
Quartz Scheduler
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Deep Learning
Deep Learning Deep Learning
Deep Learning
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Java9
Java9Java9
Java9
 
Machine learning
Machine learningMachine learning
Machine learning
 
Raspberry PI
Raspberry PIRaspberry PI
Raspberry PI
 
Golang
GolangGolang
Golang
 
Codename one
Codename oneCodename one
Codename one
 
Hazelcast sunum
Hazelcast sunumHazelcast sunum
Hazelcast sunum
 
Microsoft bot framework
Microsoft bot frameworkMicrosoft bot framework
Microsoft bot framework
 
Blockchain use cases
Blockchain use casesBlockchain use cases
Blockchain use cases
 
The Fintechs
The FintechsThe Fintechs
The Fintechs
 
Server Side Swift
Server Side SwiftServer Side Swift
Server Side Swift
 
Push Notification
Push NotificationPush Notification
Push Notification
 
.Net Core
.Net Core.Net Core
.Net Core
 
Java Batch
Java BatchJava Batch
Java Batch
 

Kürzlich hochgeladen

8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitterShivangiSharma879191
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
Comparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization TechniquesComparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization Techniquesugginaramesh
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction managementMariconPadriquez1
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 

Kürzlich hochgeladen (20)

8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
Comparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization TechniquesComparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization Techniques
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction management
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 

Cross Platform Mobile Development

  • 1. CROSS PLATFORM MOBILE APPLICATION DEVELOPMENT 21.10.2016 - Software Infrastructure
  • 2. Mobile Development Platforms • Native ‣ iOS(Objective-c or Swift),Android(Java),Windows Phone (C#, XAML) • Web ‣ HTML5, CSS and Javascript Features in Web Browser • Hybrid ‣ HTML5, CSS and Javascript Features via Web Browser in Native Application • Cross Platform ‣ Runs Javascript, C# and UI Elements as Native
  • 3. Native / Hybrid / Web / Cross Feature Native Hybrid Web Cross Platform Development Language Native Only Native or Web or Web Only Web Only C# or Javascript or Java etc.. Code Portability and Optimisation None High High High Access Device- Specific Features High Medium Low High Leverage Existing Knowledge Low High High High User Experience High Medium Medium High Native Look and Feel Yes Emulated Emulated Yes Deployment Low Always via app stores Medium Usually via app stores High Medium Usually via app stores
  • 4. Cross Platform Building high-quality native apps is hard • Different presentation styles, interaction styles and software stacks • Devices have different screen sizes, input modes and hardware capabilities • New devices and OS versions are introduced multiple times per year • Network connectivity and power levels fluctuate widely in typical usage scenarios • New consumer applications regularly extend and revise the standards and set the bar higher for good mobile applications Solution: Cross Platform Mobile Development (Write Once, Run Anywhere) Alternatives: Nativescript, React Native, Xamarin, etc..
  • 5. Nativescript A runtime for building and running native iOS, Android, and (soon) Windows Phone apps with a single, JavaScript code base. • Created & Supported by Telerik • Fully Open Source • Use V8 (on Android) and JavascriptCore (on IOS) Engines • Use existing JS and CSS , xml / html skills • ES6 & Typescript & Angular2 • Restricted Css Support • First public beta Released @ 5 March 2015 • Release v1.0 @May 2015
  • 6. React Native React Native lets you build mobile apps using only JavaScript. It uses the same design as React, letting you compose a rich mobile UI from declarative components. • React Native started as a Facebook's Hackathon project in the summer of 2013 • Open source Javascript Library • Facebook Ads Manager on IOS and Android share %85 of the code • Leverage existing skill sets to write apps with native feel • Microsoft brings React Native to the Windows ecosystem • Samsung builds React Native for its hybrid platform (Tizen) • 500+ companies and developer who published apps to Apple’s app store • 200+ companies and developer who published apps to Google’s Play store
  • 7. Xamarin Xamarin brings open source .NET to mobile development, enabling every developer to build truly native apps for any device in C# and F#.
  • 9. Xamarin - UnderThe Hood IOS Architecture
  • 10. Xamarin - UnderThe Hood Android Architecture
  • 11. Comparison (Development) Nativescript React Native Xamarin Language Js / typescript Js C# Learning Curve (Low/ Medium/High) WPF Developer) High High Low Learning Curve (Low/ Medium/High) Web Developer) Low Medium Medium Learning Curve (Low/ Medium/High) Mobile Developer) Medium Medium Low + IDE Visual Studio Code, Visual Studio any text editor. JS Editors Visual Studio Xamarin Studio Mac Requirement for IOS Development Yes Yes Yes CSS Support Yes(Restricted) Restricted No (Xaml Style) Component Library Telerik UI Components(http:// www.telerik.com/nativescript- ui) https://facebook.github.io/ react-native/docs Xamarin(components.xamarin.com) SyncFusion (https:// www.syncfusion.com/products/xamarin)Suitable for creating framework Yes Yes Yes Native Binding Yes Yes Yes (Xamarin.IOS, Xamarin.Android) Plugin Support https://github.com/ EddyVerbruggen/nativescript- plugin-firebase https://facebook.github.io/ react-native/docs Xamarin Plugins
  • 12. Comparison (Debugging) Nativescript React Native Xamarin Debugging on Emulator Yes Yes Yes Debugging on Device Yes Yes Yes Remote Debugging (Browser) Android (Yes) http://docs.nativescript.org/ runtimes/android/debug/debug- eclipse Yes (https:// facebook.github.io/react- native/docs/ debugging.html) No Live Reload Reload application Yes Yes (Only Xaml) (XAML Previewer for Xamarin.Forms (alpha) )
  • 13. Comparison (Features) Nativescript React Native Xamarin Min IOS Version Support iOS 7 or greater and xcode version greater than 6 iOS 8.0+ iOS 6.1 or higher Min Android Version Support 17(4.2) Android 4.1+ (API 16) Android 4.0.3 (API 15) or higher Windows Phone Support Not Yet Officially not, Microsoft Community supported Yes PN Support (IOS 10 RN?) Yes IOS Component exists Android plugin exists Yes Device Features Support (Camera, Sensors, TouchID, IRIS..) Camera,Location, plugins.. Camera, Location plugins exists Camera,Location,Xamarin Plugins Native Map Support nativescript-maps A NativeScript module for using native map APIs A NativeScript module for using native map APIs. This module is currently limited and should be viewed as a proof of Yes https://github.com/airbnb/react-native-maps React Native Mapview component for iOS + Android Yes Xamarin.Forms.Maps -https://developer.xamarin.co Customizing Maps -https://developer.xamarin.com/
  • 14. Comparison (Deployment) Nativescript React Native Xamarin Automated Test Yes (http:// docs.nativescript.org/tooling/ testing) Automated Test : (Appium) : https://github.com/NativeScript/ NativeScript/issues/553 Yes (https:// facebook.github.io/react- native/docs/testing.html) Yes Deploy without market No Yes No Easy Deployment & Continuous Integration Yes ( with CLI) Yes Yes Package Size APK :21.8 MB (Android & Bundle with WebPack) IPA : 32.9 MB (iphone & Bundle with WebPack) APK : 38 MB (Android & Without bundle) IPA : 67 MB (IOS & Without bundle) APK 8,47 MB (Android) IPA 7.5 MB (Iphone) APK 16 MB (Android) APP 46,4 MB (iOS)
  • 15. Xamarin - Android Benchmark FPS (Median) Native Android Xamarin.Forms Startup 30FPS 5FPS Text Entry &Toast 4FPS 6FPS ListView Load - 100 Items 22FPS 37FPS ListView Load - 1000 Items 6FPS 2FPS ListView Scroll - 1000 Items 58FPS 22FPS MapView Load 19FPS 21FPS Carousel Load & Swipe 34FPS 36FPS Tab Panel Load & Swipe 33FPS 33FPS Image Scroll 57FPS 53FPS
  • 16. Xamarin - Android Benchmark CPU Usage Native Android Xamarin.Forms Startup 0,97% 20,35% Text Entry &Toast 0,44% 1,85% ListView Load - 100 Items 3,20% 18,49% ListView Load - 1000 Items 0,70% 0,86% ListView Scroll - 1000 Items 9,85% 13,53% MapView Load 8,68% 10,88% Carousel Load & Swipe 2,26% 4,22% Tab Panel Load & Swipe 2,68% 3,41% Image Scroll 2,93% 4,88%
  • 17. Xamarin - Android Benchmark Memory Native Android Xamarin.Forms Startup 2MB 44MB Text Entry &Toast 54MB 81MB ListView Load - 100 Items 59MB 91MB ListView Load - 1000 Items 60MB 96MB ListView Scroll - 1000 Items 60MB 106MB MapView Load 98MB 128MB Carousel Load & Swipe 90MB 144MB Tab Panel Load & Swipe 86MB 137MB Image Scroll 89MB 158MB
  • 18. Xamarin - Android Benchmark GPU Native Android Xamarin.Forms Startup 0% 0% Text Entry &Toast 0% 0% ListView Load - 100 Items 0% 0% ListView Load - 1000 Items 0% 0% ListView Scroll - 1000 Items 18% 8% MapView Load 9% 0% Carousel Load & Swipe 4% 5% Tab Panel Load & Swipe 5% 9% Image Scroll 11% 8%