This is the master issue for PlatformApi related work.
The description is copied from https://github.com/cordova/cordova-discuss/pull/9
This proposal describes a high-level classes which describe Cordova project and Cordova platform as a strictly typed APIs:
- ProjectApi - a high-level abstraction on top of cordova project, exposes project's properties and methods for project management.
- PlatformApi class - further development of PlatformProject (see #4) - abstraction for single particular platform.
To make the transition to new API smoother, the cordova-lib needs to be updated to expose the same class, which will work as a polyfill in case if platform doesn't provides its own PlatformApi.
There also a potential problem of code duplication, since the PlatformApi needs for several classes, which currently being stored and exposed by cordova-lib: ConfigParser, PluginInfo, etc. The one of solutions of this problem - is to factor out the common classes and routines to shared module (proposed name - cordova-common), which then will be released separately. This approach is discussed in cordova-lib/#235