[ 
https://issues.apache.org/jira/browse/CB-9596?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Kotikov updated CB-9596:
---------------------------------
    Description: 
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 describes 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

  was:
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 describes 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


> PlatformApi master issue
> ------------------------
>
>                 Key: CB-9596
>                 URL: https://issues.apache.org/jira/browse/CB-9596
>             Project: Apache Cordova
>          Issue Type: New Feature
>          Components: CordovaLib, Plugman
>            Reporter: Vladimir Kotikov
>            Assignee: Vladimir Kotikov
>              Labels: PlatformApi, cordova-lib
>
> 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 describes 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



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to