SlideShare une entreprise Scribd logo
1  sur  39
CROSS-PLATFORM
MOBILE
DEVELOPMENT
LOOKING BEYOND THE HTML5
HYPE
OVERVIEW
• Why cross-platform?
• HTML5 – the hype!
• Framework selection
• PropertyCross
• Conclusions
– In easily digested bullet point form
WHY CROSS-
PLATFORM?
• iPhone – Objective-C
• BlackBerry – Java + BlackBerry APIs
• Android – Java + Android APIs
• Windows Phone – C# / Silverlight
SMARTPHONE SALES
Million
units
shipped
THE HYPE
“HTML5 takes the internet by
storm”
BBC News (Technology), 8 May 2012
“New York Times and Burberry join the
HTML5 brigade”
The Guardian Technology Blog, 3 Oct 2012
… AND SOME ‘ANTI’-
HYPE
“Why HTML5 Is Still Not Ready For
Prime Time”
Business Insider, 7 Nov 2012
“The biggest mistake we made as a
company was betting too much on
HTML5 as opposed to native”
Mark Zuckerberg
“Why LinkedIn dumped HTML5 & went
native for its mobile app”
Kiran Prasad
GARTNER HYPE CYCLE
Gartner's 2012 Hype Cycle for Emerging Technologies
WHAT IS HTML5?
HTML5
• Canvas and video tags
• Local storage
• Web Workers – background tasks
• Web Sockets
• CSS3 – layout, opacity, gradient fill …
• And more ...
HTML5 FOR MOBILE
Smartphone sales exceed those of PCs for first time, Feb 2012
NATIVE vs. HTML5 vs.
HYBRID
• Native
• HTML5
– Accessed via the browser
– Some phone features not accessible
– App-like experience is possible (but not via app-store)
• Hybrid
– HTML5 content rendered within a browser control
– Distributed through app-stores / marketplaces
– Best of both worlds
HTML /
JavaScript
Application
Phone
APIs
Phone
APIs
Android
iPhone
HYBRID APPS
HTML5 IS MANY THINGS
WHY LIMIT YOURSELF TO
JUST HTML5?
SELECTING A
FRAMEWORK
• Usual principles apply
– Cost
– Maturity
– Support / community
• What is the end-user experience?
• What is the developer experience like?
• How much code is shared?
• Which platforms do I care about?
… now go and start testing
Helping you select a cross-platform mobile framework
… inspired by TodoMVC
• A realistic application
• Create apps that are ready for app-store
distribution
• Matches the native look and feel for each
platform
• Well designed / structured
demo time …
NATIVE APPLICATION
http://www.youtube.com/watch?v=RJXtfk43SCM
JQUERY MOBILE
• Popular framework for creating mobile
websites
• Added Knockout, RequireJS, jquery-metro-
theme
• PhoneGap for ‘wrapping’
JQUERY MOBILE
http://www.youtube.com/watch?v=h0TVvKPLBR4
NATIVE TRANSITIONS
http://www.youtube.com/watch?v=rrkG4swoNAE
JQUERYMOBILE
TRANSITIONS
http://www.youtube.com/watch?v=lSKLtyZ2vfc
JQUERY MOBILE –
THOUGHTS
• Some UX compromises
• Android uses iOS theme
– Android and iOS share the same code
• Windows Phone experience was very
was poor
• Some friction between frameworks
• Tooling was ‘standard’ web approach
SENCHA TOUCH
• Popular commercial framework
• Built using Ext JS
• An end-to-end solution
• Creators of Fastbook
SENCHA TOUCH
http://www.youtube.com/watch?v=w2sJ84-qtl4
SENCHA TOUCH -
THOUGHTS
• ‘Thick’ UI abstraction – no HTML
• Android and iOS use the same theme
• Almost declarative feel to the
application code
• Impressive user experience
• Steep learning curve
• No Windows Phone support
• Commercial framework from Appcelerator
• Creates a native UI
• Written in JavaScript that runs in an interpreter
• Titanium Studio IDE
• Relies on native build tools
• Abstraction layer hides Android / iOS differences
TITANIUM
TITANIUM
http://www.youtube.com/watch?v=aZTCEapQZj4
TITANIUM - THOUGHTS
• Native UI gives the best UX
• Why JavaScript?
• Friction due to the ‘thick stack’
• Leaky abstraction
• Application was developed quickly
• No Windows Phone support
XAMARIN
• C# and the .NET framework
• Very thin abstraction layer
• MonoTouch and MonoDevelop
• Native UI
XAMARIN
http://www.youtube.com/watch?v=MRhAQVWS7FY
XAMARIN - THOUGHTS
• Matches the native experience exactly
• More code – yet strongly typed
• Lacks a UI abstraction layer
• Planning is required to optimise code
sharing
– You could easily end up with zero code
shared
AND THE REST …
• Adobe Air
• jQTouch
• RhoMobile
• KendoUI
• mgwt
• Intel App Framework
• DXTREME
• Enyo
• Emy
CONCLUSIONS
• HTML5 is a viable technology
• HTML5 is a route of compromise
• HTML5 is not the only cross-platform
technology
CHOOSING A
FRAMEWORK
• Determine what is important for your
application
– Cost? UX? Which platforms?
• Use PropertyCross to narrow the selection
• Prototype your application
• Evaluate
– Code sharing
– Developer experience
– User experience
CROSS-PLATFORM
MOBILE
DEVELOPMENT
LOOKING BEYOND THE HTML5
HYPE
Colin Eberhardt - @ColinEberhardt
Scott Logic, ShinobiControls

Contenu connexe

Tendances

ICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To AppICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To AppRené Winkelmeyer
 
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic FrameworkHybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic FrameworkRashmika Nawaratne
 
Post Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development PlatformsPost Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development PlatformsBarcoding, Inc.
 
How To Create One App For All Platforms using PhoneGap
How To Create One App For All Platforms using PhoneGapHow To Create One App For All Platforms using PhoneGap
How To Create One App For All Platforms using PhoneGapMobiDev
 
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionicHybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionicErmias Bayu
 
Intro to tech stacks bonny
Intro to tech stacks bonnyIntro to tech stacks bonny
Intro to tech stacks bonnyLama K Banna
 
Hybrid app development
Hybrid app developmentHybrid app development
Hybrid app developmentHarshul Shah
 
Titanium appcelerator kickstart
Titanium appcelerator kickstartTitanium appcelerator kickstart
Titanium appcelerator kickstartAlessio Ricco
 
Hybrid vs native mobile development – how to choose a tech stack
Hybrid vs native mobile development – how to choose a tech stackHybrid vs native mobile development – how to choose a tech stack
Hybrid vs native mobile development – how to choose a tech stackJacques De Vos
 
Hybrid vs Native vs Web Apps
Hybrid vs Native vs Web AppsHybrid vs Native vs Web Apps
Hybrid vs Native vs Web AppsPoluru S
 
Native vs. Hybrid Applications
Native vs. Hybrid ApplicationsNative vs. Hybrid Applications
Native vs. Hybrid ApplicationsCihad Horuzoğlu
 
Mobile JS Frameworks
Mobile JS FrameworksMobile JS Frameworks
Mobile JS FrameworksIbrahim Ersoy
 
Native vs Hybrid - Demystifying the Technology Dilemma
Native vs Hybrid - Demystifying the Technology Dilemma Native vs Hybrid - Demystifying the Technology Dilemma
Native vs Hybrid - Demystifying the Technology Dilemma RST-IT
 
Reasons for Flash: Flash Development in an HTML5 and App Store World
Reasons for Flash: Flash Development in an HTML5 and App Store WorldReasons for Flash: Flash Development in an HTML5 and App Store World
Reasons for Flash: Flash Development in an HTML5 and App Store WorldEffectiveUI
 
Developing cross platform mobile applications with phone gap for windows phone
Developing cross platform mobile applications with phone gap for windows phoneDeveloping cross platform mobile applications with phone gap for windows phone
Developing cross platform mobile applications with phone gap for windows phoneColin Eberhardt
 
Consider Starting Small
Consider Starting SmallConsider Starting Small
Consider Starting SmallAndrew Smith
 
Mobile Enablement And Intelligence
Mobile Enablement And IntelligenceMobile Enablement And Intelligence
Mobile Enablement And IntelligenceRashmika Nawaratne
 
Ibm worklight - going from xpages mobile to native mobile applications
Ibm worklight - going from xpages mobile to native mobile applicationsIbm worklight - going from xpages mobile to native mobile applications
Ibm worklight - going from xpages mobile to native mobile applicationsMark Roden
 

Tendances (20)

ICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To AppICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To App
 
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic FrameworkHybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
 
Post Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development PlatformsPost Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development Platforms
 
How To Create One App For All Platforms using PhoneGap
How To Create One App For All Platforms using PhoneGapHow To Create One App For All Platforms using PhoneGap
How To Create One App For All Platforms using PhoneGap
 
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionicHybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
 
Intro to tech stacks bonny
Intro to tech stacks bonnyIntro to tech stacks bonny
Intro to tech stacks bonny
 
Hybrid app development
Hybrid app developmentHybrid app development
Hybrid app development
 
Titanium appcelerator kickstart
Titanium appcelerator kickstartTitanium appcelerator kickstart
Titanium appcelerator kickstart
 
Hybrid vs native mobile development – how to choose a tech stack
Hybrid vs native mobile development – how to choose a tech stackHybrid vs native mobile development – how to choose a tech stack
Hybrid vs native mobile development – how to choose a tech stack
 
Hybrid vs Native vs Web Apps
Hybrid vs Native vs Web AppsHybrid vs Native vs Web Apps
Hybrid vs Native vs Web Apps
 
Native vs. Hybrid Applications
Native vs. Hybrid ApplicationsNative vs. Hybrid Applications
Native vs. Hybrid Applications
 
Mobile JS Frameworks
Mobile JS FrameworksMobile JS Frameworks
Mobile JS Frameworks
 
Native vs Hybrid - Demystifying the Technology Dilemma
Native vs Hybrid - Demystifying the Technology Dilemma Native vs Hybrid - Demystifying the Technology Dilemma
Native vs Hybrid - Demystifying the Technology Dilemma
 
Reasons for Flash: Flash Development in an HTML5 and App Store World
Reasons for Flash: Flash Development in an HTML5 and App Store WorldReasons for Flash: Flash Development in an HTML5 and App Store World
Reasons for Flash: Flash Development in an HTML5 and App Store World
 
Developing cross platform mobile applications with phone gap for windows phone
Developing cross platform mobile applications with phone gap for windows phoneDeveloping cross platform mobile applications with phone gap for windows phone
Developing cross platform mobile applications with phone gap for windows phone
 
Consider Starting Small
Consider Starting SmallConsider Starting Small
Consider Starting Small
 
Mobile Lean UX
Mobile Lean UXMobile Lean UX
Mobile Lean UX
 
Xamarin.Forms
Xamarin.FormsXamarin.Forms
Xamarin.Forms
 
Mobile Enablement And Intelligence
Mobile Enablement And IntelligenceMobile Enablement And Intelligence
Mobile Enablement And Intelligence
 
Ibm worklight - going from xpages mobile to native mobile applications
Ibm worklight - going from xpages mobile to native mobile applicationsIbm worklight - going from xpages mobile to native mobile applications
Ibm worklight - going from xpages mobile to native mobile applications
 

En vedette

Cross-platform development frameworks
Cross-platform development frameworksCross-platform development frameworks
Cross-platform development frameworksCarlo Bernaschina
 
Learn how to develop applications and UIs with Qt Commercial
Learn how to develop applications and UIs with Qt CommercialLearn how to develop applications and UIs with Qt Commercial
Learn how to develop applications and UIs with Qt CommercialQt Commercial, Digia
 
Cross Platform Development with Xamarin
Cross Platform Development with XamarinCross Platform Development with Xamarin
Cross Platform Development with XamarinXpand IT
 
Cross platform mobile development
Cross platform mobile developmentCross platform mobile development
Cross platform mobile developmentPeter Friese
 
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...Andreas Jakl
 

En vedette (7)

Cross-platform development frameworks
Cross-platform development frameworksCross-platform development frameworks
Cross-platform development frameworks
 
Apache cordova
Apache cordovaApache cordova
Apache cordova
 
Learn how to develop applications and UIs with Qt Commercial
Learn how to develop applications and UIs with Qt CommercialLearn how to develop applications and UIs with Qt Commercial
Learn how to develop applications and UIs with Qt Commercial
 
Cross Platform Development with Xamarin
Cross Platform Development with XamarinCross Platform Development with Xamarin
Cross Platform Development with Xamarin
 
Qt Licensing Explained
Qt Licensing ExplainedQt Licensing Explained
Qt Licensing Explained
 
Cross platform mobile development
Cross platform mobile developmentCross platform mobile development
Cross platform mobile development
 
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
 

Similaire à Cross platform mobile development - you tube videos

Top 4 Cross Platform tools for Mobile App Development
Top 4 Cross Platform tools for Mobile App DevelopmentTop 4 Cross Platform tools for Mobile App Development
Top 4 Cross Platform tools for Mobile App Developmenttechugo
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?Reto Meier
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapNick Landry
 
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 application development
Cross platform mobile application developmentCross platform mobile application development
Cross platform mobile application developmentwebprogr.com
 
Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building ProductsHayden Bleasel
 
Synapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps developmentSynapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps developmentsaritasingh19866
 
Mobile App Landscape for the Non-Technical
Mobile App Landscape for the Non-TechnicalMobile App Landscape for the Non-Technical
Mobile App Landscape for the Non-TechnicalJames Quick
 
Multi-platform Mobile apps with Phonegap
Multi-platform Mobile apps with PhonegapMulti-platform Mobile apps with Phonegap
Multi-platform Mobile apps with PhonegapGautam Chaudhary
 
Creating Next-Generation ADF Mobile Applications
Creating Next-Generation ADF Mobile ApplicationsCreating Next-Generation ADF Mobile Applications
Creating Next-Generation ADF Mobile ApplicationsBrian Huff
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App DevelopmentSynerzip
 
Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application developmentKunjan Thakkar
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Nuxeo
 
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
 
News scavenger a SharePoint and Apps Story
News scavenger  a SharePoint and Apps StoryNews scavenger  a SharePoint and Apps Story
News scavenger a SharePoint and Apps StoryInnoTech
 
Multi device development using visual studio (iOS, Android & Windows)
Multi device development using visual studio (iOS, Android & Windows)Multi device development using visual studio (iOS, Android & Windows)
Multi device development using visual studio (iOS, Android & Windows)Karthikeyan Anbarasan (AK)
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App DevelopmentChris Morrell
 

Similaire à Cross platform mobile development - you tube videos (20)

Top 4 Cross Platform tools for Mobile App Development
Top 4 Cross Platform tools for Mobile App DevelopmentTop 4 Cross Platform tools for Mobile App Development
Top 4 Cross Platform tools for Mobile App Development
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?
 
Future of Mobile
Future of MobileFuture of Mobile
Future of Mobile
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
 
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 application development
Cross platform mobile application developmentCross platform mobile application development
Cross platform mobile application development
 
Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building Products
 
Synapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps developmentSynapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps development
 
Mobile App Landscape for the Non-Technical
Mobile App Landscape for the Non-TechnicalMobile App Landscape for the Non-Technical
Mobile App Landscape for the Non-Technical
 
Multi-platform Mobile apps with Phonegap
Multi-platform Mobile apps with PhonegapMulti-platform Mobile apps with Phonegap
Multi-platform Mobile apps with Phonegap
 
Creating Next-Generation ADF Mobile Applications
Creating Next-Generation ADF Mobile ApplicationsCreating Next-Generation ADF Mobile Applications
Creating Next-Generation ADF Mobile Applications
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App Development
 
Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application development
 
Phone gap
Phone gapPhone gap
Phone gap
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
 
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
 
News scavenger a SharePoint and Apps Story
News scavenger  a SharePoint and Apps StoryNews scavenger  a SharePoint and Apps Story
News scavenger a SharePoint and Apps Story
 
DjangoSki
DjangoSkiDjangoSki
DjangoSki
 
Multi device development using visual studio (iOS, Android & Windows)
Multi device development using visual studio (iOS, Android & Windows)Multi device development using visual studio (iOS, Android & Windows)
Multi device development using visual studio (iOS, Android & Windows)
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App Development
 

Cross platform mobile development - you tube videos

Notes de l'éditeur

  1. + Corporate issues
  2. App-cache / offline storage
  3. … now go away and test all these frameworks!
  4. + Highlight differences compared to a native UI + Android is a second class citizen + WP version is terrible!
  5. + Titanium IDE + (leaky) abstraction layer for UI code
  6. + JavaScript compiled into native code + Titanium IDE + (leaky) abstraction layer for UI code
  7. + Highlight differences compared to a native UI + Android is a second class citizen + WP version is terrible!
  8. + Highlight differences compared to a native UI + Android is a second class citizen + WP version is terrible!
  9. My personal approach for choosing a platform for a specific development is as follows:  * Determine exactly what platforms you want to reach, iPhone, Android (which version numbers), BlackBerry, WindowsPhone ...  * Define the requirements that you feel will be the most challenging.  * Take these requirements and turn them into a few representative screens or UIs. In other words, do a little bit of your app design.  * Use PropertyCross ( http://www.propertycross.com ) to help select a few frameworks that you think might work for you, in that they deliver a user experience you are happy with and that the tools / language are suitable for your development team.  * Prototype your application using the frameworks you want to test out.  * Place these prototypes in the hands of your users, stakeholders, developers - your wife and mother-in-law. See what the users reaction is to each framework.  * Take a view on delivered user experience versus cost for each frameworks.  * Choose one and go for it!  Prototyping with a few frameworks might sound costly, but with so many options, each of which are quite different, I feel it is the only way to be sure you have made the right decision. Making the wrong decision can be very costly. You don't want to do a 'Facebook' and have to throw away your whole application because you are the wrong choice!  Finally, in step (4) above make sure you also consider native and non HTML5-based frameworks (Xamarin, Titanium, AdobeAir). HTML5 is not the only way to make a cross-platform application!