Yeah, agree that putting the work-around in WP7's exec would be the best thing here and that long param lists are annoying. :P
On Mon, Jul 30, 2012 at 3:12 PM, Jesse <[email protected]> wrote: > 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> > > 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> > > 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 < > [email protected]> > > 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 <[email protected]> > 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 < > > [email protected]> > > >>>>>>> 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 >
