SlideShare a Scribd company logo
1 of 23
Making the Mobile Web Native with PhoneGap

Roy Clarkson and Keith Donald
SpringSource, a division of VMware, Inc.




© 2011 SpringOne 2GX 2011. All rights reserved. Do not distribute without permission.
Agenda

•   Introduction
•   Support for Android and iOS
•   PhoneGap API & Plugins
•   PhoneGap Build
•   Remote Debugging
•   html5expense reference app walk-through
•   Q&A




2
Introduction




3
What problem are we trying to solve?

• Each device has a different native development SDK and
  associated programming language
• For a variety of reasons, it may not be feasible to build
  and maintain multiple native apps
• How can we reach all these different devices and app
  stores?




4
Native Development Environments




5
What is the solution?

• Build your application using web standards like HTML5,
  CSS3, and JavaScript.
• But what about accessing other features of the device,
  such as the camera or contacts list?




6
What is PhoneGap?

“PhoneGap is an HTML5 app platform that allows you to
author native applications with web technologies and get
access to APIs and app stores. PhoneGap leverages web
technologies developers already know best... HTML and
JavaScript.” - phonegap.com




7
PhoneGap and Nitobi in the News


• In October 2011, Adobe acquired Nitobi enabling the team
  to focus solely on the PhoneGap project and continue its
  work on efficient expressive design and development
  across devices.

• The PhoneGap code was contributed to the Apache
  Software Foundation (ASF) under the name Apache
  Callback in October 2011. It is currently under incubation
  until it can become a full Apache project.




8
Support for iOS and Android




9   © 2011 SpringOne 2GX 2011. All rights reserved. Do not distribute without permission.
iOS Configuration

•    Mac OS X
•    Xcode 4
•    iOS simulator
•    PhoneGap
•    Xcode project template




10
Android Configuration

•    Eclipse
•    Android SDK
•    ADT Plugin for Eclipse
•    PhoneGap




11
Phonegap API and plugins




12   © 2011 SpringOne 2GX 2011. All rights reserved. Do not distribute without permission.
Phonegap Core Device APIs

•    Accelerometer
•    Camera / Media Capture
•    Connection
•    Compass
•    Contacts
•    Events / Notifications
•    File
•    Geolocation
•    Storage




13
Phonegap Core Device APIs (2)

• API Documentation
     – http://docs.phonegap.com/en/1.1.0/

• Source Code
     – Android: https://github.com/callback/callback-android
     – IOS: https://github.com/callback/callback-ios




14
Demo: Phonegap APIs




15   © 2011 SpringOne 2GX 2011. All rights reserved. Do not distribute without permission.
Phonegap Plugins

• Moving toward “everything is a plugin” model
• Core “plugins” included by default
• New plugins can be added / developed in a consistent
  way
     – JavaScripts
     – Native bridging for each platform e.g .java

• Source Code
     – https://github.com/phonegap/phonegap-plugins




16
Demo: Plugins




17   © 2011 SpringOne 2GX 2011. All rights reserved. Do not distribute without permission.
PhoneGap Build

• Cross platform
     –   iOS
     –   Android
     –   webOS
     –   Symbian
     –   BlackBerry
• No local setup required
• Supports Git
• https://build.phonegap.com/




18
Demo

     Getting started with Phonegap Build
     https://build.phonegap.com
     https://github.com/kdonald/hello-phonegap




19   © 2011 SpringOne 2GX 2011. All rights reserved. Do not distribute without permission.
Debugging

• Weinre
     – Debugger for web pages
     – Designed to work remotely
     – Debug web pages on a phone


• Availability
     – http://debug.phonegap.com/
     – http://phonegap.github.com/weinre/




20
Demo

     Remote debugging demo




21   © 2011 SpringOne 2GX 2011. All rights reserved. Do not distribute without permission.
html5expense walkthrough

•    Phonegap 1.1.0
•    jquery Mobile
•    Camera API
•    “Stopgap” for portability
•    PhoneGap build for native builds
     – Also created native projects so we can do local builds
• Weinre for remote debugging
• “Hydra” for dynamic update capability




22
Q&A




23   © 2011 SpringOne 2GX 2011. All rights reserved. Do not distribute without permission.

More Related Content

What's hot

Appcelerator Titanium Intro
Appcelerator Titanium IntroAppcelerator Titanium Intro
Appcelerator Titanium Intro
Nicholas Jansma
 

What's hot (20)

Developing Hybrid Applications with IONIC
Developing Hybrid Applications with IONICDeveloping Hybrid Applications with IONIC
Developing Hybrid Applications with IONIC
 
Wikipedia Mobile App with PhoneGap
Wikipedia Mobile App with PhoneGapWikipedia Mobile App with PhoneGap
Wikipedia Mobile App with PhoneGap
 
Ionic - Revolutionizing Hybrid Mobile Application Development
Ionic - Revolutionizing Hybrid Mobile Application DevelopmentIonic - Revolutionizing Hybrid Mobile Application Development
Ionic - Revolutionizing Hybrid Mobile Application Development
 
Rapid mobile development with Ionic framework - Voxxdays Ticino 2015
Rapid mobile development with Ionic framework - Voxxdays Ticino 2015Rapid mobile development with Ionic framework - Voxxdays Ticino 2015
Rapid mobile development with Ionic framework - Voxxdays Ticino 2015
 
Ionic Mobile Applications - Hybrid Mobile Applications Without Compromises
Ionic Mobile Applications - Hybrid Mobile Applications Without CompromisesIonic Mobile Applications - Hybrid Mobile Applications Without Compromises
Ionic Mobile Applications - Hybrid Mobile Applications Without Compromises
 
Intro to PhoneGap
Intro to PhoneGapIntro to PhoneGap
Intro to PhoneGap
 
Automating PhoneGap Build
Automating PhoneGap BuildAutomating PhoneGap Build
Automating PhoneGap Build
 
Selendroid - Selenium for Android
Selendroid - Selenium for AndroidSelendroid - Selenium for Android
Selendroid - Selenium for Android
 
Experiences building apps with React Native @DomCode 2016
Experiences building apps with React Native @DomCode 2016Experiences building apps with React Native @DomCode 2016
Experiences building apps with React Native @DomCode 2016
 
Ionic framework one day training
Ionic framework one day trainingIonic framework one day training
Ionic framework one day training
 
React Native
React NativeReact Native
React Native
 
ReactJS
ReactJSReactJS
ReactJS
 
Mobile Applications with Angular 4 and Ionic 3
Mobile Applications with Angular 4 and Ionic 3Mobile Applications with Angular 4 and Ionic 3
Mobile Applications with Angular 4 and Ionic 3
 
Cordova, Angularjs & Ionic @ Codeaholics
Cordova, Angularjs & Ionic @ CodeaholicsCordova, Angularjs & Ionic @ Codeaholics
Cordova, Angularjs & Ionic @ Codeaholics
 
Hybrid app development with ionic
Hybrid app development with ionicHybrid app development with ionic
Hybrid app development with ionic
 
Hybrid app in ionic framework overview
Hybrid app in ionic framework overviewHybrid app in ionic framework overview
Hybrid app in ionic framework overview
 
Cloud Collaboration with Eclipse Che
Cloud Collaboration with Eclipse CheCloud Collaboration with Eclipse Che
Cloud Collaboration with Eclipse Che
 
Ionic Framework
Ionic FrameworkIonic Framework
Ionic Framework
 
Lesson 1. Create project Sunshine
Lesson 1. Create project SunshineLesson 1. Create project Sunshine
Lesson 1. Create project Sunshine
 
Appcelerator Titanium Intro
Appcelerator Titanium IntroAppcelerator Titanium Intro
Appcelerator Titanium Intro
 

Similar to Making the Mobile Web Native with PhoneGap

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
Nick Landry
 
2011 code camp
2011 code camp2011 code camp
2011 code camp
imranq2
 
Getting started with PhoneGap
Getting started with PhoneGapGetting started with PhoneGap
Getting started with PhoneGap
Mihai Corlan
 

Similar to Making the Mobile Web Native with PhoneGap (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
 
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
 
Developing Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapDeveloping Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGap
 
I knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile appsI knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile apps
 
Cross platform mobile application development
Cross platform mobile application developmentCross platform mobile application development
Cross platform mobile application development
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
 
tittanium
tittaniumtittanium
tittanium
 
2011 code camp
2011 code camp2011 code camp
2011 code camp
 
«I knew there had to be a better way to build mobile app»​
«I knew there had to be a better way to build mobile app»​«I knew there had to be a better way to build mobile app»​
«I knew there had to be a better way to build mobile app»​
 
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...
 
Skip the IDE with PhoneGap Build
Skip the IDE with PhoneGap BuildSkip the IDE with PhoneGap Build
Skip the IDE with PhoneGap Build
 
PhoneGap
PhoneGapPhoneGap
PhoneGap
 
Phone gap
Phone gapPhone gap
Phone gap
 
Introduction to Phonegap
Introduction to PhonegapIntroduction to Phonegap
Introduction to Phonegap
 
Getting started with PhoneGap
Getting started with PhoneGapGetting started with PhoneGap
Getting started with PhoneGap
 
Rapid Prototyping with Cordova aka Phonegap
Rapid Prototyping with Cordova aka PhonegapRapid Prototyping with Cordova aka Phonegap
Rapid Prototyping with Cordova aka Phonegap
 
Building Mobile Apps with Cordova , AngularJS and Ionic
Building Mobile Apps with Cordova , AngularJS and IonicBuilding Mobile Apps with Cordova , AngularJS and Ionic
Building Mobile Apps with Cordova , AngularJS and Ionic
 
Cross platform mobile application devlopment
Cross platform mobile application devlopmentCross platform mobile application devlopment
Cross platform mobile application devlopment
 
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
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 

Making the Mobile Web Native with PhoneGap

  • 1. Making the Mobile Web Native with PhoneGap Roy Clarkson and Keith Donald SpringSource, a division of VMware, Inc. © 2011 SpringOne 2GX 2011. All rights reserved. Do not distribute without permission.
  • 2. Agenda • Introduction • Support for Android and iOS • PhoneGap API & Plugins • PhoneGap Build • Remote Debugging • html5expense reference app walk-through • Q&A 2
  • 4. What problem are we trying to solve? • Each device has a different native development SDK and associated programming language • For a variety of reasons, it may not be feasible to build and maintain multiple native apps • How can we reach all these different devices and app stores? 4
  • 6. What is the solution? • Build your application using web standards like HTML5, CSS3, and JavaScript. • But what about accessing other features of the device, such as the camera or contacts list? 6
  • 7. What is PhoneGap? “PhoneGap is an HTML5 app platform that allows you to author native applications with web technologies and get access to APIs and app stores. PhoneGap leverages web technologies developers already know best... HTML and JavaScript.” - phonegap.com 7
  • 8. PhoneGap and Nitobi in the News • In October 2011, Adobe acquired Nitobi enabling the team to focus solely on the PhoneGap project and continue its work on efficient expressive design and development across devices. • The PhoneGap code was contributed to the Apache Software Foundation (ASF) under the name Apache Callback in October 2011. It is currently under incubation until it can become a full Apache project. 8
  • 9. Support for iOS and Android 9 © 2011 SpringOne 2GX 2011. All rights reserved. Do not distribute without permission.
  • 10. iOS Configuration • Mac OS X • Xcode 4 • iOS simulator • PhoneGap • Xcode project template 10
  • 11. Android Configuration • Eclipse • Android SDK • ADT Plugin for Eclipse • PhoneGap 11
  • 12. Phonegap API and plugins 12 © 2011 SpringOne 2GX 2011. All rights reserved. Do not distribute without permission.
  • 13. Phonegap Core Device APIs • Accelerometer • Camera / Media Capture • Connection • Compass • Contacts • Events / Notifications • File • Geolocation • Storage 13
  • 14. Phonegap Core Device APIs (2) • API Documentation – http://docs.phonegap.com/en/1.1.0/ • Source Code – Android: https://github.com/callback/callback-android – IOS: https://github.com/callback/callback-ios 14
  • 15. Demo: Phonegap APIs 15 © 2011 SpringOne 2GX 2011. All rights reserved. Do not distribute without permission.
  • 16. Phonegap Plugins • Moving toward “everything is a plugin” model • Core “plugins” included by default • New plugins can be added / developed in a consistent way – JavaScripts – Native bridging for each platform e.g .java • Source Code – https://github.com/phonegap/phonegap-plugins 16
  • 17. Demo: Plugins 17 © 2011 SpringOne 2GX 2011. All rights reserved. Do not distribute without permission.
  • 18. PhoneGap Build • Cross platform – iOS – Android – webOS – Symbian – BlackBerry • No local setup required • Supports Git • https://build.phonegap.com/ 18
  • 19. Demo Getting started with Phonegap Build https://build.phonegap.com https://github.com/kdonald/hello-phonegap 19 © 2011 SpringOne 2GX 2011. All rights reserved. Do not distribute without permission.
  • 20. Debugging • Weinre – Debugger for web pages – Designed to work remotely – Debug web pages on a phone • Availability – http://debug.phonegap.com/ – http://phonegap.github.com/weinre/ 20
  • 21. Demo Remote debugging demo 21 © 2011 SpringOne 2GX 2011. All rights reserved. Do not distribute without permission.
  • 22. html5expense walkthrough • Phonegap 1.1.0 • jquery Mobile • Camera API • “Stopgap” for portability • PhoneGap build for native builds – Also created native projects so we can do local builds • Weinre for remote debugging • “Hydra” for dynamic update capability 22
  • 23. Q&A 23 © 2011 SpringOne 2GX 2011. All rights reserved. Do not distribute without permission.