Cross-Platform Mobile
Development with PhoneGap
by: Vince Bullinger
Mobile March
3/20/2014
About Me
● Vince Bullinger (“vbullinger” everywhere)
● Married (5/08), live in St. Paul, WPI grad (‘04)
● Daughter Zina born 7/4/2011
● Been a consultant/developer since 2005
● Always looking to improve skills
or 11:45AM-12:45PM - Robert Half, US Bancorp Center, Mpls
Agenda
● Compare native, X-platform development
● Why should I care about X-platform?
● PhoneGap vs Xamarin, Appcelerator
● Getting started with PhoneGap
● PhoneGap protips, tools
X-Platform Pros
● Write once, run on multiple major platforms
● One team/IDE/Skillset
● Can save a LOT of money
● Usually in more well-known languages
○ Easy to find talent
○ More support (varying)
○ Reuse code from other projects
X-Platform Cons
● Doesn’t always perform as well (varying)
○ Not specialized for particular device (duh)
○ Doesn’t always provide native experience
● Varying device feature support
○ Some device features may not be supported
○ Can vary by device
○ Can vary by framework
● May take a while to catch up to native updates
● Different appearances/capabilities/OSes
UI Differences
Source:
Apple
Source: javatechig.com
Different Capabilities
● Devices have different:
○ Hardware
○ Features
○ Screen ratios
○ Sizes
○ Screen resolutions
● Use feature detection
● Have fallback functionality
OS-Specific Considerations
● Multi-tasking
● Security
● Database
Test Psychotically
● Have a real, defined testing strategy
● Iterative, frequent
● QA knowledgeable on each device
● Test on actual device, not just emulator
Why Should I Care?
● Want to pick best mobile strategies
● Developers don’t want to code native*
○ 36% want HTML5
○ 32% want cross-platform
○ 15% want native only
* Survey by KendoUI
Cross-Platform Relevance
“The market for cross-platform mobile
development tools exceeds $1.6 billion
right now, and is expected to reach $8.2
billion by 2016.”
- Smiths Points Analytics
Native or X-Platform?
● Choose native when:
○ Need 100% native experience all the time
○ Accessing all device features
○ Only targeting one platform
○ Money is no issue
● Choose cross-platform when:
○ Don’t need to access obscure device features
○ You’re ready for some serious testing strategies
○ Have a restricted budget
PhoneGap
• Free, open-source framework
• Build “native” apps for multiple platforms
• Built using HTML, CSS, JavaScript
– Large communities :)
• API allows access to device features
– Accelerometer
– Camera
– Microphone
– File system
– A few more
How PhoneGap Works
PhoneGap Cons
• API support varies
• HTML, CSS, JavaScript only
• Not really native apps…
• Serious apps obviously not native
• Big apps can have slow startup
• Shouldn’t be used for complicated apps
– Shell that connects to web server for real work
– Won’t be consistent if using all native functionality
When To Use?
● Your web developers can PhoneGap now
● Small budget
● Uncomplicated app
● First foray into mobile development
● It is not best for large/complicated apps
○ Your app probably doesn’t fall under those categories
● Won’t have native look and feel
○ Not native apps
○ Localized mobile website with basic device API
• C# code
– Lambdas
– Generics
– LINQ
– All your other stuff...
• Compiles to native binary
– IL + JIT (Android)
– ARM binary + AOT (iOS)
Xamarin
How Xamarin Works
Quasi stolen from http://xamarin.com/how-it-works
Xamarin Cons
● Still need separate UIs
○ Good thing?
○ Needs to be a factor in architecture
decisions
● Separate device APIs
○ Xamarin.Mobile
■ Contacts
■ Camera
■ Geolocation
● Basic Xamarin Studio is free, useless
When to Use?
● Want as close to native as possible
● .Net shop
● Got some money to spend
Titanium
• Build apps using JavaScript
– Like PhoneGap
• Compiles to 100% real app
– Like Xamarin
– Unlike PhoneGap
• Cross-platform UIs
– Unlike Xamarin
• Robust JavaScript access to native APIs
• Titanium Studio is free
How Titanium Works
+
+
Titanium Cons
Making UIs Identical
• Don’t do it
• It’s dumb
• Rely on native look and feel
When to Use?
● Your team is/can be strong w/web development
● Familiar with Eclipse
● PhoneGap won’t do
○ Too complicated
○ Not enough device support
○ Need high-quality app with native look and feel
● Enough money to open pocket book
● Ready to sacrifice a bit of UI control
○ Rely on native look and feel
○ Lowest common denominator
PhoneGap History
● Started at 2008 iPhoneDevCamp by Nitobi
○ quickly added Android, Blackberry support
● ‘09 Web 2.0 Expo Launchpad Peoples' Choice
● Adobe acquires Nitobi in 2011
● PhoneGap now part of Cordova
○ PhoneGap: open source
○ Cordova: proprietary
● PhoneGap’s aim:
○ Fulfill W3C specifications
○ Until browsers do
Getting Started
● IDEs
● APIs
● Emulating
● Building
IDEs
● Whatever you want!
● IDEs usually have plugins
● Have a Mac? Use XCode
● IBM Worklight - Eclipse plugin
○ Mobile websites, hybrid or native apps
○ Very PhoneGap-friendly
● AppBuilder (formerly Icenium)
○ Most PhoneGap-centric IDE
○ Part of Telerik Platform
○ Visual Studio plugin
Cross-Platform Mobile Development with PhoneGap-Vince Bullinger
DEMO
PhoneGap APIs
● navigator.*
○ accelerometer
○ compass
○ contacts
○ device.capture.capture[Audio|Image|Video]
○ geolocation
○ network
● window.requestFileSystem
● alert - native!
● Almost always asynchronous
Cross-Platform Mobile Development with PhoneGap-Vince Bullinger
Emulation
DEMO
Building PhoneGap Native Apps
Building PhoneGap Native Apps
Building PhoneGap Native Apps
Building PhoneGap Native Apps
● Download SDK for every device
● I’ll check back in next week
… or...
● Let PhoneGap build service compile it
Building PhoneGap Native Apps
DEMO
● Create web apps optimized for mobile
○ Touch optimized (buttons)
○ Uses responsive layout (inputs/labels)
○ Elements automatically adapt to device sizes
○ Supports range of platforms, devices
● Progressive enhancement
○ Always display basic content
○ Show richer display to powerful browsers
● Themeable - themeroller.jquerymobile.com
jQuery Mobile
● Ajaxified navigation
○ Hijacks links
○ Get linked url behind scenes
○ Append to DOM
○ Then smoothly transition
○ Supports back button, prefetching, caching
● jQuery Mobile alternatives
○ Sencha Touch
○ Dojo Mobile
○ Kendo UI
jQuery Mobile
Demo
References
● This presentation: bit.ly/PhoneGapMM
● Speaker rate: http://bit.ly/1j71KDY
● http://phonegap.com
● http://xamarin.com
● http://appcelerator.com
● http://jquerymobile.com/
● http://www.phonegapessentials.com/
● http://build.phonegap.com
● http://techmasters-tc.com/

More Related Content

PPTX
Xamarin Mobile March 2014
PDF
Mobile app development - course intro
PPTX
Top 10 programming languages for mobile app development
PDF
Native vs Hybrid - Options to develop your mobile application
ODP
Hybrid application development
PDF
FirstMeetupSlides
PDF
Eindhoven Mobile Development First Meetup Slides
PPTX
State of Mobile Development
Xamarin Mobile March 2014
Mobile app development - course intro
Top 10 programming languages for mobile app development
Native vs Hybrid - Options to develop your mobile application
Hybrid application development
FirstMeetupSlides
Eindhoven Mobile Development First Meetup Slides
State of Mobile Development

What's hot (20)

PPT
Multi-platform Mobile apps with Phonegap
PDF
flutter.school #HelloWorld
PDF
Cross Platform Mobile App Development
ODP
Introduction to PhoneGap
PPT
Building Mobile Application Using PhoneGap
PDF
Cross-platform App Development Company
PPTX
Flutter vs React Native Development in 2020
PPTX
iOS & Android Application Development - Pee Dee User Group Meeting
PPTX
Flutter rev cx
PPTX
Rapid Prototyping with Cordova aka Phonegap
PPTX
Top 4 Cross Platform tools for Mobile App Development
PDF
Flutter Tutorial For Beginners | Edureka
PPTX
Presentation
PPTX
Native v s hybrid
PPTX
Mobinius : Mobile Native vs Cross Platform
PDF
Mobile application development strategy and execution
PPTX
BlackBerry WebWorks
PPT
DroidCon 2011: Developing HTML5 and hybrid Android apps using Phonegap
PDF
Cross Platform Development with Xamarin
PPTX
All About Phonegap
Multi-platform Mobile apps with Phonegap
flutter.school #HelloWorld
Cross Platform Mobile App Development
Introduction to PhoneGap
Building Mobile Application Using PhoneGap
Cross-platform App Development Company
Flutter vs React Native Development in 2020
iOS & Android Application Development - Pee Dee User Group Meeting
Flutter rev cx
Rapid Prototyping with Cordova aka Phonegap
Top 4 Cross Platform tools for Mobile App Development
Flutter Tutorial For Beginners | Edureka
Presentation
Native v s hybrid
Mobinius : Mobile Native vs Cross Platform
Mobile application development strategy and execution
BlackBerry WebWorks
DroidCon 2011: Developing HTML5 and hybrid Android apps using Phonegap
Cross Platform Development with Xamarin
All About Phonegap
Ad

Viewers also liked (7)

PDF
Cross-Platform Mobile Development with Titanium
PDF
Mobile Cross Platform Development - AIR - PhoneGap - Hybrid vs Native
PDF
Developing and Designing Native Mobile Apps in Visual Studio
PPTX
Xamarin.Forms
PDF
Cross platform mobile development
PDF
Introduction to Xamarin.Forms
PDF
Native i os, android, and windows development in c# with xamarin 4
Cross-Platform Mobile Development with Titanium
Mobile Cross Platform Development - AIR - PhoneGap - Hybrid vs Native
Developing and Designing Native Mobile Apps in Visual Studio
Xamarin.Forms
Cross platform mobile development
Introduction to Xamarin.Forms
Native i os, android, and windows development in c# with xamarin 4
Ad

Similar to Cross-Platform Mobile Development with PhoneGap-Vince Bullinger (20)

PDF
Post Windows Mobile: New Application Development Platforms
PDF
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
PPT
Cross platform mobile application development
ODP
Synapse india reviews on mobile application development
PDF
Cross platform mobile approaches
PDF
[IJCT-V3I2P36] Authors: Amarbir Singh
KEY
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
PPTX
PDF
The Great Mobile Debate: Native vs. Hybrid App Development
PDF
HTML5 Can't Do That
PPTX
Cross platform-mobile-applications
PPTX
Multiplatform
PPTX
Developing cross platforms mobile applications using the Apache Cordova
PDF
PhoneGap/Cordova
KEY
Philly ete-2011
PDF
Cross Platform Mobile Development
PPTX
Native Mobile Platforms vs Phonegap – A Comparison
ODP
Synapse india reviews on cross plateform mobile apps development
PPTX
PDF
Introduction to Phonegap
Post Windows Mobile: New Application Development Platforms
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Cross platform mobile application development
Synapse india reviews on mobile application development
Cross platform mobile approaches
[IJCT-V3I2P36] Authors: Amarbir Singh
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
The Great Mobile Debate: Native vs. Hybrid App Development
HTML5 Can't Do That
Cross platform-mobile-applications
Multiplatform
Developing cross platforms mobile applications using the Apache Cordova
PhoneGap/Cordova
Philly ete-2011
Cross Platform Mobile Development
Native Mobile Platforms vs Phonegap – A Comparison
Synapse india reviews on cross plateform mobile apps development
Introduction to Phonegap

More from Mobile March (20)

PDF
You Can’t Ignore the Tablet-Designing & Developing Universal Apps for Phones ...
PDF
Building Wearables-Kristina Durivage
PDF
The Blossoming Internet of Things Zach Supalla-Spark
PDF
LiveCode Cross-Platform Development-Joel Gerdeen
PDF
The Mobile Evolution‚ Systems vs. Apps - Matthew David
PPTX
Unity-Beyond Games! - Josh Ruis
PPT
IP for Mobile Startups -Ernest Grumbles
PDF
Using Chipmunk Physics to create a iOS Game - Scott Lembcke
PDF
Using Mobile to Achieve Truly Integrated Marketing - Curt Prins
PPTX
Introduction to Core Data - Jason Shapiro
PDF
Developing Custom iOs Applications for Enterprise
PPT
Product Management for Your App
PDF
Robotium Tutorial
PDF
Dueling Banjos: Inter-app Communication
PPT
Guy Thier Keynote Presentation
PPTX
Mobile March Olson presentation 2012
PDF
Bannin mobile march_2012_public
PDF
Beginningi os part1-bobmccune
PDF
Mobile march2012 android101-pt2
PDF
Mobile march2012 android101-pt1
You Can’t Ignore the Tablet-Designing & Developing Universal Apps for Phones ...
Building Wearables-Kristina Durivage
The Blossoming Internet of Things Zach Supalla-Spark
LiveCode Cross-Platform Development-Joel Gerdeen
The Mobile Evolution‚ Systems vs. Apps - Matthew David
Unity-Beyond Games! - Josh Ruis
IP for Mobile Startups -Ernest Grumbles
Using Chipmunk Physics to create a iOS Game - Scott Lembcke
Using Mobile to Achieve Truly Integrated Marketing - Curt Prins
Introduction to Core Data - Jason Shapiro
Developing Custom iOs Applications for Enterprise
Product Management for Your App
Robotium Tutorial
Dueling Banjos: Inter-app Communication
Guy Thier Keynote Presentation
Mobile March Olson presentation 2012
Bannin mobile march_2012_public
Beginningi os part1-bobmccune
Mobile march2012 android101-pt2
Mobile march2012 android101-pt1

Recently uploaded (20)

PPTX
Custom Battery Pack Design Considerations for Performance and Safety
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
sbt 2.0: go big (Scala Days 2025 edition)
PPTX
The various Industrial Revolutions .pptx
PDF
UiPath Agentic Automation session 1: RPA to Agents
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PPTX
Configure Apache Mutual Authentication
PPTX
TEXTILE technology diploma scope and career opportunities
PDF
Five Habits of High-Impact Board Members
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
Enhancing plagiarism detection using data pre-processing and machine learning...
PPTX
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
PPTX
GROUP4NURSINGINFORMATICSREPORT-2 PRESENTATION
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
1 - Historical Antecedents, Social Consideration.pdf
PPT
What is a Computer? Input Devices /output devices
PDF
Flame analysis and combustion estimation using large language and vision assi...
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
A review of recent deep learning applications in wood surface defect identifi...
Custom Battery Pack Design Considerations for Performance and Safety
Getting started with AI Agents and Multi-Agent Systems
sbt 2.0: go big (Scala Days 2025 edition)
The various Industrial Revolutions .pptx
UiPath Agentic Automation session 1: RPA to Agents
NewMind AI Weekly Chronicles – August ’25 Week III
Configure Apache Mutual Authentication
TEXTILE technology diploma scope and career opportunities
Five Habits of High-Impact Board Members
A contest of sentiment analysis: k-nearest neighbor versus neural network
sustainability-14-14877-v2.pddhzftheheeeee
Enhancing plagiarism detection using data pre-processing and machine learning...
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
GROUP4NURSINGINFORMATICSREPORT-2 PRESENTATION
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
1 - Historical Antecedents, Social Consideration.pdf
What is a Computer? Input Devices /output devices
Flame analysis and combustion estimation using large language and vision assi...
Zenith AI: Advanced Artificial Intelligence
A review of recent deep learning applications in wood surface defect identifi...

Cross-Platform Mobile Development with PhoneGap-Vince Bullinger

  • 1. Cross-Platform Mobile Development with PhoneGap by: Vince Bullinger Mobile March 3/20/2014
  • 2. About Me ● Vince Bullinger (“vbullinger” everywhere) ● Married (5/08), live in St. Paul, WPI grad (‘04) ● Daughter Zina born 7/4/2011 ● Been a consultant/developer since 2005 ● Always looking to improve skills
  • 3. or 11:45AM-12:45PM - Robert Half, US Bancorp Center, Mpls
  • 4. Agenda ● Compare native, X-platform development ● Why should I care about X-platform? ● PhoneGap vs Xamarin, Appcelerator ● Getting started with PhoneGap ● PhoneGap protips, tools
  • 5. X-Platform Pros ● Write once, run on multiple major platforms ● One team/IDE/Skillset ● Can save a LOT of money ● Usually in more well-known languages ○ Easy to find talent ○ More support (varying) ○ Reuse code from other projects
  • 6. X-Platform Cons ● Doesn’t always perform as well (varying) ○ Not specialized for particular device (duh) ○ Doesn’t always provide native experience ● Varying device feature support ○ Some device features may not be supported ○ Can vary by device ○ Can vary by framework ● May take a while to catch up to native updates ● Different appearances/capabilities/OSes
  • 8. Different Capabilities ● Devices have different: ○ Hardware ○ Features ○ Screen ratios ○ Sizes ○ Screen resolutions ● Use feature detection ● Have fallback functionality
  • 10. Test Psychotically ● Have a real, defined testing strategy ● Iterative, frequent ● QA knowledgeable on each device ● Test on actual device, not just emulator
  • 11. Why Should I Care? ● Want to pick best mobile strategies ● Developers don’t want to code native* ○ 36% want HTML5 ○ 32% want cross-platform ○ 15% want native only * Survey by KendoUI
  • 12. Cross-Platform Relevance “The market for cross-platform mobile development tools exceeds $1.6 billion right now, and is expected to reach $8.2 billion by 2016.” - Smiths Points Analytics
  • 13. Native or X-Platform? ● Choose native when: ○ Need 100% native experience all the time ○ Accessing all device features ○ Only targeting one platform ○ Money is no issue ● Choose cross-platform when: ○ Don’t need to access obscure device features ○ You’re ready for some serious testing strategies ○ Have a restricted budget
  • 14. PhoneGap • Free, open-source framework • Build “native” apps for multiple platforms • Built using HTML, CSS, JavaScript – Large communities :) • API allows access to device features – Accelerometer – Camera – Microphone – File system – A few more
  • 16. PhoneGap Cons • API support varies • HTML, CSS, JavaScript only • Not really native apps… • Serious apps obviously not native • Big apps can have slow startup • Shouldn’t be used for complicated apps – Shell that connects to web server for real work – Won’t be consistent if using all native functionality
  • 17. When To Use? ● Your web developers can PhoneGap now ● Small budget ● Uncomplicated app ● First foray into mobile development ● It is not best for large/complicated apps ○ Your app probably doesn’t fall under those categories ● Won’t have native look and feel ○ Not native apps ○ Localized mobile website with basic device API
  • 18. • C# code – Lambdas – Generics – LINQ – All your other stuff... • Compiles to native binary – IL + JIT (Android) – ARM binary + AOT (iOS) Xamarin
  • 19. How Xamarin Works Quasi stolen from http://xamarin.com/how-it-works
  • 20. Xamarin Cons ● Still need separate UIs ○ Good thing? ○ Needs to be a factor in architecture decisions ● Separate device APIs ○ Xamarin.Mobile ■ Contacts ■ Camera ■ Geolocation ● Basic Xamarin Studio is free, useless
  • 21. When to Use? ● Want as close to native as possible ● .Net shop ● Got some money to spend
  • 22. Titanium • Build apps using JavaScript – Like PhoneGap • Compiles to 100% real app – Like Xamarin – Unlike PhoneGap • Cross-platform UIs – Unlike Xamarin • Robust JavaScript access to native APIs • Titanium Studio is free
  • 25. Making UIs Identical • Don’t do it • It’s dumb • Rely on native look and feel
  • 26. When to Use? ● Your team is/can be strong w/web development ● Familiar with Eclipse ● PhoneGap won’t do ○ Too complicated ○ Not enough device support ○ Need high-quality app with native look and feel ● Enough money to open pocket book ● Ready to sacrifice a bit of UI control ○ Rely on native look and feel ○ Lowest common denominator
  • 27. PhoneGap History ● Started at 2008 iPhoneDevCamp by Nitobi ○ quickly added Android, Blackberry support ● ‘09 Web 2.0 Expo Launchpad Peoples' Choice ● Adobe acquires Nitobi in 2011 ● PhoneGap now part of Cordova ○ PhoneGap: open source ○ Cordova: proprietary ● PhoneGap’s aim: ○ Fulfill W3C specifications ○ Until browsers do
  • 28. Getting Started ● IDEs ● APIs ● Emulating ● Building
  • 29. IDEs ● Whatever you want! ● IDEs usually have plugins ● Have a Mac? Use XCode ● IBM Worklight - Eclipse plugin ○ Mobile websites, hybrid or native apps ○ Very PhoneGap-friendly ● AppBuilder (formerly Icenium) ○ Most PhoneGap-centric IDE ○ Part of Telerik Platform ○ Visual Studio plugin
  • 31. DEMO
  • 32. PhoneGap APIs ● navigator.* ○ accelerometer ○ compass ○ contacts ○ device.capture.capture[Audio|Image|Video] ○ geolocation ○ network ● window.requestFileSystem ● alert - native! ● Almost always asynchronous
  • 35. DEMO
  • 39. Building PhoneGap Native Apps ● Download SDK for every device ● I’ll check back in next week … or...
  • 40. ● Let PhoneGap build service compile it Building PhoneGap Native Apps
  • 41. DEMO
  • 42. ● Create web apps optimized for mobile ○ Touch optimized (buttons) ○ Uses responsive layout (inputs/labels) ○ Elements automatically adapt to device sizes ○ Supports range of platforms, devices ● Progressive enhancement ○ Always display basic content ○ Show richer display to powerful browsers ● Themeable - themeroller.jquerymobile.com jQuery Mobile
  • 43. ● Ajaxified navigation ○ Hijacks links ○ Get linked url behind scenes ○ Append to DOM ○ Then smoothly transition ○ Supports back button, prefetching, caching ● jQuery Mobile alternatives ○ Sencha Touch ○ Dojo Mobile ○ Kendo UI jQuery Mobile
  • 44. Demo
  • 45. References ● This presentation: bit.ly/PhoneGapMM ● Speaker rate: http://bit.ly/1j71KDY ● http://phonegap.com ● http://xamarin.com ● http://appcelerator.com ● http://jquerymobile.com/ ● http://www.phonegapessentials.com/ ● http://build.phonegap.com ● http://techmasters-tc.com/