/ember-cordova

Primary LanguageJavaScriptMIT LicenseMIT

Ember Cordova

Build Status

ember-cordova simplifies building Cordova and Crosswalk applications with Ember.js.

It includes a CLI for builds, hooks, device event bindings, and handles splash screens, icons and a growing number of supported Ember/Cordova plugin bindings.

  1. Platforms & Requirements
  2. Getting Started
  3. Features and Documentation;
  4. Upcoming Extensions;
  5. Contributing;
  6. Credits

Platforms & Requirements

  • Ember 1.13 & above. Lower will probably work but is untested;
  • node 0.12 & above. 0.11/10 will probably work, but are untested;

Getting Started

If you are migrating from ember-cli-cordova, read the migration guide.

  ember install ember-cordova

You can optionally pass the following params:

  • name: AppName (defaults to your ember app name)
  • cordovaid: String (defaults to your app name)
  • templatePath: String path to cordova template
ember install ember-cordova --name=AppName
--cordovaid=com.isleofcode.app --templatePath=../template

If you already have a Cordova project at ember-cordova/cordova it will not be overwritten.

  1. Set your config.locationType to 'hash'.

  2. Cordova requires relative asset paths so check that none of yours are absolute. For ember-cli v2.7.0 and newer, you'll want to remove the references to {{rootURL}} from the asset paths in app/index.html.

  3. As a final step, add your desired platforms, e.g.:

ember cdv:platform add ios
ember cdv:platform add android
ember cdv:platform add browser #experimental

Cordova working relies on the cordova.js script being injected. By default, this happens using ember cdv commands. Your vanilla ember build && ember s commands will not inject cordova.js by design.

A note on browser platform

Some cordova/phonegap plugins have browser fallbacks. For example phonegap-plugin-barcodescanner will ask you to manually type the barcode value. Using the browser platform, you'll be able to develop your cordova app as it was a regular ember app.

Features and Documentation

Upcoming Extensions

We are working on four major items right now:

  1. Improving test coverage;
  2. Bindings to Cordova Plugins see plugins; and
  3. Either having ember install ember-cordova-plugin-foo install both the ember addon & cordova plugin, or achieving the same through ember cdv:install foo.

Contributing

PRs are very welcome. You can read our style guides here.

If you are unsure about your contribution idea, please feel free to open an Issue for feedback.

Credits

ember-cordova is maintained by Isle of Code, and started as a fork of ember-cli-cordova.