cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From purplecabbage <purplecabb...@gmail.com>
Subject Re: About Cordova 3, plugins, and tools
Date Tue, 17 Sep 2013 16:51:53 GMT
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 <agrieve@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 <kwallis@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.
>> 

Mime
View raw message