You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by "Plaquette, Paul" <pa...@intel.com> on 2013/09/17 15:43:53 UTC

About Cordova 3, plugins, and tools

Hi folks,

I need  help to better understand Cordova 3 plugins in order to upgrade
Cordova Port on Tizen.

Do Cordova 3 plugins have the same structure than PhoneGap Build plugins?

Most platforms supported by Cordova have native plugins (native means
native in the meaning of the host platform, java on android  (can they use
NPK?) Objective C on iOS and so on…)

I saw that communicating with the native side of a plugins is achieve
through a plugin object and a plugin result object

Tizen is mostly JavaScript.

Now the SDK is delivered it appear that we might implement native plug in
in C++ through two mechanism: NPRuntime, and MessagePort.

NPRuntime is NPAPI.

MessagePort is establishing a communication channel in between a web
application, our plugin, and a native C++ background only application
without a user interface. (I think is it a socket based mechanism, I have
to check to insure of this)

For that last mechanism we might have to rely on having such plugin and
plugin result objects, as it is highly asynchronous.

In order to support Cordova 3 on Tizen we need to support CLI and Plugman.

Where could I find something to help me in that task?

For example what are the part to update that relates to a specific
platforms?

Then we have to provide Cordova APIs plugins implementation on Tizen.

These APIs are implemented until Cordova 2.9.x as JavaScript shim layers
above the Tizen Web Runtime APIs.

My first attempt upgrading this to Cordova 3 architecture would be to keep
this JavaScript implementation: plugins as JavaScript plugins, shim layers
on the Tizen Web Runtime API.

Is there a kind of Cordova 3 plugin JavaScript framework that provides
support?

In doing this I wonder if I really need to provide a plugin and plugin
result object?

Then, if I do not need to provide such object I wonder where the shim layer
is going to take place in the www part of the plug in or in the src part of
the plugin  (I know we can use the config.xml file to set this)


Cordially,

Paul
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Paul Plaquette,
Senior Software Engineer
Intel Corporation SAS *
*
*SSG/OTC: Open Source Technology Center*
France, Montpellier

Re: About Cordova 3, plugins, and tools

Posted by Bryan Higgins <br...@bryanhiggins.net>.
I recommend the command proxy approach as well.

BB10 file was implemented using clobbers for performance reasons unique to
the platform.


On Tue, Sep 17, 2013 at 12:51 PM, purplecabbage <pu...@gmail.com>wrote:

> Windows8 is currently all js and supports plugins. All existing plugin
> code outside of exec is used verbatim, while the exec call just maps it to
> a js proxy that implements what would otherwise be native. [1]
>
> FFOS (all js) is adopting this same mechanism, although currently the
> commandProxy functionality only in Cordova.windows8.js [2]
>
> This approach is different than bb10 in that there is much less clobbering
> going on. Looking at [3] you can compare.
>
>
> [1]
> https://github.com/apache/cordova-plugin-file/blob/master/src/windows8/FileProxy.js
> [2]
> https://github.com/apache/cordova-js/blob/master/lib/windows8/windows8/commandProxy.js
> [3] https://github.com/apache/cordova-plugin-file/blob/master/plugin.xml
>
>
> Sent from my iPhone
>
> > On Sep 17, 2013, at 8:29 AM, Andrew Grieve <ag...@chromium.org> wrote:
> >
> > Yeah, the main thing for CLI support is to provide the proper cordova/
> > scripts within created projects and to add a file to
> > cordova-cli/src/metadata.
> >
> > For plugman support, add a cordova-plugman/src/platforms/tizen.js file
> and
> > go from there.
> >
> >
> > On Tue, Sep 17, 2013 at 10:45 AM, Braden Shepherdson <
> braden@chromium.org>wrote:
> >
> >> There are several plugins where it's JS-only. You **do not need**
> "native"
> >> code backing up the plugins. It can all be Javascript, if that works for
> >> the platform. What you do need is to support the same
> >> cordova.exec('SomePlugin', 'someFunction', [args, go, here]) interface
> in
> >> your Javascript code. That is, in Tizen's implementation of
> cordova.exec,
> >> you can have it call Javascript code. That Javascript code might just
> >> handle the call, as in those BB10 plugins, or it could use NPRuntime or
> >> MessagePort to call native code.
> >>
> >> In terms of adding the platform to CLI, FirefoxOS was added recently;
> take
> >> a look at those patches to see what you should change.
> >>
> >> Braden
> >>
> >>
> >> On Tue, Sep 17, 2013 at 10:15 AM, Ken Wallis <kw...@blackberry.com>
> >> wrote:
> >>
> >>> Bryan, Jeff, keep me honest here, but there are a few BlackBerry 10
> >>> plugins that are almost (completely?) JS-only plugins.  For example,
> the
> >>> BlackBerry 10 web view implements the W3C file system spec which is
> >>> mimicked by the Cordova File API. So the BlackBerry 10 Cordova API for
> >> File
> >>> is really a JS shim for 3.x as well.
> >>
> https://github.com/apache/cordova-plugin-file/tree/master/www/blackberry10
> >>>
> >>> --
> >>>
> >>> Ken Wallis
> >>> Senior Product Manager – WebWorks
> >>> BlackBerry
> >>> 650-620-2404
> >>>
> >>> ________________________________________
> >>> From: Plaquette, Paul [paul.plaquette@intel.com]
> >>> Sent: Tuesday, September 17, 2013 9:43 AM
> >>> To: dev
> >>> Subject: About Cordova 3, plugins, and tools
> >>>
> >>> Hi folks,
> >>>
> >>> I need  help to better understand Cordova 3 plugins in order to upgrade
> >>> Cordova Port on Tizen.
> >>>
> >>> Do Cordova 3 plugins have the same structure than PhoneGap Build
> plugins?
> >>>
> >>> Most platforms supported by Cordova have native plugins (native means
> >>> native in the meaning of the host platform, java on android  (can they
> >> use
> >>> NPK?) Objective C on iOS and so on…)
> >>>
> >>> I saw that communicating with the native side of a plugins is achieve
> >>> through a plugin object and a plugin result object
> >>>
> >>> Tizen is mostly JavaScript.
> >>>
> >>> Now the SDK is delivered it appear that we might implement native plug
> in
> >>> in C++ through two mechanism: NPRuntime, and MessagePort.
> >>>
> >>> NPRuntime is NPAPI.
> >>>
> >>> MessagePort is establishing a communication channel in between a web
> >>> application, our plugin, and a native C++ background only application
> >>> without a user interface. (I think is it a socket based mechanism, I
> have
> >>> to check to insure of this)
> >>>
> >>> For that last mechanism we might have to rely on having such plugin and
> >>> plugin result objects, as it is highly asynchronous.
> >>>
> >>> In order to support Cordova 3 on Tizen we need to support CLI and
> >> Plugman.
> >>>
> >>> Where could I find something to help me in that task?
> >>>
> >>> For example what are the part to update that relates to a specific
> >>> platforms?
> >>>
> >>> Then we have to provide Cordova APIs plugins implementation on Tizen.
> >>>
> >>> These APIs are implemented until Cordova 2.9.x as JavaScript shim
> layers
> >>> above the Tizen Web Runtime APIs.
> >>>
> >>> My first attempt upgrading this to Cordova 3 architecture would be to
> >> keep
> >>> this JavaScript implementation: plugins as JavaScript plugins, shim
> >> layers
> >>> on the Tizen Web Runtime API.
> >>>
> >>> Is there a kind of Cordova 3 plugin JavaScript framework that provides
> >>> support?
> >>>
> >>> In doing this I wonder if I really need to provide a plugin and plugin
> >>> result object?
> >>>
> >>> Then, if I do not need to provide such object I wonder where the shim
> >> layer
> >>> is going to take place in the www part of the plug in or in the src
> part
> >> of
> >>> the plugin  (I know we can use the config.xml file to set this)
> >>>
> >>>
> >>> Cordially,
> >>>
> >>> Paul
> >>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >>>
> >>> Paul Plaquette,
> >>> Senior Software Engineer
> >>> Intel Corporation SAS *
> >>> *
> >>> *SSG/OTC: Open Source Technology Center*
> >>> France, Montpellier
> >>> ---------------------------------------------------------------------
> >>> This transmission (including any attachments) may contain confidential
> >>> information, privileged material (including material protected by the
> >>> solicitor-client or other applicable privileges), or constitute
> >> non-public
> >>> information. Any use of this information by anyone other than the
> >> intended
> >>> recipient is prohibited. If you have received this transmission in
> error,
> >>> please immediately reply to the sender and delete this information from
> >>> your system. Use, dissemination, distribution, or reproduction of this
> >>> transmission by unintended recipients is not authorized and may be
> >> unlawful.
> >>
>

Re: About Cordova 3, plugins, and tools

Posted by purplecabbage <pu...@gmail.com>.
Windows8 is currently all js and supports plugins. All existing plugin code outside of exec is used verbatim, while the exec call just maps it to a js proxy that implements what would otherwise be native. [1]

FFOS (all js) is adopting this same mechanism, although currently the commandProxy functionality only in Cordova.windows8.js [2]

This approach is different than bb10 in that there is much less clobbering going on. Looking at [3] you can compare. 


[1] https://github.com/apache/cordova-plugin-file/blob/master/src/windows8/FileProxy.js
[2] https://github.com/apache/cordova-js/blob/master/lib/windows8/windows8/commandProxy.js
[3] https://github.com/apache/cordova-plugin-file/blob/master/plugin.xml


Sent from my iPhone

> On Sep 17, 2013, at 8:29 AM, Andrew Grieve <ag...@chromium.org> wrote:
> 
> Yeah, the main thing for CLI support is to provide the proper cordova/
> scripts within created projects and to add a file to
> cordova-cli/src/metadata.
> 
> For plugman support, add a cordova-plugman/src/platforms/tizen.js file and
> go from there.
> 
> 
> On Tue, Sep 17, 2013 at 10:45 AM, Braden Shepherdson <br...@chromium.org>wrote:
> 
>> There are several plugins where it's JS-only. You **do not need** "native"
>> code backing up the plugins. It can all be Javascript, if that works for
>> the platform. What you do need is to support the same
>> cordova.exec('SomePlugin', 'someFunction', [args, go, here]) interface in
>> your Javascript code. That is, in Tizen's implementation of cordova.exec,
>> you can have it call Javascript code. That Javascript code might just
>> handle the call, as in those BB10 plugins, or it could use NPRuntime or
>> MessagePort to call native code.
>> 
>> In terms of adding the platform to CLI, FirefoxOS was added recently; take
>> a look at those patches to see what you should change.
>> 
>> Braden
>> 
>> 
>> On Tue, Sep 17, 2013 at 10:15 AM, Ken Wallis <kw...@blackberry.com>
>> wrote:
>> 
>>> Bryan, Jeff, keep me honest here, but there are a few BlackBerry 10
>>> plugins that are almost (completely?) JS-only plugins.  For example, the
>>> BlackBerry 10 web view implements the W3C file system spec which is
>>> mimicked by the Cordova File API. So the BlackBerry 10 Cordova API for
>> File
>>> is really a JS shim for 3.x as well.
>> https://github.com/apache/cordova-plugin-file/tree/master/www/blackberry10
>>> 
>>> --
>>> 
>>> Ken Wallis
>>> Senior Product Manager – WebWorks
>>> BlackBerry
>>> 650-620-2404
>>> 
>>> ________________________________________
>>> From: Plaquette, Paul [paul.plaquette@intel.com]
>>> Sent: Tuesday, September 17, 2013 9:43 AM
>>> To: dev
>>> Subject: About Cordova 3, plugins, and tools
>>> 
>>> Hi folks,
>>> 
>>> I need  help to better understand Cordova 3 plugins in order to upgrade
>>> Cordova Port on Tizen.
>>> 
>>> Do Cordova 3 plugins have the same structure than PhoneGap Build plugins?
>>> 
>>> Most platforms supported by Cordova have native plugins (native means
>>> native in the meaning of the host platform, java on android  (can they
>> use
>>> NPK?) Objective C on iOS and so on…)
>>> 
>>> I saw that communicating with the native side of a plugins is achieve
>>> through a plugin object and a plugin result object
>>> 
>>> Tizen is mostly JavaScript.
>>> 
>>> Now the SDK is delivered it appear that we might implement native plug in
>>> in C++ through two mechanism: NPRuntime, and MessagePort.
>>> 
>>> NPRuntime is NPAPI.
>>> 
>>> MessagePort is establishing a communication channel in between a web
>>> application, our plugin, and a native C++ background only application
>>> without a user interface. (I think is it a socket based mechanism, I have
>>> to check to insure of this)
>>> 
>>> For that last mechanism we might have to rely on having such plugin and
>>> plugin result objects, as it is highly asynchronous.
>>> 
>>> In order to support Cordova 3 on Tizen we need to support CLI and
>> Plugman.
>>> 
>>> Where could I find something to help me in that task?
>>> 
>>> For example what are the part to update that relates to a specific
>>> platforms?
>>> 
>>> Then we have to provide Cordova APIs plugins implementation on Tizen.
>>> 
>>> These APIs are implemented until Cordova 2.9.x as JavaScript shim layers
>>> above the Tizen Web Runtime APIs.
>>> 
>>> My first attempt upgrading this to Cordova 3 architecture would be to
>> keep
>>> this JavaScript implementation: plugins as JavaScript plugins, shim
>> layers
>>> on the Tizen Web Runtime API.
>>> 
>>> Is there a kind of Cordova 3 plugin JavaScript framework that provides
>>> support?
>>> 
>>> In doing this I wonder if I really need to provide a plugin and plugin
>>> result object?
>>> 
>>> Then, if I do not need to provide such object I wonder where the shim
>> layer
>>> is going to take place in the www part of the plug in or in the src part
>> of
>>> the plugin  (I know we can use the config.xml file to set this)
>>> 
>>> 
>>> Cordially,
>>> 
>>> Paul
>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>> 
>>> Paul Plaquette,
>>> Senior Software Engineer
>>> Intel Corporation SAS *
>>> *
>>> *SSG/OTC: Open Source Technology Center*
>>> France, Montpellier
>>> ---------------------------------------------------------------------
>>> This transmission (including any attachments) may contain confidential
>>> information, privileged material (including material protected by the
>>> solicitor-client or other applicable privileges), or constitute
>> non-public
>>> information. Any use of this information by anyone other than the
>> intended
>>> recipient is prohibited. If you have received this transmission in error,
>>> please immediately reply to the sender and delete this information from
>>> your system. Use, dissemination, distribution, or reproduction of this
>>> transmission by unintended recipients is not authorized and may be
>> unlawful.
>> 

Re: About Cordova 3, plugins, and tools

Posted by Andrew Grieve <ag...@chromium.org>.
Yeah, the main thing for CLI support is to provide the proper cordova/
scripts within created projects and to add a file to
cordova-cli/src/metadata.

For plugman support, add a cordova-plugman/src/platforms/tizen.js file and
go from there.


On Tue, Sep 17, 2013 at 10:45 AM, Braden Shepherdson <br...@chromium.org>wrote:

> There are several plugins where it's JS-only. You **do not need** "native"
> code backing up the plugins. It can all be Javascript, if that works for
> the platform. What you do need is to support the same
> cordova.exec('SomePlugin', 'someFunction', [args, go, here]) interface in
> your Javascript code. That is, in Tizen's implementation of cordova.exec,
> you can have it call Javascript code. That Javascript code might just
> handle the call, as in those BB10 plugins, or it could use NPRuntime or
> MessagePort to call native code.
>
> In terms of adding the platform to CLI, FirefoxOS was added recently; take
> a look at those patches to see what you should change.
>
> Braden
>
>
> On Tue, Sep 17, 2013 at 10:15 AM, Ken Wallis <kw...@blackberry.com>
> wrote:
>
> > Bryan, Jeff, keep me honest here, but there are a few BlackBerry 10
> > plugins that are almost (completely?) JS-only plugins.  For example, the
> > BlackBerry 10 web view implements the W3C file system spec which is
> > mimicked by the Cordova File API. So the BlackBerry 10 Cordova API for
> File
> > is really a JS shim for 3.x as well.
> >
> >
> https://github.com/apache/cordova-plugin-file/tree/master/www/blackberry10
> >
> > --
> >
> > Ken Wallis
> > Senior Product Manager – WebWorks
> > BlackBerry
> > 650-620-2404
> >
> > ________________________________________
> > From: Plaquette, Paul [paul.plaquette@intel.com]
> > Sent: Tuesday, September 17, 2013 9:43 AM
> > To: dev
> > Subject: About Cordova 3, plugins, and tools
> >
> > Hi folks,
> >
> > I need  help to better understand Cordova 3 plugins in order to upgrade
> > Cordova Port on Tizen.
> >
> > Do Cordova 3 plugins have the same structure than PhoneGap Build plugins?
> >
> > Most platforms supported by Cordova have native plugins (native means
> > native in the meaning of the host platform, java on android  (can they
> use
> > NPK?) Objective C on iOS and so on…)
> >
> > I saw that communicating with the native side of a plugins is achieve
> > through a plugin object and a plugin result object
> >
> > Tizen is mostly JavaScript.
> >
> > Now the SDK is delivered it appear that we might implement native plug in
> > in C++ through two mechanism: NPRuntime, and MessagePort.
> >
> > NPRuntime is NPAPI.
> >
> > MessagePort is establishing a communication channel in between a web
> > application, our plugin, and a native C++ background only application
> > without a user interface. (I think is it a socket based mechanism, I have
> > to check to insure of this)
> >
> > For that last mechanism we might have to rely on having such plugin and
> > plugin result objects, as it is highly asynchronous.
> >
> > In order to support Cordova 3 on Tizen we need to support CLI and
> Plugman.
> >
> > Where could I find something to help me in that task?
> >
> > For example what are the part to update that relates to a specific
> > platforms?
> >
> > Then we have to provide Cordova APIs plugins implementation on Tizen.
> >
> > These APIs are implemented until Cordova 2.9.x as JavaScript shim layers
> > above the Tizen Web Runtime APIs.
> >
> > My first attempt upgrading this to Cordova 3 architecture would be to
> keep
> > this JavaScript implementation: plugins as JavaScript plugins, shim
> layers
> > on the Tizen Web Runtime API.
> >
> > Is there a kind of Cordova 3 plugin JavaScript framework that provides
> > support?
> >
> > In doing this I wonder if I really need to provide a plugin and plugin
> > result object?
> >
> > Then, if I do not need to provide such object I wonder where the shim
> layer
> > is going to take place in the www part of the plug in or in the src part
> of
> > the plugin  (I know we can use the config.xml file to set this)
> >
> >
> > Cordially,
> >
> > Paul
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >
> > Paul Plaquette,
> > Senior Software Engineer
> > Intel Corporation SAS *
> > *
> > *SSG/OTC: Open Source Technology Center*
> > France, Montpellier
> > ---------------------------------------------------------------------
> > This transmission (including any attachments) may contain confidential
> > information, privileged material (including material protected by the
> > solicitor-client or other applicable privileges), or constitute
> non-public
> > information. Any use of this information by anyone other than the
> intended
> > recipient is prohibited. If you have received this transmission in error,
> > please immediately reply to the sender and delete this information from
> > your system. Use, dissemination, distribution, or reproduction of this
> > transmission by unintended recipients is not authorized and may be
> unlawful.
> >
> >
>

Re: About Cordova 3, plugins, and tools

Posted by Braden Shepherdson <br...@chromium.org>.
There are several plugins where it's JS-only. You **do not need** "native"
code backing up the plugins. It can all be Javascript, if that works for
the platform. What you do need is to support the same
cordova.exec('SomePlugin', 'someFunction', [args, go, here]) interface in
your Javascript code. That is, in Tizen's implementation of cordova.exec,
you can have it call Javascript code. That Javascript code might just
handle the call, as in those BB10 plugins, or it could use NPRuntime or
MessagePort to call native code.

In terms of adding the platform to CLI, FirefoxOS was added recently; take
a look at those patches to see what you should change.

Braden


On Tue, Sep 17, 2013 at 10:15 AM, Ken Wallis <kw...@blackberry.com> wrote:

> Bryan, Jeff, keep me honest here, but there are a few BlackBerry 10
> plugins that are almost (completely?) JS-only plugins.  For example, the
> BlackBerry 10 web view implements the W3C file system spec which is
> mimicked by the Cordova File API. So the BlackBerry 10 Cordova API for File
> is really a JS shim for 3.x as well.
>
> https://github.com/apache/cordova-plugin-file/tree/master/www/blackberry10
>
> --
>
> Ken Wallis
> Senior Product Manager – WebWorks
> BlackBerry
> 650-620-2404
>
> ________________________________________
> From: Plaquette, Paul [paul.plaquette@intel.com]
> Sent: Tuesday, September 17, 2013 9:43 AM
> To: dev
> Subject: About Cordova 3, plugins, and tools
>
> Hi folks,
>
> I need  help to better understand Cordova 3 plugins in order to upgrade
> Cordova Port on Tizen.
>
> Do Cordova 3 plugins have the same structure than PhoneGap Build plugins?
>
> Most platforms supported by Cordova have native plugins (native means
> native in the meaning of the host platform, java on android  (can they use
> NPK?) Objective C on iOS and so on…)
>
> I saw that communicating with the native side of a plugins is achieve
> through a plugin object and a plugin result object
>
> Tizen is mostly JavaScript.
>
> Now the SDK is delivered it appear that we might implement native plug in
> in C++ through two mechanism: NPRuntime, and MessagePort.
>
> NPRuntime is NPAPI.
>
> MessagePort is establishing a communication channel in between a web
> application, our plugin, and a native C++ background only application
> without a user interface. (I think is it a socket based mechanism, I have
> to check to insure of this)
>
> For that last mechanism we might have to rely on having such plugin and
> plugin result objects, as it is highly asynchronous.
>
> In order to support Cordova 3 on Tizen we need to support CLI and Plugman.
>
> Where could I find something to help me in that task?
>
> For example what are the part to update that relates to a specific
> platforms?
>
> Then we have to provide Cordova APIs plugins implementation on Tizen.
>
> These APIs are implemented until Cordova 2.9.x as JavaScript shim layers
> above the Tizen Web Runtime APIs.
>
> My first attempt upgrading this to Cordova 3 architecture would be to keep
> this JavaScript implementation: plugins as JavaScript plugins, shim layers
> on the Tizen Web Runtime API.
>
> Is there a kind of Cordova 3 plugin JavaScript framework that provides
> support?
>
> In doing this I wonder if I really need to provide a plugin and plugin
> result object?
>
> Then, if I do not need to provide such object I wonder where the shim layer
> is going to take place in the www part of the plug in or in the src part of
> the plugin  (I know we can use the config.xml file to set this)
>
>
> Cordially,
>
> Paul
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Paul Plaquette,
> Senior Software Engineer
> Intel Corporation SAS *
> *
> *SSG/OTC: Open Source Technology Center*
> France, Montpellier
> ---------------------------------------------------------------------
> This transmission (including any attachments) may contain confidential
> information, privileged material (including material protected by the
> solicitor-client or other applicable privileges), or constitute non-public
> information. Any use of this information by anyone other than the intended
> recipient is prohibited. If you have received this transmission in error,
> please immediately reply to the sender and delete this information from
> your system. Use, dissemination, distribution, or reproduction of this
> transmission by unintended recipients is not authorized and may be unlawful.
>
>

RE: About Cordova 3, plugins, and tools

Posted by Ken Wallis <kw...@blackberry.com>.
Bryan, Jeff, keep me honest here, but there are a few BlackBerry 10 plugins that are almost (completely?) JS-only plugins.  For example, the BlackBerry 10 web view implements the W3C file system spec which is mimicked by the Cordova File API. So the BlackBerry 10 Cordova API for File is really a JS shim for 3.x as well.

https://github.com/apache/cordova-plugin-file/tree/master/www/blackberry10
 
--

Ken Wallis
Senior Product Manager – WebWorks
BlackBerry
650-620-2404

________________________________________
From: Plaquette, Paul [paul.plaquette@intel.com]
Sent: Tuesday, September 17, 2013 9:43 AM
To: dev
Subject: About Cordova 3, plugins, and tools

Hi folks,

I need  help to better understand Cordova 3 plugins in order to upgrade
Cordova Port on Tizen.

Do Cordova 3 plugins have the same structure than PhoneGap Build plugins?

Most platforms supported by Cordova have native plugins (native means
native in the meaning of the host platform, java on android  (can they use
NPK?) Objective C on iOS and so on…)

I saw that communicating with the native side of a plugins is achieve
through a plugin object and a plugin result object

Tizen is mostly JavaScript.

Now the SDK is delivered it appear that we might implement native plug in
in C++ through two mechanism: NPRuntime, and MessagePort.

NPRuntime is NPAPI.

MessagePort is establishing a communication channel in between a web
application, our plugin, and a native C++ background only application
without a user interface. (I think is it a socket based mechanism, I have
to check to insure of this)

For that last mechanism we might have to rely on having such plugin and
plugin result objects, as it is highly asynchronous.

In order to support Cordova 3 on Tizen we need to support CLI and Plugman.

Where could I find something to help me in that task?

For example what are the part to update that relates to a specific
platforms?

Then we have to provide Cordova APIs plugins implementation on Tizen.

These APIs are implemented until Cordova 2.9.x as JavaScript shim layers
above the Tizen Web Runtime APIs.

My first attempt upgrading this to Cordova 3 architecture would be to keep
this JavaScript implementation: plugins as JavaScript plugins, shim layers
on the Tizen Web Runtime API.

Is there a kind of Cordova 3 plugin JavaScript framework that provides
support?

In doing this I wonder if I really need to provide a plugin and plugin
result object?

Then, if I do not need to provide such object I wonder where the shim layer
is going to take place in the www part of the plug in or in the src part of
the plugin  (I know we can use the config.xml file to set this)


Cordially,

Paul
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Paul Plaquette,
Senior Software Engineer
Intel Corporation SAS *
*
*SSG/OTC: Open Source Technology Center*
France, Montpellier
---------------------------------------------------------------------
This transmission (including any attachments) may contain confidential information, privileged material (including material protected by the solicitor-client or other applicable privileges), or constitute non-public information. Any use of this information by anyone other than the intended recipient is prohibited. If you have received this transmission in error, please immediately reply to the sender and delete this information from your system. Use, dissemination, distribution, or reproduction of this transmission by unintended recipients is not authorized and may be unlawful.