SlideShare a Scribd company logo
1 of 18
Download to read offline
MOBILE DEVELOPMENT WITH PHONEGAP 
JOSHUA JOHNSON 
WEB DEVELOPER, GODADDY 
LinkedIn 
1st&5 
Use #phxmobi as the twitter hashtag 
Download Phoenix Mobile Festival App from AppStore or 
Google Play
ABOUT ME 
Mobile Web Developer at GoDaddy 
Released iOS and Android Fantasy Football Apps with 
PhoneGap 
Passionate about new technology
THE PROBLEM 
You have an idea for an application but how do you get it to the 
public on all platforms quickly? 
Hiring for completely different skill sets 
Time to deliver a new feature or redesign 
Different look/feel across platforms
PHONEGAP TO THE RESCUE 
Mobile development framework that allows you to create 
cross platform mobile applications 
HTML/CSS/JS 
Created in 2009 by Nitobi 
Purchased by Adobe in 2011 
Cordova: free open source core of PhoneGap donated to 
Apache 
Single code base, unified look/feel, only need web developers 
Perfect for emerging SPA JavaScript web frameworks 
(AngularJS) 
Growing community, new UI frameworks
HOW DOES IT WORK? 
sudo npm install -g cordova 
cordova create hello com.example.hello HelloWorld && cd hello 
cordova platform add ios 
cordova build ios 
Wraps your application into a WebView for all platforms 
JavaScript plugins that access native device features 
config.xml to store details about the app (platform specific) 
Packaged as apps using platform SDKs and distributed 
through native methods 
or (no SDKs necessary PhoneGap Build Telerik but not free)
WHY WEB OVER NATIVE? 
Technologies are converging on web languages 
Server code can now be written in JS (Node) 
Easier to hire and build teams around one single technology 
set
ANGULARJS 
JavaScript framework that allows you to build single page web 
applications 
Largest community support among JavaScript frameworks 
(Google) 
The perfect match: index.html 
Open source modules 
Other alternatives (Ember, Knockout, Backbone, even jQuery)
PLUGINS 
Open-source JavaScript plugins exposing native features 
Examples: camera, geolocation, acceleromter, splashscreen, 
storage 
Build your own plugins 
: wraps Cordova plugins in ngCordova AngularJS modules
BRIDGE THE UI GAP 
Understand your tools and use good judgement 
Hardware-accelerated CSS transitions (avoid jQuery) 
Find a good UI Framework to mitigate the issues 
Execute on a solid design with solid HTML/CSS/JS skills 
config.xml: Control app behaviour (Fullscreen, Orientation, 
DisallowOverscroll, etc)
TIPS/TRICKS 
FastClick: remove 300ms delay 
Disable pinch and zoom with meta tag 
-webkit-overflow-scrolling: touch; Give it the smooth scrolling 
feel 
Make all your images 3x as big for new retina devices 
Be mindful of application context (minimize HTTP calls) 
Test on lots of real devices 
Constant user feedback 
Be careful with ng-repeat ( infinite scroll , bindonce 
) 
Chrome + Batarang to debug 
Angular snap
AUTOMATION 
GRUNT: JAVASCRIPT TASK RUNNER 
Watch file changes, auto reload browser, run unit tests 
JavaScript linting to keep code clean 
Automatically build, minify, copy application files 
BOWER: WEB PACKAGE MANAGER 
Manage and version control all front end packages 
Single command to add package 
bower.json 
YEOMAN: SCAFFOLD YOUR CODE 
Scaffold new pages/features 
Prescribe all the best practices and code structure 
AngularJS, Combined with PhoneGap
UI FRAMEWORKS 
Fully responsive, multiple devices, UI components at the ready 
Bootstrap, AngularJS Bootstrap UI 
(great examples of 
directives): targeted for web apps but works 
native mobile app components, built for AngularJS and 
Ionic: 
PhoneGap specifically 
Works with any JS framework, similar to Ionic with 
Onsen UI: 
less support 
Kendo UI 
Font Awesome 
jQuery Mobile: no, just no
CONS 
Poor performance with graphic intensive applications, sorry 
games 
No pre-built UI components, transitions, standard controls 
Less community support than native development
PHONE
TABLET
RESOURCES 
PhoneGap 
AngularJS 
Grunt 
Bower 
Yeoman 
PhoneGap Build 
ngCordova 
Ionic 
Angular Modules 
Telerik
GODADDY 
Just starting development on domain search app with 
PhoneGap 
Always looking for great developers to join our team 
jojohnson@godaddy.com
QUESTIONS? 
Use #phxmobi as the twitter hashtag 
Download Phoenix Mobile Festival App from AppStore or 
Google Play

More Related Content

What's hot

Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGapJoseph Labrecque
 
PhoneGap Day US 2013 - Chrome Packaged Apps
PhoneGap Day US 2013 - Chrome Packaged AppsPhoneGap Day US 2013 - Chrome Packaged Apps
PhoneGap Day US 2013 - Chrome Packaged AppsPhoneGap
 
Developing for Xoom with Flash and AIR
Developing for Xoom with Flash and AIRDeveloping for Xoom with Flash and AIR
Developing for Xoom with Flash and AIRTerry Ryan
 
Build Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic FrameworkBuild Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic FrameworkSalesforce Developers
 
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)Mark Radacz
 
Building Hybrid Applications using PhoneGap
Building Hybrid Applications using PhoneGapBuilding Hybrid Applications using PhoneGap
Building Hybrid Applications using PhoneGapPrajyot Mainkar
 
Hybrid App Development with PhoneGap
Hybrid App Development with PhoneGapHybrid App Development with PhoneGap
Hybrid App Development with PhoneGapDotitude
 
Ionic - Hybrid Mobile Application Framework
Ionic - Hybrid Mobile Application FrameworkIonic - Hybrid Mobile Application Framework
Ionic - Hybrid Mobile Application FrameworkSanjay Kumar
 
From mobile browser to mobile app
From mobile browser to mobile appFrom mobile browser to mobile app
From mobile browser to mobile appRyan Stewart
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGapRamesh Nair
 
PhoneGap: Building Mobile Applications with HTML/JS
PhoneGap: Building Mobile Applications with HTML/JSPhoneGap: Building Mobile Applications with HTML/JS
PhoneGap: Building Mobile Applications with HTML/JSRyan Stewart
 
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.
 
Mobile Enablement And Intelligence
Mobile Enablement And IntelligenceMobile Enablement And Intelligence
Mobile Enablement And IntelligenceRashmika Nawaratne
 
Android Development...Using Web Technologies
Android Development...Using Web TechnologiesAndroid Development...Using Web Technologies
Android Development...Using Web TechnologiesCommonsWare
 

What's hot (20)

Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGap
 
PhoneGap Day US 2013 - Chrome Packaged Apps
PhoneGap Day US 2013 - Chrome Packaged AppsPhoneGap Day US 2013 - Chrome Packaged Apps
PhoneGap Day US 2013 - Chrome Packaged Apps
 
Developing for Xoom with Flash and AIR
Developing for Xoom with Flash and AIRDeveloping for Xoom with Flash and AIR
Developing for Xoom with Flash and AIR
 
Intro to PhoneGap
Intro to PhoneGapIntro to PhoneGap
Intro to PhoneGap
 
Build Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic FrameworkBuild Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic Framework
 
Intro Angular Ionic
Intro Angular Ionic Intro Angular Ionic
Intro Angular Ionic
 
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
 
Building Hybrid Applications using PhoneGap
Building Hybrid Applications using PhoneGapBuilding Hybrid Applications using PhoneGap
Building Hybrid Applications using PhoneGap
 
Hybrid App Development with PhoneGap
Hybrid App Development with PhoneGapHybrid App Development with PhoneGap
Hybrid App Development with PhoneGap
 
PhoneGap
PhoneGapPhoneGap
PhoneGap
 
Ionic - Hybrid Mobile Application Framework
Ionic - Hybrid Mobile Application FrameworkIonic - Hybrid Mobile Application Framework
Ionic - Hybrid Mobile Application Framework
 
From mobile browser to mobile app
From mobile browser to mobile appFrom mobile browser to mobile app
From mobile browser to mobile app
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
 
PhoneGap: Building Mobile Applications with HTML/JS
PhoneGap: Building Mobile Applications with HTML/JSPhoneGap: Building Mobile Applications with HTML/JS
PhoneGap: Building Mobile Applications with HTML/JS
 
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
 
All About Phonegap
All About Phonegap All About Phonegap
All About Phonegap
 
Mobile Enablement And Intelligence
Mobile Enablement And IntelligenceMobile Enablement And Intelligence
Mobile Enablement And Intelligence
 
Android Development...Using Web Technologies
Android Development...Using Web TechnologiesAndroid Development...Using Web Technologies
Android Development...Using Web Technologies
 
Xamarin y MS Azure | Cognitive Services
Xamarin y MS Azure | Cognitive ServicesXamarin y MS Azure | Cognitive Services
Xamarin y MS Azure | Cognitive Services
 

Similar to Mobile Development with PhoneGap

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
 
fdocuments.in_apache-cordova-overview.pptx
fdocuments.in_apache-cordova-overview.pptxfdocuments.in_apache-cordova-overview.pptx
fdocuments.in_apache-cordova-overview.pptxssuserd27db6
 
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsBuilding Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsTroy Miles
 
Cross Platform Mobile Technologies
Cross Platform Mobile TechnologiesCross Platform Mobile Technologies
Cross Platform Mobile TechnologiesTalentica Software
 
Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application developmentKunjan Thakkar
 
Phonegap android
Phonegap androidPhonegap android
Phonegap androidumesh patil
 
DroidCon 2011: Developing HTML5 and hybrid Android apps using Phonegap
DroidCon 2011: Developing HTML5 and hybrid Android apps using PhonegapDroidCon 2011: Developing HTML5 and hybrid Android apps using Phonegap
DroidCon 2011: Developing HTML5 and hybrid Android apps using PhonegapAyushman Jain
 
Web technologies practical guide
Web technologies practical guideWeb technologies practical guide
Web technologies practical guidesamir azazy
 
Building Mobile Web Apps using ASP.NET MVC, HTML5, & jQuery Mobile
Building Mobile Web Apps using ASP.NET MVC, HTML5, & jQuery MobileBuilding Mobile Web Apps using ASP.NET MVC, HTML5, & jQuery Mobile
Building Mobile Web Apps using ASP.NET MVC, HTML5, & jQuery MobileJon Cortez
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do ThatNathan Smith
 
Html5 investigation
Html5 investigationHtml5 investigation
Html5 investigationoppokui
 
Hybrid Mobile Apps - Meetup
Hybrid Mobile Apps - MeetupHybrid Mobile Apps - Meetup
Hybrid Mobile Apps - MeetupSanjay Patel
 
Introduction to Cordova
Introduction to CordovaIntroduction to Cordova
Introduction to CordovaRaymond Camden
 
Cordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirstCordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirstRaymond Camden
 
Bouhamed vuejs-meetup-tecos
Bouhamed vuejs-meetup-tecosBouhamed vuejs-meetup-tecos
Bouhamed vuejs-meetup-tecosTECOS
 
Cross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic FrameworkCross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic FrameworkTroy Miles
 
Flex multi-screen development
Flex multi-screen developmentFlex multi-screen development
Flex multi-screen developmenteaselsolutions
 
Workshop on Hybrid App Development with Ionic Framework
Workshop on Hybrid App Development with Ionic FrameworkWorkshop on Hybrid App Development with Ionic Framework
Workshop on Hybrid App Development with Ionic FrameworkAayush Shrestha
 

Similar to Mobile Development with PhoneGap (20)

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
 
fdocuments.in_apache-cordova-overview.pptx
fdocuments.in_apache-cordova-overview.pptxfdocuments.in_apache-cordova-overview.pptx
fdocuments.in_apache-cordova-overview.pptx
 
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsBuilding Cross-Platform Mobile Apps
Building Cross-Platform Mobile Apps
 
Cross Platform Mobile Technologies
Cross Platform Mobile TechnologiesCross Platform Mobile Technologies
Cross Platform Mobile Technologies
 
Phone gap
Phone gapPhone gap
Phone gap
 
Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application development
 
Phonegap android
Phonegap androidPhonegap android
Phonegap android
 
DroidCon 2011: Developing HTML5 and hybrid Android apps using Phonegap
DroidCon 2011: Developing HTML5 and hybrid Android apps using PhonegapDroidCon 2011: Developing HTML5 and hybrid Android apps using Phonegap
DroidCon 2011: Developing HTML5 and hybrid Android apps using Phonegap
 
Web technologies practical guide
Web technologies practical guideWeb technologies practical guide
Web technologies practical guide
 
Building Mobile Web Apps using ASP.NET MVC, HTML5, & jQuery Mobile
Building Mobile Web Apps using ASP.NET MVC, HTML5, & jQuery MobileBuilding Mobile Web Apps using ASP.NET MVC, HTML5, & jQuery Mobile
Building Mobile Web Apps using ASP.NET MVC, HTML5, & jQuery Mobile
 
Mobile Web Apps
Mobile Web AppsMobile Web Apps
Mobile Web Apps
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
 
Html5 investigation
Html5 investigationHtml5 investigation
Html5 investigation
 
Hybrid Mobile Apps - Meetup
Hybrid Mobile Apps - MeetupHybrid Mobile Apps - Meetup
Hybrid Mobile Apps - Meetup
 
Introduction to Cordova
Introduction to CordovaIntroduction to Cordova
Introduction to Cordova
 
Cordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirstCordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirst
 
Bouhamed vuejs-meetup-tecos
Bouhamed vuejs-meetup-tecosBouhamed vuejs-meetup-tecos
Bouhamed vuejs-meetup-tecos
 
Cross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic FrameworkCross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic Framework
 
Flex multi-screen development
Flex multi-screen developmentFlex multi-screen development
Flex multi-screen development
 
Workshop on Hybrid App Development with Ionic Framework
Workshop on Hybrid App Development with Ionic FrameworkWorkshop on Hybrid App Development with Ionic Framework
Workshop on Hybrid App Development with Ionic Framework
 

Recently uploaded

VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Data modeling 101 - Basics - Software Domain
Data modeling 101 - Basics - Software DomainData modeling 101 - Basics - Software Domain
Data modeling 101 - Basics - Software DomainAbdul Ahad
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfkalichargn70th171
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfmaor17
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 

Recently uploaded (20)

VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Data modeling 101 - Basics - Software Domain
Data modeling 101 - Basics - Software DomainData modeling 101 - Basics - Software Domain
Data modeling 101 - Basics - Software Domain
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdf
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 

Mobile Development with PhoneGap

  • 1. MOBILE DEVELOPMENT WITH PHONEGAP JOSHUA JOHNSON WEB DEVELOPER, GODADDY LinkedIn 1st&5 Use #phxmobi as the twitter hashtag Download Phoenix Mobile Festival App from AppStore or Google Play
  • 2. ABOUT ME Mobile Web Developer at GoDaddy Released iOS and Android Fantasy Football Apps with PhoneGap Passionate about new technology
  • 3. THE PROBLEM You have an idea for an application but how do you get it to the public on all platforms quickly? Hiring for completely different skill sets Time to deliver a new feature or redesign Different look/feel across platforms
  • 4. PHONEGAP TO THE RESCUE Mobile development framework that allows you to create cross platform mobile applications HTML/CSS/JS Created in 2009 by Nitobi Purchased by Adobe in 2011 Cordova: free open source core of PhoneGap donated to Apache Single code base, unified look/feel, only need web developers Perfect for emerging SPA JavaScript web frameworks (AngularJS) Growing community, new UI frameworks
  • 5. HOW DOES IT WORK? sudo npm install -g cordova cordova create hello com.example.hello HelloWorld && cd hello cordova platform add ios cordova build ios Wraps your application into a WebView for all platforms JavaScript plugins that access native device features config.xml to store details about the app (platform specific) Packaged as apps using platform SDKs and distributed through native methods or (no SDKs necessary PhoneGap Build Telerik but not free)
  • 6. WHY WEB OVER NATIVE? Technologies are converging on web languages Server code can now be written in JS (Node) Easier to hire and build teams around one single technology set
  • 7. ANGULARJS JavaScript framework that allows you to build single page web applications Largest community support among JavaScript frameworks (Google) The perfect match: index.html Open source modules Other alternatives (Ember, Knockout, Backbone, even jQuery)
  • 8. PLUGINS Open-source JavaScript plugins exposing native features Examples: camera, geolocation, acceleromter, splashscreen, storage Build your own plugins : wraps Cordova plugins in ngCordova AngularJS modules
  • 9. BRIDGE THE UI GAP Understand your tools and use good judgement Hardware-accelerated CSS transitions (avoid jQuery) Find a good UI Framework to mitigate the issues Execute on a solid design with solid HTML/CSS/JS skills config.xml: Control app behaviour (Fullscreen, Orientation, DisallowOverscroll, etc)
  • 10. TIPS/TRICKS FastClick: remove 300ms delay Disable pinch and zoom with meta tag -webkit-overflow-scrolling: touch; Give it the smooth scrolling feel Make all your images 3x as big for new retina devices Be mindful of application context (minimize HTTP calls) Test on lots of real devices Constant user feedback Be careful with ng-repeat ( infinite scroll , bindonce ) Chrome + Batarang to debug Angular snap
  • 11. AUTOMATION GRUNT: JAVASCRIPT TASK RUNNER Watch file changes, auto reload browser, run unit tests JavaScript linting to keep code clean Automatically build, minify, copy application files BOWER: WEB PACKAGE MANAGER Manage and version control all front end packages Single command to add package bower.json YEOMAN: SCAFFOLD YOUR CODE Scaffold new pages/features Prescribe all the best practices and code structure AngularJS, Combined with PhoneGap
  • 12. UI FRAMEWORKS Fully responsive, multiple devices, UI components at the ready Bootstrap, AngularJS Bootstrap UI (great examples of directives): targeted for web apps but works native mobile app components, built for AngularJS and Ionic: PhoneGap specifically Works with any JS framework, similar to Ionic with Onsen UI: less support Kendo UI Font Awesome jQuery Mobile: no, just no
  • 13. CONS Poor performance with graphic intensive applications, sorry games No pre-built UI components, transitions, standard controls Less community support than native development
  • 14. PHONE
  • 16. RESOURCES PhoneGap AngularJS Grunt Bower Yeoman PhoneGap Build ngCordova Ionic Angular Modules Telerik
  • 17. GODADDY Just starting development on domain search app with PhoneGap Always looking for great developers to join our team jojohnson@godaddy.com
  • 18. QUESTIONS? Use #phxmobi as the twitter hashtag Download Phoenix Mobile Festival App from AppStore or Google Play