cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bryan Higgins <br...@bryanhiggins.net>
Subject Re: About Cordova 3, plugins, and tools
Date Tue, 17 Sep 2013 17:38:18 GMT
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 <purplecabbage@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 <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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message