Yesterday we launched ember-cordova, which is our fork of ember-cli-cordova.
In the current 0.1.0, we have introduced:
- Hook support (beforeBuild, afterBuild, beforePrepare, afterPrepare). Use hooks for any custom clean up or tasks relating to your Cordova builds;
- Refactoring of tasks. They both now the canonical task structure, but also have some subtle differences. Notably, prepare now runs cordova prepare;
- Proxy commands to Cordova. ember cdv:foo proxies a command through ember cordova, but ember cdv foo will simply run foo in your Cordova directory. It’s ok to be lazy;
- We’ve introduced a Platform service (isIOS, isIPad, isWebView),
- Splash handling is now first class;
- Icon management is now first class;
- We’ve started wrapping Cordova services with light Ember bindings (for example, keyboard). More of these to come;
- The Keyboard service accounts for viewport resizing when the keyboard is active on iOS, stopping your window from resizing;
- Our Cordova service has been updated;
- Live reload does not require config. To boot live reload on a device, simply run ember cdv:s; and
- A general refactor & code clean up.
Why the fork
Our initial plan was to continue supporting and helping maintain ember-cli-cordova. However, many changes we want to introduce will break backwards compatibility.
For now, we are going to continue supporting the maintenance of ember-cli-cordova as well.
Migration path for existing users
You shouldn’t need to change anything at all.
For the immediate future, we are working on:
- Improving test coverage;
- Live reload improvements;
- Bindings to more Cordova Plugins (e.g. Network, StatusBar); and
- An ember/cordova install service. Either have ember install ember-cordova-plugin-foo install both the ember addon & cordova plugin, or achieving the same through ember cdv:install foo.
Special thanks to Aidan & Chris for helping me push this over the line, and to Poetic for being very supportive of our forking.