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 Sat, 28 Jul 2012 01:11:25 GMT
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