PhoneGap / Cordova
HTML5 Apps on all Major Platforms


Felix Rieseberg
Developer Evangelist, Microsoft

Mihai Corlan
Developer Evangelist, Adobe
About Us

Felix Rieseberg
§    Microsoft Developer Evangelist
§    http://felixrieseberg.com
§    http://twitter.com/felixrieseberg
§    felix.rieseberg@microsoft.com


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

 2
Let’s talk
    Mobile Development


3
Let’s talk
HTML5


             4
Bridging the Gap


5
6
    §
Cordova summarized so far




 Develop once, deploy everywhere.


 Chromeless browser   WebApp & API Bridge   Native Package




 7
Cordova supports 7 platforms
Cordova Compatibility
Demo
How does Cordova work?

         Cordova App                         Mobile Device


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




 Web View
 Renders the app UI
Cordova 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
Building Cordova Apps
Build your Cordova app as you’d build a regular web app

§    Using your favorite editors (Eclipse, vim, Dreamweaver, Visual Studio)
§    Test and debug the app using your desktop browser
§    Test and debug the app using mobile simulators/emulators and the physical
      devices
What can you use to build your app?

§    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)
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
Using the 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
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
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
Thank You!


                           Question & Answers Time!


  Felix Rieseberg                          Mihai Corlan

  http://felixrieseberg.com                http://corlan.org

  http://twitter.com/felixrieseberg        http://twitter.com/mcorlan

  felix.rieseberg@microsoft.com            http://github.com/mcorlan

PhoneGap/Cordova

  • 1.
    PhoneGap / Cordova HTML5Apps on all Major Platforms Felix Rieseberg Developer Evangelist, Microsoft Mihai Corlan Developer Evangelist, Adobe
  • 2.
    About Us Felix Rieseberg §  Microsoft Developer Evangelist §  http://felixrieseberg.com §  http://twitter.com/felixrieseberg §  felix.rieseberg@microsoft.com Mihai Corlan §  Adobe Web Developer Evangelist §  Blog: http://corlan.org §  Twitter: mcorlan §  Email: mcorlan@adobe.com 2
  • 3.
    Let’s talk Mobile Development 3
  • 4.
  • 5.
  • 6.
    6 §
  • 7.
    Cordova summarized sofar Develop once, deploy everywhere. Chromeless browser WebApp & API Bridge Native Package 7
  • 8.
  • 9.
  • 10.
  • 11.
    How does Cordovawork? Cordova App Mobile Device Cordova Cordova JavaScript Native Engine Engine Access to native mobile Your Code features HTML/JavaScript/CSS/Images/ Frameworks/Libraries Web View Renders the app UI
  • 12.
    Cordova 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
  • 13.
  • 14.
    Build your Cordovaapp as you’d build a regular web app §  Using your favorite editors (Eclipse, vim, Dreamweaver, Visual Studio) §  Test and debug the app using your desktop browser §  Test and debug the app using mobile simulators/emulators and the physical devices
  • 15.
    What can youuse to build your app? §  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)
  • 16.
    Creating the nativeinstallers 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
  • 17.
    Using the platformnative 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
  • 18.
    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
  • 19.
    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
  • 20.
    Thank You! Question & Answers Time! Felix Rieseberg Mihai Corlan http://felixrieseberg.com http://corlan.org http://twitter.com/felixrieseberg http://twitter.com/mcorlan felix.rieseberg@microsoft.com http://github.com/mcorlan