SlideShare a Scribd company logo
1 of 63
@ChrisGriffith
Disclaimer

These opinions and thoughts are my own, and
may or may not reflect the opinions of the
company that I work for.
Who has built for mobile?
Who is developing for iOS?
Who is developing for Android?
I need to make a mobile app…
Objective C

Android
Flavored Java

C# XAML
Objective C

Android
Flavored Java

C# XAML
PhoneGap
Genesis
Getting Started

cordova.apache.org
But who really uses HTML in their app?
What is PhoneGap?
Application container that allows you to build
natively installed apps using HTML, CSS & JavaScript
What is PhoneGap?

Your Code
What is PhoneGap?

Your Code

Native Web View
What is PhoneGap?

Your Code

Native Web View
Native APIs
What is PhoneGap?

Your Code

Native Web View
Native APIs

Native App - .apk, .ipa, etc
What platforms support PhoneGap?
Since it is HTML, CSS & JSS, can I use existing
tools/frameworks?
Caution…

PhoneGap uses the NATIVE browser on the
device to render the HTML/CSS/JS
Keep that in mind, as that can affect the experience
Device Access
Features
Accelerometer - when the device moves
Camera - pictures of your cat
Capture - audio, video, stills of your cat
Compass - for when you're lost
Connection - type of connection
Contacts - find and create new friends
Features
Device - device and OS version metadata
Events - various app/hardware related events
File - native file system access (+ upload)
Geolocation - for when you're lost
Globalization - date/number/currency
formatting
Features
Media - related to audio playback (supports
record as well)
Notification - visual, audible, and tactile
notifications
Splashscreen - for your splash screen needs
Storage - Mini database
PhoneGap 3.0
Beyond the mobile web
PhoneGap is extensible with a “native plugin”
model that enables you to write your own
native logic to access via JavaScript.
There are lots of open source plugins at
https://github.com/phonegap/phonegapplugins
Learn more at
http://wiki.phonegap.com/w/page/36752779
/ PhoneGap%20Plugins
PhoneGap Community (some…)
Building it

phonegap.com/start
Command Line Interface

docs.phonegap.com/en/3.0.0/guide_cli_index.md.html
Building it

build.phonegap.com
<?xml version="1.0" encoding="UTF-8"?>
<widget xmlns = "http://www.w3.org/ns/widgets"
xmlns:gap = "http://phonegap.com/ns/1.0"
id
= "com.ajsoftware.demo.parkfinderhd"
versionCode=""
version = "1.0.1">
<name>Park Finder HD</name>
<description>A demonstration of jQuery Mobile and PhoneGap Build</description>
<author href="http://www.aj-software.com" email="chris.griffith@gmail.com">Chris
Griffith</author>
<preference name="phonegap-version" value="3.0.0" />
<preference name="orientation" value="portrait" />
<preference name="target-device" value="universal" />
<preference name="fullscreen" value="true" />
<preference name="webviewbounce" value="true" />
<preference name="prerendered-icon" value="true" />
<preference name="stay-in-webview" value="true" />
<preference name="ios-statusbarstyle" value="black-opaque" />
<preference name="detect-data-types" value="true" />
<preference name="exit-on-suspend" value="true" />
<preference name="show-splash-screen-spinner" value="true" />
<preference name="auto-hide-splash-screen" value="true" />
<preference name="disable-cursor" value="true" />
<preference name="android-minSdkVersion" value="11" />
<preference name="android-installLocation" value="auto" />
<preference name="splash-screen-duration" value="5000" />
<preference name="load-url-timeout" value="20000" />
<gap:platform name="ios" />
<gap:platform name="android" />
<gap:platform name="winphone" />
<feature name="http://api.phonegap.com/1.0/camera"/>
<feature name="http://api.phonegap.com/1.0/geolocation"/>
<feature name="http://api.phonegap.com/1.0/network"/>
<feature name="http://api.phonegap.com/1.0/notification"/>
<gap:plugin name="org.apache.cordova.core.media-capture" />
<gap:plugin name="org.apache.cordova.core.camera" />
<gap:plugin name="org.apache.cordova.core.geolocation" />
<gap:plugin name="org.apache.cordova.core.device" />
<gap:plugin name="org.apache.cordova.core.device-motion" />
<gap:plugin name="org.apache.cordova.core.network-information" />
<gap:plugin name="org.apache.cordova.core.dialogs" />
<gap:plugin name="org.apache.cordova.core.globalization" />
<gap:plugin name="org.apache.cordova.core.console" />
<gap:plugin name="org.apache.cordova.core.audiohandler" />
<gap:plugin name="org.apache.cordova.core.battery-status" />
<gap:plugin name="org.apache.cordova.core.file" />
<gap:plugin name="org.apache.cordova.core.device-orientation" />
<gap:plugin name="org.apache.cordova.core.file-transfer" />
<gap:plugin name="org.apache.cordova.core.splashscreen" />
<gap:plugin name="org.apache.cordova.core.vibration" />
<gap:plugin name="org.apache.cordova.core.inappbrowser" />
<icon src="icons/icon_57.png" gap:platform="ios" width="57" height="57" />
<icon src="icons/icon_72.png" gap:platform="ios" width="72" height="72" />
<icon src="icons/icon_114.png" gap:platform="ios" width="114" height="114" />
<icon src="icons/icon_144.png" gap:platform="ios" width="144" height="144" />
<icon src="icons/icon_36.png" gap:platform="android" gap:density="ldpi" />
<icon src="icons/icon_48.png" gap:platform="android" gap:density="mdpi" />
<icon src="icons/icon_72.png" gap:platform="android" gap:density="hdpi" />
<icon src="icons/icon_96.png" gap:platform="android" gap:density="xhdpi" />
<icon src="icons/icon_48.png" gap:platform="winphone" />
<icon src="icons/icon_62.png" gap:platform="winphone" gap:role="background" />
<icon src="icons/icon_64.png" gap:platform="blackberry" />
<icon src="icons/icon_64.png" gap:platform="webos" />
<gap:splash src="splash/splash_320_480.png" gap:platform="ios" width="320" height="480" />
<gap:splash src="splash/splash_640_960.png" gap:platform="ios" width="640" height="960" />
<gap:splash src="splash/splash_320_480.png" gap:platform="android" gap:density="mdpi" />
<gap:splash src="splash/splash_480_800.png" gap:platform="android" gap:density="hdpi" />
<gap:splash src="splash/splash_800_1280.png" gap:platform="android" gap:density="xhdpi" />
<access origin="*.google.com" subdomains="true" />
</widget>
ConfiGAP

configap.com
Building it

<Demo />
REAL WORLD BUILDING
•
•
•
•

Desktop Browser
Mobile via Web
Ripple Emulator
Local SDK to Simulator/Device
DESKTOP BROWSER
• Pro: Super Fast
• Pro: No setup
• Pro: Debugging Rocks
•
•
•
•

Con: UI isn't right
Con: UX isn't right
Con: Features missing
Con: Security restrictions
MOBILE VIA WEB
• Pro: Kinda Fast
• Pro: Minimal setup
• Pro: UI and UX testing
• Con: Features missing
• Con: Security restrictions
• Con: Debugging (kinda) sucks
RIPPLE EMULATOR
•
•
•
•

Pro: Fast
Pro: Similar UI
Pro: Free
Pro: Security restrictions gone

• Con: Doesn't support 100% of the PhoneGap
APIs
• Con: Still not on the device
TO INSTALL
• Go to the Chrome Web Store:
https://chrome.google.com/webstore/category/home

• Search for "ripple"
• Click Extensions
LOCAL SDK TO SIMULATOR/DEVICE
• Pro: The Real Deal
• Con: Slow(ish)
• Con: Not Free
• Con: Debugging can suck
TO BE CLEAR:
YOU MUST ALWAYS TEST ON A REAL DEVICE
Hydration
Now go build something!
Thanks!
chris.griffith@gmail.com
@chrisgriffith
http://chrisgriffith.wordpress.com/

More Related Content

What's hot

Introduction to Hybrid Application Development
Introduction to Hybrid Application DevelopmentIntroduction to Hybrid Application Development
Introduction to Hybrid Application DevelopmentDotitude
 
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
 
Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application developmentKunjan Thakkar
 
Introduction to The Scalable JavaScript Application Framework
Introduction to The Scalable JavaScript Application FrameworkIntroduction to The Scalable JavaScript Application Framework
Introduction to The Scalable JavaScript Application FrameworkEric Bréchemier
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App DevelopmentAnnmarie Lanesey
 
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchJQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchSteve Drucker
 
Mobile Development with PhoneGap
Mobile Development with PhoneGapMobile Development with PhoneGap
Mobile Development with PhoneGapJoshua Johnson
 
Build Cross-Platform Mobile Application with PhoneGap
Build Cross-Platform Mobile Application with PhoneGapBuild Cross-Platform Mobile Application with PhoneGap
Build Cross-Platform Mobile Application with PhoneGapAllan Huang
 
Building Native Mobile Applications with PhoneGap
Building Native Mobile Applications with PhoneGapBuilding Native Mobile Applications with PhoneGap
Building Native Mobile Applications with PhoneGapSimon MacDonald
 
Building apps for multiple devices
Building apps for multiple devicesBuilding apps for multiple devices
Building apps for multiple devicesTerry Ryan
 
Creating and Distributing Mobile Web Applications with PhoneGap
Creating and Distributing Mobile Web Applications with PhoneGapCreating and Distributing Mobile Web Applications with PhoneGap
Creating and Distributing Mobile Web Applications with PhoneGapJames Pearce
 
Using HTML5 to Build Mobile Apps
Using HTML5 to Build Mobile AppsUsing HTML5 to Build Mobile Apps
Using HTML5 to Build Mobile AppsTodd Anglin
 
Build run first web application using flutter for web
Build run first web application using flutter for webBuild run first web application using flutter for web
Build run first web application using flutter for webConcetto Labs
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application developmentKnoldus Inc.
 
PHP in a mobile ecosystem
PHP in a mobile ecosystem PHP in a mobile ecosystem
PHP in a mobile ecosystem Ivo Jansch
 
Hybrid Apps, Ionic framework
Hybrid Apps, Ionic frameworkHybrid Apps, Ionic framework
Hybrid Apps, Ionic frameworkOleksandr Telnov
 

What's hot (20)

Introduction to Hybrid Application Development
Introduction to Hybrid Application DevelopmentIntroduction to Hybrid Application Development
Introduction to Hybrid Application Development
 
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
 
Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application development
 
Phonegap
PhonegapPhonegap
Phonegap
 
Introduction to The Scalable JavaScript Application Framework
Introduction to The Scalable JavaScript Application FrameworkIntroduction to The Scalable JavaScript Application Framework
Introduction to The Scalable JavaScript Application Framework
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App Development
 
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchJQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
 
Phone gap
Phone gapPhone gap
Phone gap
 
Mobile Development with PhoneGap
Mobile Development with PhoneGapMobile Development with PhoneGap
Mobile Development with PhoneGap
 
Build Cross-Platform Mobile Application with PhoneGap
Build Cross-Platform Mobile Application with PhoneGapBuild Cross-Platform Mobile Application with PhoneGap
Build Cross-Platform Mobile Application with PhoneGap
 
Building Native Mobile Applications with PhoneGap
Building Native Mobile Applications with PhoneGapBuilding Native Mobile Applications with PhoneGap
Building Native Mobile Applications with PhoneGap
 
Building apps for multiple devices
Building apps for multiple devicesBuilding apps for multiple devices
Building apps for multiple devices
 
Creating and Distributing Mobile Web Applications with PhoneGap
Creating and Distributing Mobile Web Applications with PhoneGapCreating and Distributing Mobile Web Applications with PhoneGap
Creating and Distributing Mobile Web Applications with PhoneGap
 
Using HTML5 to Build Mobile Apps
Using HTML5 to Build Mobile AppsUsing HTML5 to Build Mobile Apps
Using HTML5 to Build Mobile Apps
 
Build run first web application using flutter for web
Build run first web application using flutter for webBuild run first web application using flutter for web
Build run first web application using flutter for web
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application development
 
phonegap_101
phonegap_101phonegap_101
phonegap_101
 
PHP in a mobile ecosystem
PHP in a mobile ecosystem PHP in a mobile ecosystem
PHP in a mobile ecosystem
 
Hybrid Apps, Ionic framework
Hybrid Apps, Ionic frameworkHybrid Apps, Ionic framework
Hybrid Apps, Ionic framework
 
Desarrollo AIR Mobile
Desarrollo AIR MobileDesarrollo AIR Mobile
Desarrollo AIR Mobile
 

Similar to Intro to PhoneGap and PhoneGap Build

Introduction phonegap
Introduction phonegapIntroduction phonegap
Introduction phonegapRakesh Jha
 
Advanced programing in phonegap
Advanced programing in phonegapAdvanced programing in phonegap
Advanced programing in phonegapRakesh Jha
 
phonegap with angular js for freshers
phonegap with angular js for freshers    phonegap with angular js for freshers
phonegap with angular js for freshers dssprakash
 
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDee Sadler
 
PhoneGap talk from Singapore
PhoneGap talk from SingaporePhoneGap talk from Singapore
PhoneGap talk from SingaporeSteve Gill
 
Getting started with PhoneGap
Getting started with PhoneGapGetting started with PhoneGap
Getting started with PhoneGapMihai Corlan
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011davyjones
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do ThatNathan Smith
 
Phonegap facebook- plugin
Phonegap facebook- pluginPhonegap facebook- plugin
Phonegap facebook- pluginSteve Gill
 
Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGapJoseph Labrecque
 
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make itJonathan Snook
 
Web APIs & Apps - Mozilla
Web APIs & Apps - MozillaWeb APIs & Apps - Mozilla
Web APIs & Apps - MozillaRobert Nyman
 
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
 
WebAPIs & Apps - Mozilla London
WebAPIs & Apps - Mozilla LondonWebAPIs & Apps - Mozilla London
WebAPIs & Apps - Mozilla LondonRobert Nyman
 
Creating mobile apps without native code
Creating mobile apps without native codeCreating mobile apps without native code
Creating mobile apps without native codeJoakim Kemeny
 
From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)Bramus Van Damme
 

Similar to Intro to PhoneGap and PhoneGap Build (20)

Introduction phonegap
Introduction phonegapIntroduction phonegap
Introduction phonegap
 
Advanced programing in phonegap
Advanced programing in phonegapAdvanced programing in phonegap
Advanced programing in phonegap
 
phonegap with angular js for freshers
phonegap with angular js for freshers    phonegap with angular js for freshers
phonegap with angular js for freshers
 
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile design
 
PhoneGap talk from Singapore
PhoneGap talk from SingaporePhoneGap talk from Singapore
PhoneGap talk from Singapore
 
Intro to PhoneGap
Intro to PhoneGapIntro to PhoneGap
Intro to PhoneGap
 
Getting started with PhoneGap
Getting started with PhoneGapGetting started with PhoneGap
Getting started with PhoneGap
 
Hybrid HTML5 Apps
Hybrid HTML5 AppsHybrid HTML5 Apps
Hybrid HTML5 Apps
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
 
Phonegap facebook- plugin
Phonegap facebook- pluginPhonegap facebook- plugin
Phonegap facebook- plugin
 
Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGap
 
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make it
 
Web APIs & Apps - Mozilla
Web APIs & Apps - MozillaWeb APIs & Apps - Mozilla
Web APIs & Apps - Mozilla
 
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
 
Intro to PhoneGap
Intro to PhoneGapIntro to PhoneGap
Intro to PhoneGap
 
WebAPIs & Apps - Mozilla London
WebAPIs & Apps - Mozilla LondonWebAPIs & Apps - Mozilla London
WebAPIs & Apps - Mozilla London
 
PhoneGap/Cordova
PhoneGap/CordovaPhoneGap/Cordova
PhoneGap/Cordova
 
Creating mobile apps without native code
Creating mobile apps without native codeCreating mobile apps without native code
Creating mobile apps without native code
 
From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)
 

More from Chris Griffith

Intro to Ionic Framework
Intro to Ionic FrameworkIntro to Ionic Framework
Intro to Ionic FrameworkChris Griffith
 
Electron: From Beginner to Pro
Electron: From Beginner to ProElectron: From Beginner to Pro
Electron: From Beginner to ProChris Griffith
 
Real World ionic Development
Real World ionic DevelopmentReal World ionic Development
Real World ionic DevelopmentChris Griffith
 
Essentials of Adobe Experience Design
Essentials of Adobe Experience DesignEssentials of Adobe Experience Design
Essentials of Adobe Experience DesignChris Griffith
 
What is the Ionic Framework?
What is the Ionic Framework?What is the Ionic Framework?
What is the Ionic Framework?Chris Griffith
 
Choosing the Right Mobile Development Platform (Part 1)
Choosing the Right Mobile Development Platform (Part 1)Choosing the Right Mobile Development Platform (Part 1)
Choosing the Right Mobile Development Platform (Part 1)Chris Griffith
 
Choosing the Right Mobile Development Platform (Part 5)
Choosing the Right Mobile Development Platform (Part 5)Choosing the Right Mobile Development Platform (Part 5)
Choosing the Right Mobile Development Platform (Part 5)Chris Griffith
 
Developing AIR for Mobile with Flash Professional CS5.5
Developing AIR for Mobile with Flash Professional CS5.5Developing AIR for Mobile with Flash Professional CS5.5
Developing AIR for Mobile with Flash Professional CS5.5Chris Griffith
 
Prototyping Mobile Applications with Flash for Designers
Prototyping Mobile Applications with Flash for DesignersPrototyping Mobile Applications with Flash for Designers
Prototyping Mobile Applications with Flash for DesignersChris Griffith
 
Designing Great Mobile Apps
Designing Great Mobile AppsDesigning Great Mobile Apps
Designing Great Mobile AppsChris Griffith
 
Designing Great Mobile Apps
Designing Great Mobile AppsDesigning Great Mobile Apps
Designing Great Mobile AppsChris Griffith
 
Developing AIR for Android with Flash Professional
Developing AIR for Android with Flash ProfessionalDeveloping AIR for Android with Flash Professional
Developing AIR for Android with Flash ProfessionalChris Griffith
 
Developing AIR for Android using Flash CS5
Developing AIR for Android using Flash CS5	Developing AIR for Android using Flash CS5
Developing AIR for Android using Flash CS5 Chris Griffith
 
Creating Compelling Mobile User Experiences
Creating Compelling Mobile User ExperiencesCreating Compelling Mobile User Experiences
Creating Compelling Mobile User ExperiencesChris Griffith
 
Practical Design and Development with Flash on Mobile and Devices
Practical Design and Development with Flash on Mobile and DevicesPractical Design and Development with Flash on Mobile and Devices
Practical Design and Development with Flash on Mobile and DevicesChris Griffith
 
Prototyping: A Component for Successful Projects
Prototyping: A Component for Successful ProjectsPrototyping: A Component for Successful Projects
Prototyping: A Component for Successful ProjectsChris Griffith
 

More from Chris Griffith (18)

Intro to Ionic Framework
Intro to Ionic FrameworkIntro to Ionic Framework
Intro to Ionic Framework
 
Electron: From Beginner to Pro
Electron: From Beginner to ProElectron: From Beginner to Pro
Electron: From Beginner to Pro
 
Real World ionic Development
Real World ionic DevelopmentReal World ionic Development
Real World ionic Development
 
Announcing StencilJS
Announcing StencilJSAnnouncing StencilJS
Announcing StencilJS
 
Beyond Ionic
Beyond IonicBeyond Ionic
Beyond Ionic
 
Essentials of Adobe Experience Design
Essentials of Adobe Experience DesignEssentials of Adobe Experience Design
Essentials of Adobe Experience Design
 
What is the Ionic Framework?
What is the Ionic Framework?What is the Ionic Framework?
What is the Ionic Framework?
 
Choosing the Right Mobile Development Platform (Part 1)
Choosing the Right Mobile Development Platform (Part 1)Choosing the Right Mobile Development Platform (Part 1)
Choosing the Right Mobile Development Platform (Part 1)
 
Choosing the Right Mobile Development Platform (Part 5)
Choosing the Right Mobile Development Platform (Part 5)Choosing the Right Mobile Development Platform (Part 5)
Choosing the Right Mobile Development Platform (Part 5)
 
Developing AIR for Mobile with Flash Professional CS5.5
Developing AIR for Mobile with Flash Professional CS5.5Developing AIR for Mobile with Flash Professional CS5.5
Developing AIR for Mobile with Flash Professional CS5.5
 
Prototyping Mobile Applications with Flash for Designers
Prototyping Mobile Applications with Flash for DesignersPrototyping Mobile Applications with Flash for Designers
Prototyping Mobile Applications with Flash for Designers
 
Designing Great Mobile Apps
Designing Great Mobile AppsDesigning Great Mobile Apps
Designing Great Mobile Apps
 
Designing Great Mobile Apps
Designing Great Mobile AppsDesigning Great Mobile Apps
Designing Great Mobile Apps
 
Developing AIR for Android with Flash Professional
Developing AIR for Android with Flash ProfessionalDeveloping AIR for Android with Flash Professional
Developing AIR for Android with Flash Professional
 
Developing AIR for Android using Flash CS5
Developing AIR for Android using Flash CS5	Developing AIR for Android using Flash CS5
Developing AIR for Android using Flash CS5
 
Creating Compelling Mobile User Experiences
Creating Compelling Mobile User ExperiencesCreating Compelling Mobile User Experiences
Creating Compelling Mobile User Experiences
 
Practical Design and Development with Flash on Mobile and Devices
Practical Design and Development with Flash on Mobile and DevicesPractical Design and Development with Flash on Mobile and Devices
Practical Design and Development with Flash on Mobile and Devices
 
Prototyping: A Component for Successful Projects
Prototyping: A Component for Successful ProjectsPrototyping: A Component for Successful Projects
Prototyping: A Component for Successful Projects
 

Recently uploaded

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
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 REVIEWERMadyBayot
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
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.pdfOrbitshub
 
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 2024Victor Rentea
 
"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 ...Zilliz
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 

Recently uploaded (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
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
 
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
 
"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 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 

Intro to PhoneGap and PhoneGap Build

  • 2. Disclaimer These opinions and thoughts are my own, and may or may not reflect the opinions of the company that I work for.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7. Who has built for mobile?
  • 8. Who is developing for iOS?
  • 9. Who is developing for Android?
  • 10. I need to make a mobile app…
  • 11.
  • 12.
  • 15.
  • 19. But who really uses HTML in their app?
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27. What is PhoneGap? Application container that allows you to build natively installed apps using HTML, CSS & JavaScript
  • 29. What is PhoneGap? Your Code Native Web View
  • 30. What is PhoneGap? Your Code Native Web View Native APIs
  • 31. What is PhoneGap? Your Code Native Web View Native APIs Native App - .apk, .ipa, etc
  • 33. Since it is HTML, CSS & JSS, can I use existing tools/frameworks?
  • 34. Caution… PhoneGap uses the NATIVE browser on the device to render the HTML/CSS/JS Keep that in mind, as that can affect the experience
  • 36. Features Accelerometer - when the device moves Camera - pictures of your cat Capture - audio, video, stills of your cat Compass - for when you're lost Connection - type of connection Contacts - find and create new friends
  • 37. Features Device - device and OS version metadata Events - various app/hardware related events File - native file system access (+ upload) Geolocation - for when you're lost Globalization - date/number/currency formatting
  • 38. Features Media - related to audio playback (supports record as well) Notification - visual, audible, and tactile notifications Splashscreen - for your splash screen needs Storage - Mini database
  • 40. Beyond the mobile web PhoneGap is extensible with a “native plugin” model that enables you to write your own native logic to access via JavaScript. There are lots of open source plugins at https://github.com/phonegap/phonegapplugins Learn more at http://wiki.phonegap.com/w/page/36752779 / PhoneGap%20Plugins
  • 45.
  • 46.
  • 47.
  • 48. <?xml version="1.0" encoding="UTF-8"?> <widget xmlns = "http://www.w3.org/ns/widgets" xmlns:gap = "http://phonegap.com/ns/1.0" id = "com.ajsoftware.demo.parkfinderhd" versionCode="" version = "1.0.1"> <name>Park Finder HD</name> <description>A demonstration of jQuery Mobile and PhoneGap Build</description> <author href="http://www.aj-software.com" email="chris.griffith@gmail.com">Chris Griffith</author> <preference name="phonegap-version" value="3.0.0" /> <preference name="orientation" value="portrait" /> <preference name="target-device" value="universal" /> <preference name="fullscreen" value="true" /> <preference name="webviewbounce" value="true" /> <preference name="prerendered-icon" value="true" /> <preference name="stay-in-webview" value="true" /> <preference name="ios-statusbarstyle" value="black-opaque" /> <preference name="detect-data-types" value="true" /> <preference name="exit-on-suspend" value="true" /> <preference name="show-splash-screen-spinner" value="true" /> <preference name="auto-hide-splash-screen" value="true" /> <preference name="disable-cursor" value="true" /> <preference name="android-minSdkVersion" value="11" /> <preference name="android-installLocation" value="auto" /> <preference name="splash-screen-duration" value="5000" /> <preference name="load-url-timeout" value="20000" />
  • 49. <gap:platform name="ios" /> <gap:platform name="android" /> <gap:platform name="winphone" /> <feature name="http://api.phonegap.com/1.0/camera"/> <feature name="http://api.phonegap.com/1.0/geolocation"/> <feature name="http://api.phonegap.com/1.0/network"/> <feature name="http://api.phonegap.com/1.0/notification"/> <gap:plugin name="org.apache.cordova.core.media-capture" /> <gap:plugin name="org.apache.cordova.core.camera" /> <gap:plugin name="org.apache.cordova.core.geolocation" /> <gap:plugin name="org.apache.cordova.core.device" /> <gap:plugin name="org.apache.cordova.core.device-motion" /> <gap:plugin name="org.apache.cordova.core.network-information" /> <gap:plugin name="org.apache.cordova.core.dialogs" /> <gap:plugin name="org.apache.cordova.core.globalization" /> <gap:plugin name="org.apache.cordova.core.console" /> <gap:plugin name="org.apache.cordova.core.audiohandler" /> <gap:plugin name="org.apache.cordova.core.battery-status" /> <gap:plugin name="org.apache.cordova.core.file" /> <gap:plugin name="org.apache.cordova.core.device-orientation" /> <gap:plugin name="org.apache.cordova.core.file-transfer" /> <gap:plugin name="org.apache.cordova.core.splashscreen" /> <gap:plugin name="org.apache.cordova.core.vibration" /> <gap:plugin name="org.apache.cordova.core.inappbrowser" /> <icon src="icons/icon_57.png" gap:platform="ios" width="57" height="57" /> <icon src="icons/icon_72.png" gap:platform="ios" width="72" height="72" /> <icon src="icons/icon_114.png" gap:platform="ios" width="114" height="114" />
  • 50. <icon src="icons/icon_144.png" gap:platform="ios" width="144" height="144" /> <icon src="icons/icon_36.png" gap:platform="android" gap:density="ldpi" /> <icon src="icons/icon_48.png" gap:platform="android" gap:density="mdpi" /> <icon src="icons/icon_72.png" gap:platform="android" gap:density="hdpi" /> <icon src="icons/icon_96.png" gap:platform="android" gap:density="xhdpi" /> <icon src="icons/icon_48.png" gap:platform="winphone" /> <icon src="icons/icon_62.png" gap:platform="winphone" gap:role="background" /> <icon src="icons/icon_64.png" gap:platform="blackberry" /> <icon src="icons/icon_64.png" gap:platform="webos" /> <gap:splash src="splash/splash_320_480.png" gap:platform="ios" width="320" height="480" /> <gap:splash src="splash/splash_640_960.png" gap:platform="ios" width="640" height="960" /> <gap:splash src="splash/splash_320_480.png" gap:platform="android" gap:density="mdpi" /> <gap:splash src="splash/splash_480_800.png" gap:platform="android" gap:density="hdpi" /> <gap:splash src="splash/splash_800_1280.png" gap:platform="android" gap:density="xhdpi" /> <access origin="*.google.com" subdomains="true" /> </widget>
  • 53. REAL WORLD BUILDING • • • • Desktop Browser Mobile via Web Ripple Emulator Local SDK to Simulator/Device
  • 54. DESKTOP BROWSER • Pro: Super Fast • Pro: No setup • Pro: Debugging Rocks • • • • Con: UI isn't right Con: UX isn't right Con: Features missing Con: Security restrictions
  • 55. MOBILE VIA WEB • Pro: Kinda Fast • Pro: Minimal setup • Pro: UI and UX testing • Con: Features missing • Con: Security restrictions • Con: Debugging (kinda) sucks
  • 56. RIPPLE EMULATOR • • • • Pro: Fast Pro: Similar UI Pro: Free Pro: Security restrictions gone • Con: Doesn't support 100% of the PhoneGap APIs • Con: Still not on the device
  • 57. TO INSTALL • Go to the Chrome Web Store: https://chrome.google.com/webstore/category/home • Search for "ripple" • Click Extensions
  • 58.
  • 59. LOCAL SDK TO SIMULATOR/DEVICE • Pro: The Real Deal • Con: Slow(ish) • Con: Not Free • Con: Debugging can suck TO BE CLEAR: YOU MUST ALWAYS TEST ON A REAL DEVICE
  • 61.
  • 62. Now go build something!

Editor's Notes

  1. UI prototyper 15 yrsDeveloping mobile for the past 5 yearsMgr SDFUGACP
  2. Who has used Flash Catalyst before?
  3. Built at an iPhoneDevCamp in 2009Started by NitobiAdobe bought Nitobi (2011)
  4. PhoneGap is Adobe&apos;s implementationPhoneGap == Cordova
  5. Windows Phone 7/8 (+ Windows 8)
  6. Some variability here, based on exact platform.