Combine yeoman/generator-angular and phonegap
You can see a demo application using grunt-angular-phonegap on dsimard/grunt-angular-phonegap-example
This plugin requires Grunt
WARNING : This plugin is still in early alpha. I work on Ubuntu, other operating systems are not tested. Let me know if you need help by writing me at email@example.com.
First, make sure that you installed the proper SDK. Supported platforms are : Android, iOS and WindowsPhone
Globally install phonegap and yeoman/generator-angular :
npm install -g phonegap cordova generator-angular
Create your phonegap project :
phonegap create --name MyApp --id com.yourcompany.myapp myapp && cd myapp
Use the last version of phonegap by adding this line in
<preference name="phonegap-version" value="3.4.0" />
Initialize an angular application with yeoman :
yo angular [myapp]
Add this project to your
npm install grunt-angular-phonegap --save-dev
Add a platform (
cordova platform add [platform]
Check that everything works well :
[platform] supported are :
wp8. I only test with
Default is always
Check if your computer is ready for PhoneGap development.
Build the app locally in
--no-bower to avoid copying the
Start an emulator. If there is one already running, it will be used.
:emulator to specify an emulator already running.
Send the project to remotely build at http://build.phonegap.com.
NOTE : Before remotely building, you have to login by executing
phonegap remote login --username firstname.lastname@example.org --password YourPassword
How do I include
phonegap.js in the application?
You simply add
<script src="cordova.js"></script> and that's it. It will complain that the file is not found when you're on your local server (via
grunt serve) but the script is injected when you'll build your project (
grunt phonegap:build), start an emulator (
grunt phonegap:emulate) or send it to build.phonegap (
grunt phonegap:send). By the way, you can use
Do not copy
cordova.js from another directory!
The app doesn't feel native, what do you suggest?
In a business environment, I wouldn't mind that much. Clients want a mobile app for their need, they don't really care if it feels native or not. I would suggest bootstrap3
For customers, I would suggest ionic
OSX Mavericks complains about
$ brew update $ brew install ant
Cordova complains about outdated Android SDK
$ android update sdk