incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shazron <shaz...@gmail.com>
Subject Re: Changing iOS's exec bridge
Date Mon, 30 Jul 2012 18:45:44 GMT
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

Mime
View raw message