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.
