incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shazron Abdullah <shaz...@gmail.com>
Subject Re: Changing iOS's exec bridge
Date Sat, 28 Jul 2012 01:05:48 GMT
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

Mime
View raw message