In this workshop we will walk through several lessons designed to point out specific things you should learn about building hybrid mobile apps using a sample template developed by the PhoneGap team called Star Track. This app interacts with the Spotify Web API and was built with Framework7, a mobile UI framework. The chosen framework could have been anything but the goal was to use something with a familiar syntax and since Framework7 has a built-in DOM manipulation library with the same syntax as jQuery, it’s the easiest to get started with. We will enhance the Star Track app with some additional features and the resulting app can be found in this PhoneGap Day EU Star Track repo from my github.
We will focus less on the Framework7 library and more on the certain aspects of mobile development you should be most aware of when building hybrid apps in general. This includes best practices and performance techniques as well as adding and using Cordova plugins to add additional functionality that will enhance your apps and provide a more native experience.
<plugin name="cordova-plugin-whitelist" spec="~1.2.0" /> <plugin name="cordova-plugin-statusbar" spec="~2.1.3" /> <plugin name="cordova-plugin-media" spec="~1.0.1" /> <plugin name="cordova-plugin-console" spec="~1.0.1" /> <plugin name="cordova-plugin-x-socialsharing" spec="~5.0.12" /> <plugin name="cordova-plugin-network-information" spec="~1.2.1" />
npm install -g phonegap) > PhoneGap CLI 6.2.2 had a bug that could interfere with certain parts of this workshop so please ensure you’re not using that version. To check simply run the command
A mobile device or a Mobile SDK is not a requirement for this tutorial. You will able to test your application in the browser or with the PhoneGap Developer App with some limitations. If you want the full support of the native APIs then you will need the mobile SDK for that platform (iOS SDK, Android SDK, etc.) installed on your system.
Please create an issue here if you run into any problems or if you have feedback.
You can also use the Comments section at the bottom of each module to ask a question or report a problem.
You can contact me on Twitter: