SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
Building Cross-Platform Mobile Apps
with PhoneGap and Sencha Touch
Axel Buerkle
Agenda
• Approaches to mobile app development
• Tools and frameworks
 Sencha Touch
 PhoneGap
• Demos
Mobile App Development Approaches
Mobile
app
Native
app
Hybrid
app
Web
app
Native Mobile App
• Written in the native programming language for the
mobile device
 iOS: Objective-C
 Android: Java
 Windows Phone 8: .NET
 BlackBerry 10: C/C++
• Platform specific, i.e. iPhone apps don’t run on Android
devices
• Distributed through the app store
Mobile
app
Native
app
Hybrid
app
Web
app
Mobile Web App
• Typically written in HTML, CSS and JavaScript
• Made available through a web server (not distributed
through the app store)
• Runs in mobile device’s browser
 Device independent
• Usually requires a data connection
Mobile
app
Native
app
Hybrid
app
Web
app
Hybrid Mobile App
• Mostly written in HTML, CSS and JavaScript
• Cross-platform (one code-base can target several
mobile platforms)
• Can be enriched with native code (e.g. to provide
access to hardware features)
• Can be distributed like native apps
Mobile
app
Native
app
Hybrid
app
Web
app
Native Mobile Apps
• Advantages
 Full access to device specific features
 Best possible performance and UI responsiveness
 Native look-and-feel
Mobile
app
Native
app
Hybrid
app
Web
app
Native Mobile Apps
• Disadvantages
 Individual implementation for each platform
 Little code reuse
 Developers need different skill sets for each
platform
 Dedicated hardware needed (Mac for iOS
development, Windows PC for Windows Phone)
Mobile
app
Native
app
Hybrid
app
Web
app
Mobile Web Apps
• Advantages
 Development based on well-known technologies
 Target wide range of devices with limited effort
 Can be published and updated immediately
 Avoids review process of app store
 Review process can sometimes be lengthy and
unpredictable
Mobile
app
Native
app
Hybrid
app
Web
app
Mobile Web Apps
• Disadvantages
 Limited or no access to device specific features
(camera, contacts list, notifications, GPS, etc.)
 Inferior performance and UI responsiveness
 Lack of native look-and-feel
 Can be imitated with some effort and the right
tools
Mobile
app
Native
app
Hybrid
app
Web
app
Hybrid Mobile Apps
• Advantages
 Combines advantages of web and native apps
 Target different platforms with limited effort
 Full access to device specific features
Mobile
app
Native
app
Hybrid
app
Web
app
Hybrid Mobile Apps
• Disadvantages
 Developers still have to be familiar with different
technologies
 Possible performance and UI responsiveness issues
 Possible risk of app store rejection
 Rejection based on functionality of the app
rather than on the tools it was built with
 App should do more than what a web site does
Mobile
app
Native
app
Hybrid
app
Web
app
When to Choose the Hybrid Approach?
• Willing to compromise on UX for speed to market and
cross platform support
• Only have access to web developers
• App store upload is a requirement
• There is code than can be re-used, e.g. a mobile web
site
• Budget / timeframe does not allow individual native
solutions
Tools for Building Cross-plattform Apps
• PhoneGap (aka Cordova)
• Sencha Touch
• Titanium
• Xamarin
• jQuery Mobile
• Corona
• Motorola RhoMobile
• Maqetta
• Ignite UI
• Kendo UI
• AppBuilder (Icenium)
• Marmalade SDK
• Brightcove AppCloud
• App Machine
• App Gyver Steroids
• Many more …
What is Sencha Touch?
• Performance-optimized HTML5 framework for building
mobile apps
• Complete set of mobile UI components
• Various built-in themes
• Built-in MVC system
• PhoneGap integration
• Free commercial license
Sencha Touch Demo
What is PhoneGap?
• Multiplatform development framework
• Open-source (Apache 2.0 License)
• Build applications using JavaScript, HTML and CSS
 Instead of having to use less-known languages such
as Objective-C
…
Why PhoneGap?
• Build for large number of platforms
 iOS (6 or higher, Xcode 4.5+)
 Android (2.2, 2.3, 4.x)
 Amazon Fire OS
 BlackBerry 10
 Windows Phone 7 + 8
 Windows 8
 Tizen
 Firefox OS
 WebOS, Symbian, Bada (PhoneGap < 2.7.0)
Why PhoneGap?
• Build iOS apps without a
Mac
 PhoneGap Build
• Allows access to
underlying hardware such
as accelerometer or GPS
• Invoke native code from
JavaScript
 “Plugins”
Demo PhoneGap Demo
Limitations
• Heavyweight data processing better done in native
code (not JavaScript)
• JavaScript cannot do background processing
 Web Workers
Testing Cross-Platform Applications
• Cloud-based, e.g. Xamarin Test Cloud
• Framework-specific tools, e.g. App Inspector for Sencha
(Chrome Extension)
• Appium
 Open source test automation framework for native
and hybrid apps
 Supports iOS, Android, Firefox OS
 No need to recompile app or modify it
 Write tests using Java, Objective-C, JavaScript,
PHP, Python, Ruby, C#, Clojure, or Perl
 Gappium for PhoneGap / Cordova apps
Summary
• Different approaches to
writing mobile apps
• Great tools for cross-
platform development
available
• Native is not always
“better”
• Understand your
requirements
• Testing hybrid apps still
a challenge
Questions?
Axel Buerkle
Technology Research Analyst
ONLINE BUSINESS SYSTEMS
200-115 Bannatyne Ave., Winnipeg MB R3B 0R3
abuerkle@obsglobal.com | Direct Line: 204.982.7850
www.obsglobal.com
Explore | Innovate | Lead

Más contenido relacionado

La actualidad más candente

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
 
WIPJam Cross Platform Tools - Dec 2013
WIPJam   Cross Platform Tools - Dec 2013WIPJam   Cross Platform Tools - Dec 2013
WIPJam Cross Platform Tools - Dec 2013Mark Arteaga
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikMukteswar Patnaik
 
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
 
Hybrid App Development with PhoneGap
Hybrid App Development with PhoneGapHybrid App Development with PhoneGap
Hybrid App Development with PhoneGapDotitude
 
Hybrid Mobile Application
Hybrid Mobile ApplicationHybrid Mobile Application
Hybrid Mobile ApplicationMary Jose
 
Cross platform mobile applications - Touch Tour Chennai
Cross platform mobile applications - Touch Tour ChennaiCross platform mobile applications - Touch Tour Chennai
Cross platform mobile applications - Touch Tour ChennaiRIA RUI Society
 
Hybrid Mobile Development
Hybrid Mobile DevelopmentHybrid Mobile Development
Hybrid Mobile DevelopmentShai Raiten
 
Native vs Web vs Hybrid Mobile Application Development
Native vs Web vs Hybrid Mobile Application DevelopmentNative vs Web vs Hybrid Mobile Application Development
Native vs Web vs Hybrid Mobile Application DevelopmentKosala Nuwan Perera
 
Web App VS. Hybrid App VS. Native App?
Web App VS. Hybrid App VS. Native App?Web App VS. Hybrid App VS. Native App?
Web App VS. Hybrid App VS. Native App?Justin O'Neill
 
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
 
Multiplatform App Architecture
Multiplatform App ArchitectureMultiplatform App Architecture
Multiplatform App ArchitectureEdwin Van Schaick
 
Trending mobile application Development
Trending mobile application DevelopmentTrending mobile application Development
Trending mobile application DevelopmentPraveen Kumar A G
 
Secrets of apps in digital marketing
Secrets of apps in digital marketingSecrets of apps in digital marketing
Secrets of apps in digital marketingWDP Technologies
 
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
 
Building Hybrid Apps with AngularJS and Ionic
Building Hybrid Apps with AngularJS and IonicBuilding Hybrid Apps with AngularJS and Ionic
Building Hybrid Apps with AngularJS and IonicYounes Adounis
 

La actualidad más candente (20)

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
 
Hybrid mobile apps
Hybrid mobile appsHybrid mobile apps
Hybrid mobile apps
 
Native vs. Hybrid Apps
Native vs. Hybrid AppsNative vs. Hybrid Apps
Native vs. Hybrid Apps
 
WIPJam Cross Platform Tools - Dec 2013
WIPJam   Cross Platform Tools - Dec 2013WIPJam   Cross Platform Tools - Dec 2013
WIPJam Cross Platform Tools - Dec 2013
 
Hybrid Mobile App
Hybrid Mobile AppHybrid Mobile App
Hybrid Mobile App
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar Patnaik
 
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
 
Hybrid App Development with PhoneGap
Hybrid App Development with PhoneGapHybrid App Development with PhoneGap
Hybrid App Development with PhoneGap
 
Hybrid Mobile Application
Hybrid Mobile ApplicationHybrid Mobile Application
Hybrid Mobile Application
 
Cross platform mobile applications - Touch Tour Chennai
Cross platform mobile applications - Touch Tour ChennaiCross platform mobile applications - Touch Tour Chennai
Cross platform mobile applications - Touch Tour Chennai
 
Hybrid Mobile Development
Hybrid Mobile DevelopmentHybrid Mobile Development
Hybrid Mobile Development
 
Native vs Web vs Hybrid Mobile Application Development
Native vs Web vs Hybrid Mobile Application DevelopmentNative vs Web vs Hybrid Mobile Application Development
Native vs Web vs Hybrid Mobile Application Development
 
Web App VS. Hybrid App VS. Native App?
Web App VS. Hybrid App VS. Native App?Web App VS. Hybrid App VS. Native App?
Web App VS. Hybrid App VS. Native App?
 
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
 
Multiplatform App Architecture
Multiplatform App ArchitectureMultiplatform App Architecture
Multiplatform App Architecture
 
Trending mobile application Development
Trending mobile application DevelopmentTrending mobile application Development
Trending mobile application Development
 
Secrets of apps in digital marketing
Secrets of apps in digital marketingSecrets of apps in digital marketing
Secrets of apps in digital marketing
 
Introduction to Mobile Development
Introduction to Mobile DevelopmentIntroduction to Mobile Development
Introduction to Mobile Development
 
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
 
Building Hybrid Apps with AngularJS and Ionic
Building Hybrid Apps with AngularJS and IonicBuilding Hybrid Apps with AngularJS and Ionic
Building Hybrid Apps with AngularJS and Ionic
 

Similar a Building Cross-Platform Apps with PhoneGap & Sencha

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
 
Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with IonicMaulik Bamania
 
Midweek breather hybridapps
Midweek breather hybridappsMidweek breather hybridapps
Midweek breather hybridappsstrider1981
 
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
 
MobApp development 01 application platform.pptx
MobApp development 01 application platform.pptxMobApp development 01 application platform.pptx
MobApp development 01 application platform.pptxsanaiftikhar23
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Nuxeo
 
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
 
Synapse india reviews on asp.net mobile application
Synapse india reviews on asp.net mobile applicationSynapse india reviews on asp.net mobile application
Synapse india reviews on asp.net mobile applicationsaritasingh19866
 
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
 
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.
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile DevelopmentManesh Lad
 
Crossplatform Mobileapplications
Crossplatform MobileapplicationsCrossplatform Mobileapplications
Crossplatform MobileapplicationsRamkumar R
 
2011 code camp
2011 code camp2011 code camp
2011 code campimranq2
 
Build Your First iPhone or Android App with Telerik AppBuilder
Build Your First iPhone or Android App with Telerik AppBuilderBuild Your First iPhone or Android App with Telerik AppBuilder
Build Your First iPhone or Android App with Telerik AppBuilderJeffrey T. Fritz
 
An overview of mobile html + java script frameworks
An overview of mobile html + java script frameworksAn overview of mobile html + java script frameworks
An overview of mobile html + java script frameworksSasha dos Santos
 
Deal with the dilemma of hybrid and native
Deal with the dilemma of hybrid and nativeDeal with the dilemma of hybrid and native
Deal with the dilemma of hybrid and nativeswamileo1
 
Cross-platform development frameworks
Cross-platform development frameworksCross-platform development frameworks
Cross-platform development frameworksCarlo Bernaschina
 
Mobile testing
Mobile testingMobile testing
Mobile testingAlex Hung
 

Similar a Building Cross-Platform Apps with PhoneGap & Sencha (20)

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
 
Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with Ionic
 
Midweek breather hybridapps
Midweek breather hybridappsMidweek breather hybridapps
Midweek breather hybridapps
 
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
 
MobApp development 01 application platform.pptx
MobApp development 01 application platform.pptxMobApp development 01 application platform.pptx
MobApp development 01 application platform.pptx
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
 
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
 
Synapse india reviews on asp.net mobile application
Synapse india reviews on asp.net mobile applicationSynapse india reviews on asp.net mobile application
Synapse india reviews on asp.net mobile application
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?
 
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
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
 
Crossplatform Mobileapplications
Crossplatform MobileapplicationsCrossplatform Mobileapplications
Crossplatform Mobileapplications
 
2011 code camp
2011 code camp2011 code camp
2011 code camp
 
Build Your First iPhone or Android App with Telerik AppBuilder
Build Your First iPhone or Android App with Telerik AppBuilderBuild Your First iPhone or Android App with Telerik AppBuilder
Build Your First iPhone or Android App with Telerik AppBuilder
 
An overview of mobile html + java script frameworks
An overview of mobile html + java script frameworksAn overview of mobile html + java script frameworks
An overview of mobile html + java script frameworks
 
Deal with the dilemma of hybrid and native
Deal with the dilemma of hybrid and nativeDeal with the dilemma of hybrid and native
Deal with the dilemma of hybrid and native
 
Mobile applications development
Mobile applications developmentMobile applications development
Mobile applications development
 
Cross-platform development frameworks
Cross-platform development frameworksCross-platform development frameworks
Cross-platform development frameworks
 
phonegap_101
phonegap_101phonegap_101
phonegap_101
 
Mobile testing
Mobile testingMobile testing
Mobile testing
 

Building Cross-Platform Apps with PhoneGap & Sencha

  • 1. Building Cross-Platform Mobile Apps with PhoneGap and Sencha Touch Axel Buerkle
  • 2. Agenda • Approaches to mobile app development • Tools and frameworks  Sencha Touch  PhoneGap • Demos
  • 3. Mobile App Development Approaches Mobile app Native app Hybrid app Web app
  • 4. Native Mobile App • Written in the native programming language for the mobile device  iOS: Objective-C  Android: Java  Windows Phone 8: .NET  BlackBerry 10: C/C++ • Platform specific, i.e. iPhone apps don’t run on Android devices • Distributed through the app store Mobile app Native app Hybrid app Web app
  • 5. Mobile Web App • Typically written in HTML, CSS and JavaScript • Made available through a web server (not distributed through the app store) • Runs in mobile device’s browser  Device independent • Usually requires a data connection Mobile app Native app Hybrid app Web app
  • 6. Hybrid Mobile App • Mostly written in HTML, CSS and JavaScript • Cross-platform (one code-base can target several mobile platforms) • Can be enriched with native code (e.g. to provide access to hardware features) • Can be distributed like native apps Mobile app Native app Hybrid app Web app
  • 7. Native Mobile Apps • Advantages  Full access to device specific features  Best possible performance and UI responsiveness  Native look-and-feel Mobile app Native app Hybrid app Web app
  • 8. Native Mobile Apps • Disadvantages  Individual implementation for each platform  Little code reuse  Developers need different skill sets for each platform  Dedicated hardware needed (Mac for iOS development, Windows PC for Windows Phone) Mobile app Native app Hybrid app Web app
  • 9. Mobile Web Apps • Advantages  Development based on well-known technologies  Target wide range of devices with limited effort  Can be published and updated immediately  Avoids review process of app store  Review process can sometimes be lengthy and unpredictable Mobile app Native app Hybrid app Web app
  • 10. Mobile Web Apps • Disadvantages  Limited or no access to device specific features (camera, contacts list, notifications, GPS, etc.)  Inferior performance and UI responsiveness  Lack of native look-and-feel  Can be imitated with some effort and the right tools Mobile app Native app Hybrid app Web app
  • 11. Hybrid Mobile Apps • Advantages  Combines advantages of web and native apps  Target different platforms with limited effort  Full access to device specific features Mobile app Native app Hybrid app Web app
  • 12. Hybrid Mobile Apps • Disadvantages  Developers still have to be familiar with different technologies  Possible performance and UI responsiveness issues  Possible risk of app store rejection  Rejection based on functionality of the app rather than on the tools it was built with  App should do more than what a web site does Mobile app Native app Hybrid app Web app
  • 13. When to Choose the Hybrid Approach? • Willing to compromise on UX for speed to market and cross platform support • Only have access to web developers • App store upload is a requirement • There is code than can be re-used, e.g. a mobile web site • Budget / timeframe does not allow individual native solutions
  • 14. Tools for Building Cross-plattform Apps • PhoneGap (aka Cordova) • Sencha Touch • Titanium • Xamarin • jQuery Mobile • Corona • Motorola RhoMobile • Maqetta • Ignite UI • Kendo UI • AppBuilder (Icenium) • Marmalade SDK • Brightcove AppCloud • App Machine • App Gyver Steroids • Many more …
  • 15. What is Sencha Touch? • Performance-optimized HTML5 framework for building mobile apps • Complete set of mobile UI components • Various built-in themes • Built-in MVC system • PhoneGap integration • Free commercial license
  • 17. What is PhoneGap? • Multiplatform development framework • Open-source (Apache 2.0 License) • Build applications using JavaScript, HTML and CSS  Instead of having to use less-known languages such as Objective-C …
  • 18. Why PhoneGap? • Build for large number of platforms  iOS (6 or higher, Xcode 4.5+)  Android (2.2, 2.3, 4.x)  Amazon Fire OS  BlackBerry 10  Windows Phone 7 + 8  Windows 8  Tizen  Firefox OS  WebOS, Symbian, Bada (PhoneGap < 2.7.0)
  • 19. Why PhoneGap? • Build iOS apps without a Mac  PhoneGap Build • Allows access to underlying hardware such as accelerometer or GPS • Invoke native code from JavaScript  “Plugins”
  • 21. Limitations • Heavyweight data processing better done in native code (not JavaScript) • JavaScript cannot do background processing  Web Workers
  • 22. Testing Cross-Platform Applications • Cloud-based, e.g. Xamarin Test Cloud • Framework-specific tools, e.g. App Inspector for Sencha (Chrome Extension) • Appium  Open source test automation framework for native and hybrid apps  Supports iOS, Android, Firefox OS  No need to recompile app or modify it  Write tests using Java, Objective-C, JavaScript, PHP, Python, Ruby, C#, Clojure, or Perl  Gappium for PhoneGap / Cordova apps
  • 23. Summary • Different approaches to writing mobile apps • Great tools for cross- platform development available • Native is not always “better” • Understand your requirements • Testing hybrid apps still a challenge
  • 24. Questions? Axel Buerkle Technology Research Analyst ONLINE BUSINESS SYSTEMS 200-115 Bannatyne Ave., Winnipeg MB R3B 0R3 abuerkle@obsglobal.com | Direct Line: 204.982.7850 www.obsglobal.com Explore | Innovate | Lead