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 <[email protected]> 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 > <[email protected]>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 <[email protected]> >> 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 [[email protected]] >>> 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. >>
