incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jesse <purplecabb...@gmail.com>
Subject Re: Changing iOS's exec bridge
Date Mon, 30 Jul 2012 19:12:35 GMT
Size becomes the issue.  The JSON lib is bigger than the Cordova framework
itself. In my mind the workaround is relatively simple, just other platform
APIs definers must be aware of it.

Discussion of adding the lib [1]
Discussion of the issue on WP7 [2]
JSON.net lib [3]

[1] https://issues.apache.org/jira/browse/CB-938
[2] https://issues.apache.org/jira/browse/CB-668
[3] http://json.codeplex.com/


On Mon, Jul 30, 2012 at 11:45 AM, Shazron <shazron@gmail.com> wrote:

> What about including a better JSON lib than the included one? Will
> that be a problem?
>
> On Fri, Jul 27, 2012 at 6:11 PM, Jesse <purplecabbage@gmail.com> wrote:
> > Windows 8, WP8 at least
> > .net only supports basic JSON serialization without the inclusion of
> > the 300KB JSON.net lib.
> >
> >
> >
> > On Fri, Jul 27, 2012 at 6:05 PM, Shazron Abdullah <shazron@gmail.com>
> wrote:
> >> Thanks Jesse - seems like a doc issue we need to write for cross
> >> platform plugins. Would you know if this is a concern for other
> >> platforms as well besides WP7?
> >>
> >> On 2012-07-27, at 6:00 PM, Jesse <purplecabbage@gmail.com> wrote:
> >>
> >>> Okay, that all looks/sounds fine.
> >>> However, we have to be careful not to encourage passing multiple
> >>> objects in the array, in addition to multiple different object types.
> >>> We should continue to strive to make sure that everything outside of
> >>> exec is portable, so even though in iOS, exec can receive args of
> >>> [{name:value}, {name:value}] the JS calling code will NOT be portable.
> >>>
> >>> I worry (just a little) we are opening a door we may have to close
> later.
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> On Fri, Jul 27, 2012 at 5:37 PM, Shazron <shazron@gmail.com> wrote:
> >>>> These changes transfer the decision that was done in JS to the
> Objective-C side.
> >>>> The arguments are passed in as-is, if an object is passed in as an
> >>>> array element, it is converted to a NSDictionary in objective-C. So
if
> >>>> you use the new plugin signature, you can pass in as many objects as
> >>>> you want to the plugin method, they will be in order in the arguments
> >>>> array as NSDictionary-s.
> >>>>
> >>>> The "extraction" occurs when we compare the plugin method signature
-
> >>>> if its a legacy signature, we extract the first NSDictionary from the
> >>>> arguments, like we did in JS. If its not a legacy signature, we pass
> >>>> the arguments unchanged.
> >>>>
> >>>> re:
> https://github.com/agrieve/incubator-cordova-ios/compare/legacy_exec#L3R63
> >>>>
> >>>>
> >>>> On Fri, Jul 27, 2012 at 5:26 PM, Jesse <purplecabbage@gmail.com>
> wrote:
> >>>>> Wait!
> >>>>>
> >>>>> Can we discuss the EXACT nature of the command array?
> >>>>> I have had to work through a similar issue on WP7, it would be
> >>>>> extremely valuable if we could agree on what the args to exec looks
> >>>>> like.
> >>>>>
> >>>>> It looks like your changes are all inside and beyond exec, but I
want
> >>>>> to make sure.
> >>>>>
> >>>>> In the past we discussed removing the array altogether and passing
> >>>>> named objects as args.
> >>>>> On WP7 it is extremely difficult to interpret arrays that do not
> >>>>> contain the same types of object.
> >>>>> For example, if the command has args of
> ['what',23,{obj:literal},[1,2,3]]
> >>>>>
> >>>>> Do we still have a limitation of only passing 1 object literal?
> >>>>>
> >>>>>
> >>>>>
> >>>>> On Fri, Jul 27, 2012 at 5:08 PM, Andrew Grieve <agrieve@chromium.org>
> wrote:
> >>>>>> Committed.
> >>>>>> Sounds good! You update the dev guide, and I'll work to update
the
> existing
> >>>>>> core plugins.
> >>>>>>
> >>>>>>
> >>>>>> On Fri, Jul 27, 2012 at 6:22 PM, Shazron <shazron@gmail.com>
wrote:
> >>>>>>
> >>>>>>> Thanks Andrew, this looks good!
> >>>>>>>
> >>>>>>> Once you merge it in, I'll add the doc issues, especially
the
> Plugin
> >>>>>>> Dev Guide, we don't want people to start using the old way.
I was
> >>>>>>> thinking, a deprecation NSLog would be great if they are
using the
> old
> >>>>>>> way, but that will just be too much noise at this point...
> >>>>>>>
> >>>>>>> On Fri, Jul 27, 2012 at 2:06 PM, Andrew Grieve <
> agrieve@chromium.org>
> >>>>>>> wrote:
> >>>>>>>> Shaz,
> >>>>>>>>
> >>>>>>>> I mentioned doing such a change during PGD, but was
hoping you
> could
> >>>>>>> give it
> >>>>>>>> a sanity check over:
> >>>>>>>>
> >>>>>>>> https://issues.apache.org/jira/browse/CB-1150
> >>>>>>>>
> https://github.com/agrieve/incubator-cordova-ios/compare/legacy_exec
> >>>>>>>> https://github.com/agrieve/incubator-cordova-js/tree/better_exec
> >>>>>>>>
> >>>>>>>> I ensured mobile-spec and unit tests pass, so should
be good to
> go I
> >>>>>>> think.
> >>>>>>>>
> >>>>>>>> Andrew
> >>>>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> --
> >>>>> @purplecabbage
> >>>>> risingj.com
> >>>
> >>>
> >>>
> >>> --
> >>> @purplecabbage
> >>> risingj.com
> >
> >
> >
> > --
> > @purplecabbage
> > risingj.com
>



-- 
@purplecabbage
risingj.com

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message