On Thu, Aug 21, 2014 at 5:29 AM, Cristian Rinaldi <[email protected]>
wrote:

> Thanks +Goktug Gokdogan for response.
>
> APT is very good option and java 8 support for GWT 3.0 would be a amazing
> thing.
> You have a planning for Elemental 2.0 or initial documentation to share,
> to how you plan address the desing?
>
>
Nothing planned yet other than the plan to work on it :) My anticipation
is. initially we will auto generate JsTyped DOM, deal with problems and
incrementally improve it.


> El miércoles, 20 de agosto de 2014 16:38:31 UTC-3, Goktug Gokdogan
> escribió:
>
>>
>>
>>
>> On Wed, Aug 20, 2014 at 6:17 AM, Cristian Rinaldi <[email protected]>
>> wrote:
>>
>>> Community:
>>>      I'm playing with JsInterop , and I have two questions:
>>>
>>>      1) Are you planning to try the static methods of JS objects, such
>>> as Object, Promise, etc.?
>>>
>>
>>
>> There will be some static helpers provided from the SDK. I originally
>> started the JSNI 2.0 document but it is basically waiting for me to start
>> on Elemental 2.0 and accumulate more experience to turn it into something
>> more concrete.
>>
>>
>>
>>>      2) How do when an instance is mapped to an existing Object, eg
>>> Promise, has a constructor with parameters?
>>>
>>>
>>
>> Actually I have new ideas on this derived from how some other APTs work.
>>
>> I need to update the JsInterop doc but these are the options that I'm
>> thinking right now:
>>
>> *Option 1 (works better for extending):*
>>
>> @JsType(prototype = "Promise")public interface Promise {
>>   /* Protoype_Promise is an autogenerated package visible class */
>>   public static class Prototype extends Protoype_Promise {
>>     public Prototype(Function... functions) {
>>        super(functions);
>>     }
>>   }
>>
>>   void then(Function f);
>>
>>   void cath(Function f);
>> }
>>
>> ​
>>
>> *Option 2 (works better for general use):*
>>
>> @JsType(prototype = "Promise")public interface Promise {
>>   /* Protoype_Promise is an autogenerated package visible class */
>>   public static Promise create(Function... functions) {
>>      return new Protoype_Promise(functions);
>>   }
>>
>>   void then(Function f);
>>
>>   void cath(Function f);
>> }
>>
>> ​
>>
>> *Of course one can do both:*
>>
>> @JsType(prototype = "Promise")public interface Promise {
>>
>>   public static class Prototype extends Protoype_Promise {
>>     public Prototype(Function... functions) {
>>        super(functions);
>>     }
>>   }
>>
>>   public static Promise create(Function... functions) {
>>      return new Prototype(functions);
>>   }
>>
>>   void then(Function f);
>>
>>   void cath(Function f);
>> }
>>
>> ​
>>
>>
>>>     Currently to resolve this 1) I created the following class Factory:
>>> JS
>>> <https://github.com/workingflows/gwt-jscore/blob/master/src/main/java/com/workingflows/js/jscore/client/factory/JS.java>
>>>
>>>     But the interfaces define a contract at the level instance of a
>>> class or object, this way of doing things, I do not know if it is
>>> semantically correct.
>>>
>>>    To solve 2) there are not many options:
>>>
>>>      Create a Factory that returns an instance of the object, because it
>>> has no meaning, only to make the new, implement the interface, because the
>>> compiler already does.
>>>      There is some progress in this?
>>>
>>>      I saw in one of the post a proposal to do something like this:
>>>
>>>      Promise Promise.Prototype p = new (new Function ....., new Function
>>>  ....);
>>>
>>>     Where Promise, is the interface defined with prototype = "Promise".
>>>
>>>     @JsType(isNative = true, prototype = "Promise")
>>>     public interface Promise {
>>>
>>>       void then(Function f);
>>>
>>>       void cath(Function f);
>>>   }
>>>
>>>     Here 'access to jsCore project:
>>>
>>>     https://github.com/workingflows/gwt-jscore/
>>> <https://github.com/workingflows/gwt-jscore/>
>>>
>>>
>> Great work. This kind of stuff is also very valuable as a feedback.
>>
>>
>>> I hope the answers ...
>>>
>>> greetings
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "GWT Contributors" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected]
>>> .
>>> To view this discussion on the web visit https://groups.google.com/d/
>>> msgid/google-web-toolkit-contributors/3268ccc7-9953-
>>> 49c9-9079-574096f0d5d3%40googlegroups.com
>>> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/3268ccc7-9953-49c9-9079-574096f0d5d3%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  --
> You received this message because you are subscribed to the Google Groups
> "GWT Contributors" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
>  To view this discussion on the web visit
> https://groups.google.com/d/msgid/google-web-toolkit-contributors/44fbf2d1-d791-4e7b-8078-5e804c3da99e%40googlegroups.com
> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/44fbf2d1-d791-4e7b-8078-5e804c3da99e%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Contributors" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAN%3DyUA24BTLYVB3KyiuV4dLu-ZUT-y%2By-_C128p1Zi_3e%2BnvMA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to