SlideShare a Scribd company logo
1 of 24
Introduction to PhoneGap
     Mihai Corlan | Web Developer Evangelist | Adobe




© 2011 Adobe Systems Incorporated.
About Me

  Mihai Corlan
      Adobe Web Developer Evangelist
      Blog: http://corlan.org
      Twitter: mcorlan
      Email: mcorlan@adobe.com




   2
© 2011 Adobe Systems Incorporated.
Agenda

      PhoneGap
      PhoneGap Build
      Debugging PhoneGap Apps




© 2011 Adobe Systems Incorporated.
What is PhoneGap?




© 2011 Adobe Systems Incorporated.
PhoneGap - Cordova

      Is an open source platform for building native mobile applications using
       standard web technologies (HTML/CSS/JavaScript)
      Apache Cordova is the name of the open source project (it is in incubator
       for now): http://incubator.apache.org/cordova/
      PhoneGap is the name of the Adobe’s Cordova distrbution




© 2011 Adobe Systems Incorporated.
Why would you use PhoneGap?

      Traditional mobile development looks like this:



                                             Platform




                                     Tools          Language

                                                   Objective-C




© 2011 Adobe Systems Incorporated.
Why would you use PhoneGap?

      Traditional mobile development looks like this:



                                     Platform
                                                                 Platform




                   Tools                    Language
                                                         Tools          Language
                                           Objective-C
                                                                            Java




© 2011 Adobe Systems Incorporated.
Why would you use PhoneGap?

      What if you want iOS, Android, Symbian, Windows, BlackBerry?




© 2011 Adobe Systems Incorporated.
Why would you use PhoneGap?

      PhoneGap allows you to use “write once, run everywhere” paradigm
      Web standards based & Open Source
      You get native installers for each platform ready to be distributed through
       application stores (App Store, Android Market, …)




© 2011 Adobe Systems Incorporated.
PhoneGap supports 7 platforms




© 2011 Adobe Systems Incorporated.
PhoneGap could be your best friend                  if

      You want to target multiple mobile platforms
      You know HTML/JavaScript/CSS
      You already have a web site/web application. Thus you can reuse parts of
       this (see Wikipedia)




© 2011 Adobe Systems Incorporated.
Demo




© 2011 Adobe Systems Incorporated.
How does PhoneGap work?

                       PhoneGap App                         Mobile Device


      PhoneGap                       PhoneGap
      JavaScript                     Native
      Engine                         Engine
                                                Access to
                                                native
                                                mobile
        Your Code                               features
        HTML/JavaScript/CSS/Images/
        Frameworks/Libraries




        Web View
        Renders the app UI



© 2011 Adobe Systems Incorporated.
Built-in device APIs




© 2011 Adobe Systems Incorporated.
PhoneGap Plug-ins

      http://wiki.phonegap.com/w/page/36752779/PhoneGap%20Plugins
      Examples of plugins: https://github.com/purplecabbage/phonegap-plugins
      Extend the built-in functionality with custom plug-ins
      Delegate heavyweight data processing to native code
      Create background services




© 2011 Adobe Systems Incorporated.
Building PhoneGap Apps




© 2011 Adobe Systems Incorporated.
Build your PhoneGap app as you’d build a regular web app

      Using your favorite editors (Eclipse, vim, Dreamweaver)
      Test and debug the app using your desktop browser
      Test and debug the app using mobile simulators/emulators and the
       physical devices




© 2011 Adobe Systems Incorporated.
What can you use to build your application?

      Remember your application will run on the device’s browser
      You can use whatever JavaScript frameworks or libraries you like. Eg.
       jQuery, jQuery Mobile, Sencha, Backbone, Liquid, Mustache, Bootrstrap,
       and so on
      Pay attention to performance (mobile vs. desktop)
      Pay attention to mobile browser features or lack of them (I am talking
       about SVG)




© 2011 Adobe Systems Incorporated.
Creating the native installers

  There are 2 different methods to build the native installers for your
  PhoneGap app:
      Using the target platform tool chain
      Using PhoneGap Build – a cloud service




© 2011 Adobe Systems Incorporated.
Using platform native tool chain

      Use the OS and tools each platform recommends:
           iOS - http://phonegap.com/start#ios-x4
           Android - http://phonegap.com/start#android
           BlackBerry - http://phonegap.com/start#blackberry
           Windows Phone - http://phonegap.com/start#wp
           WebOS: http://phonegap.com/start#webos
           Symbian: http://phonegap.com/start#symbian




© 2011 Adobe Systems Incorporated.
Using PhoneGap Build

      http://build.phonegap.com - a cloud service
      Supports: iOS, Android, BlackBerry, WebOS, Windows Phone 7, and
       Symbian
      Supports one plugin (ChildBrowser); but you can hack in support for other
       plugins
      It is in beta and it is free; it will always be free for Open Source projects
      You upload your files (index.html, CSS, JS, images)
      Or you provide a Git / SVN link
      Support for debugging




© 2011 Adobe Systems Incorporated.
Resources

      Source: github.com/callback
      Docs: docs.phonegap.com
      Wiki: wiki.phonegap.com
      PhoneGap Build: build.phonegap.com
      Plugins: github.com/purplecabbage/phonegap-plugins
      Support: groups.google.com/group/phonegap
      IRC: irc.freenode.net #phonegap
      Apps: phonegap.com/apps
      Bugs: issues.apache.org/jira/browse/CB




© 2011 Adobe Systems Incorporated.
Thank You!


                                     Question & Answers Time!


                 http://corlan.org

                 http://twitter.com/mcorlan

                 http://github.com/mcorlan

                 mcorlan@adobe.com




© 2011 Adobe Systems Incorporated.
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

More Related Content

More from Mihai Corlan

Debugging mobile websites and web apps
Debugging mobile websites and web appsDebugging mobile websites and web apps
Debugging mobile websites and web appsMihai Corlan
 
Mobile Development With Flash Platform
Mobile Development With Flash PlatformMobile Development With Flash Platform
Mobile Development With Flash PlatformMihai Corlan
 
Getting started with flash mobile development
Getting started with flash mobile developmentGetting started with flash mobile development
Getting started with flash mobile developmentMihai Corlan
 
Flash Builder for PHP and Mobile development
Flash Builder for PHP and Mobile developmentFlash Builder for PHP and Mobile development
Flash Builder for PHP and Mobile developmentMihai Corlan
 
Android Development with Flash Platform
Android Development with Flash PlatformAndroid Development with Flash Platform
Android Development with Flash PlatformMihai Corlan
 
Adobe AIR - Mobile Performance – Tips & Tricks
Adobe AIR - Mobile Performance – Tips & TricksAdobe AIR - Mobile Performance – Tips & Tricks
Adobe AIR - Mobile Performance – Tips & TricksMihai Corlan
 
Adobe AIR Mobile development for Android and PlayBook
Adobe AIR Mobile development for Android and PlayBookAdobe AIR Mobile development for Android and PlayBook
Adobe AIR Mobile development for Android and PlayBookMihai Corlan
 

More from Mihai Corlan (7)

Debugging mobile websites and web apps
Debugging mobile websites and web appsDebugging mobile websites and web apps
Debugging mobile websites and web apps
 
Mobile Development With Flash Platform
Mobile Development With Flash PlatformMobile Development With Flash Platform
Mobile Development With Flash Platform
 
Getting started with flash mobile development
Getting started with flash mobile developmentGetting started with flash mobile development
Getting started with flash mobile development
 
Flash Builder for PHP and Mobile development
Flash Builder for PHP and Mobile developmentFlash Builder for PHP and Mobile development
Flash Builder for PHP and Mobile development
 
Android Development with Flash Platform
Android Development with Flash PlatformAndroid Development with Flash Platform
Android Development with Flash Platform
 
Adobe AIR - Mobile Performance – Tips & Tricks
Adobe AIR - Mobile Performance – Tips & TricksAdobe AIR - Mobile Performance – Tips & Tricks
Adobe AIR - Mobile Performance – Tips & Tricks
 
Adobe AIR Mobile development for Android and PlayBook
Adobe AIR Mobile development for Android and PlayBookAdobe AIR Mobile development for Android and PlayBook
Adobe AIR Mobile development for Android and PlayBook
 

Recently uploaded

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
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
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
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
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)

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
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
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...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
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 ...
 

Introduction to PhoneGap

  • 1. Introduction to PhoneGap Mihai Corlan | Web Developer Evangelist | Adobe © 2011 Adobe Systems Incorporated.
  • 2. About Me Mihai Corlan  Adobe Web Developer Evangelist  Blog: http://corlan.org  Twitter: mcorlan  Email: mcorlan@adobe.com 2 © 2011 Adobe Systems Incorporated.
  • 3. Agenda  PhoneGap  PhoneGap Build  Debugging PhoneGap Apps © 2011 Adobe Systems Incorporated.
  • 4. What is PhoneGap? © 2011 Adobe Systems Incorporated.
  • 5. PhoneGap - Cordova  Is an open source platform for building native mobile applications using standard web technologies (HTML/CSS/JavaScript)  Apache Cordova is the name of the open source project (it is in incubator for now): http://incubator.apache.org/cordova/  PhoneGap is the name of the Adobe’s Cordova distrbution © 2011 Adobe Systems Incorporated.
  • 6. Why would you use PhoneGap?  Traditional mobile development looks like this: Platform Tools Language Objective-C © 2011 Adobe Systems Incorporated.
  • 7. Why would you use PhoneGap?  Traditional mobile development looks like this: Platform Platform Tools Language Tools Language Objective-C Java © 2011 Adobe Systems Incorporated.
  • 8. Why would you use PhoneGap?  What if you want iOS, Android, Symbian, Windows, BlackBerry? © 2011 Adobe Systems Incorporated.
  • 9. Why would you use PhoneGap?  PhoneGap allows you to use “write once, run everywhere” paradigm  Web standards based & Open Source  You get native installers for each platform ready to be distributed through application stores (App Store, Android Market, …) © 2011 Adobe Systems Incorporated.
  • 10. PhoneGap supports 7 platforms © 2011 Adobe Systems Incorporated.
  • 11. PhoneGap could be your best friend if  You want to target multiple mobile platforms  You know HTML/JavaScript/CSS  You already have a web site/web application. Thus you can reuse parts of this (see Wikipedia) © 2011 Adobe Systems Incorporated.
  • 12. Demo © 2011 Adobe Systems Incorporated.
  • 13. How does PhoneGap work? PhoneGap App Mobile Device PhoneGap PhoneGap JavaScript Native Engine Engine Access to native mobile Your Code features HTML/JavaScript/CSS/Images/ Frameworks/Libraries Web View Renders the app UI © 2011 Adobe Systems Incorporated.
  • 14. Built-in device APIs © 2011 Adobe Systems Incorporated.
  • 15. PhoneGap Plug-ins  http://wiki.phonegap.com/w/page/36752779/PhoneGap%20Plugins  Examples of plugins: https://github.com/purplecabbage/phonegap-plugins  Extend the built-in functionality with custom plug-ins  Delegate heavyweight data processing to native code  Create background services © 2011 Adobe Systems Incorporated.
  • 16. Building PhoneGap Apps © 2011 Adobe Systems Incorporated.
  • 17. Build your PhoneGap app as you’d build a regular web app  Using your favorite editors (Eclipse, vim, Dreamweaver)  Test and debug the app using your desktop browser  Test and debug the app using mobile simulators/emulators and the physical devices © 2011 Adobe Systems Incorporated.
  • 18. What can you use to build your application?  Remember your application will run on the device’s browser  You can use whatever JavaScript frameworks or libraries you like. Eg. jQuery, jQuery Mobile, Sencha, Backbone, Liquid, Mustache, Bootrstrap, and so on  Pay attention to performance (mobile vs. desktop)  Pay attention to mobile browser features or lack of them (I am talking about SVG) © 2011 Adobe Systems Incorporated.
  • 19. Creating the native installers There are 2 different methods to build the native installers for your PhoneGap app:  Using the target platform tool chain  Using PhoneGap Build – a cloud service © 2011 Adobe Systems Incorporated.
  • 20. Using platform native tool chain  Use the OS and tools each platform recommends:  iOS - http://phonegap.com/start#ios-x4  Android - http://phonegap.com/start#android  BlackBerry - http://phonegap.com/start#blackberry  Windows Phone - http://phonegap.com/start#wp  WebOS: http://phonegap.com/start#webos  Symbian: http://phonegap.com/start#symbian © 2011 Adobe Systems Incorporated.
  • 21. Using PhoneGap Build  http://build.phonegap.com - a cloud service  Supports: iOS, Android, BlackBerry, WebOS, Windows Phone 7, and Symbian  Supports one plugin (ChildBrowser); but you can hack in support for other plugins  It is in beta and it is free; it will always be free for Open Source projects  You upload your files (index.html, CSS, JS, images)  Or you provide a Git / SVN link  Support for debugging © 2011 Adobe Systems Incorporated.
  • 22. Resources  Source: github.com/callback  Docs: docs.phonegap.com  Wiki: wiki.phonegap.com  PhoneGap Build: build.phonegap.com  Plugins: github.com/purplecabbage/phonegap-plugins  Support: groups.google.com/group/phonegap  IRC: irc.freenode.net #phonegap  Apps: phonegap.com/apps  Bugs: issues.apache.org/jira/browse/CB © 2011 Adobe Systems Incorporated.
  • 23. Thank You! Question & Answers Time! http://corlan.org http://twitter.com/mcorlan http://github.com/mcorlan mcorlan@adobe.com © 2011 Adobe Systems Incorporated.
  • 24. © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Editor's Notes

  1. You choose a platform like iOS for example and then you use the platform specific tools and languages like xCode and Objective-C in this case.
  2. It is the only open source framework that supports 7 platforms AFAIK
  3. 2010 CensusWikipediaUntapFacebook
  4. WebView – chromless browser full screenLayer nativ – PhoneGap native engine – PhoneGapJavaScrip APILayerulaplicatiei – HTML / JavaScript / CSS
  5. We still have some time for questions. Anyone?