SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Mobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web AppsMobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web AppsPaul Sons
 
Mobinius : Mobile Native vs Cross Platform
Mobinius : Mobile Native vs Cross PlatformMobinius : Mobile Native vs Cross Platform
Mobinius : Mobile Native vs Cross PlatformDamodar Puthiya
 
Mobile Application Design & Development
Mobile Application Design & DevelopmentMobile Application Design & Development
Mobile Application Design & DevelopmentRonnie Liew
 
Introduction to asp.net
Introduction to asp.netIntroduction to asp.net
Introduction to asp.netSHADAB ALI
 
Introduction to Mobile Application Development
Introduction to Mobile Application DevelopmentIntroduction to Mobile Application Development
Introduction to Mobile Application Developmentshikishiji
 
Mobile Application Development Services-MobileApptelligence
Mobile Application Development Services-MobileApptelligenceMobile Application Development Services-MobileApptelligence
Mobile Application Development Services-MobileApptelligenceMobileapptelligence
 
Mobile Testing with Appium
Mobile Testing with AppiumMobile Testing with Appium
Mobile Testing with AppiumKnoldus Inc.
 
Appium basics
Appium basicsAppium basics
Appium basicsSyam Sasi
 
Web assembly - Future of the Web
Web assembly - Future of the WebWeb assembly - Future of the Web
Web assembly - Future of the WebCodeValue
 
iOS Development - A Beginner Guide
iOS Development - A Beginner GuideiOS Development - A Beginner Guide
iOS Development - A Beginner GuideAndri Yadi
 
Automation With Appium
Automation With AppiumAutomation With Appium
Automation With AppiumKnoldus Inc.
 
Android & iOS Automation Using Appium
Android & iOS Automation Using AppiumAndroid & iOS Automation Using Appium
Android & iOS Automation Using AppiumMindfire Solutions
 
Introduction to mobile application development
Introduction to mobile application developmentIntroduction to mobile application development
Introduction to mobile application developmentChandan Maurya
 
Appium Architecture | How Appium Works | Edureka
Appium Architecture | How Appium Works | EdurekaAppium Architecture | How Appium Works | Edureka
Appium Architecture | How Appium Works | EdurekaEdureka!
 

Tendances (20)

Appium solution
Appium solutionAppium solution
Appium solution
 
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web AppsMobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web Apps
 
Mobinius : Mobile Native vs Cross Platform
Mobinius : Mobile Native vs Cross PlatformMobinius : Mobile Native vs Cross Platform
Mobinius : Mobile Native vs Cross Platform
 
Mobile Application Design & Development
Mobile Application Design & DevelopmentMobile Application Design & Development
Mobile Application Design & Development
 
Introduction to asp.net
Introduction to asp.netIntroduction to asp.net
Introduction to asp.net
 
Appium
AppiumAppium
Appium
 
Introduction to Mobile Application Development
Introduction to Mobile Application DevelopmentIntroduction to Mobile Application Development
Introduction to Mobile Application Development
 
An introduction to Xamarin
An introduction to XamarinAn introduction to Xamarin
An introduction to Xamarin
 
Mobile Application Development Services-MobileApptelligence
Mobile Application Development Services-MobileApptelligenceMobile Application Development Services-MobileApptelligence
Mobile Application Development Services-MobileApptelligence
 
Mobile Testing with Appium
Mobile Testing with AppiumMobile Testing with Appium
Mobile Testing with Appium
 
Appium overview
Appium overviewAppium overview
Appium overview
 
Appium basics
Appium basicsAppium basics
Appium basics
 
Web assembly - Future of the Web
Web assembly - Future of the WebWeb assembly - Future of the Web
Web assembly - Future of the Web
 
iOS Development - A Beginner Guide
iOS Development - A Beginner GuideiOS Development - A Beginner Guide
iOS Development - A Beginner Guide
 
Automation With Appium
Automation With AppiumAutomation With Appium
Automation With Appium
 
Android & iOS Automation Using Appium
Android & iOS Automation Using AppiumAndroid & iOS Automation Using Appium
Android & iOS Automation Using Appium
 
Introduction to mobile application development
Introduction to mobile application developmentIntroduction to mobile application development
Introduction to mobile application development
 
Appium ppt
Appium pptAppium ppt
Appium ppt
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Appium Architecture | How Appium Works | Edureka
Appium Architecture | How Appium Works | EdurekaAppium Architecture | How Appium Works | Edureka
Appium Architecture | How Appium Works | Edureka
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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
 

Plus de 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
 

Dernier

Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdfKamal Acharya
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"mphochane1998
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapRishantSharmaFr
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxmaisarahman1
 
Bridge Jacking Design Sample Calculation.pptx
Bridge Jacking Design Sample Calculation.pptxBridge Jacking Design Sample Calculation.pptx
Bridge Jacking Design Sample Calculation.pptxnuruddin69
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptNANDHAKUMARA10
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Call Girls Mumbai
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaOmar Fathy
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdfKamal Acharya
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARKOUSTAV SARKAR
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...HenryBriggs2
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projectssmsksolar
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersMairaAshraf6
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.Kamal Acharya
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptDineshKumar4165
 
Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086anil_gaur
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwaitjaanualu31
 

Dernier (20)

Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
Bridge Jacking Design Sample Calculation.pptx
Bridge Jacking Design Sample Calculation.pptxBridge Jacking Design Sample Calculation.pptx
Bridge Jacking Design Sample Calculation.pptx
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to Computers
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
 

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%