Thursday, May 26, 2016

Re: JsInterop receipts for simple JSNI code ?

JsInterop will provide some base classes for stuff that are not possible with JsInterop annotations.

On Wed, May 25, 2016 at 1:30 PM, Paul Stockley <pstockley1@gmail.com> wrote:
Eval is really slow. I would use JSNI. Eventually I think J2CL will have a way to execute javascript. Just isolate the JSNI in a helper class so it can easily be replaced.


On Wednesday, May 25, 2016 at 3:35:07 PM UTC-4, Hristo Stoyanov wrote:
Actually, it might be possible to do it with JsInterop only:

class Globals {

        @JsMethod(namespace=GLOBAL)
        public native Object eval(String expresion);
        
        @JsOverlay
        public native boolean isVariableDefined(String varName){
             return Boolean.TRUE.equals(eval("!!window['"+varName+"']"));
        }

}

I guess, you can also use JSON.safeEval() ... but we dont know if will survive  in J2CL.


On Wednesday, May 25, 2016 at 12:21:26 PM UTC-7, Hristo Stoyanov wrote:
Jens,
Thanks, so apparently JsInterop cannot be a complete replacement of JSNI?

I was hoping to be able to wrap in @JsType(native = true) something like Object.keys(window)

On Tuesday, May 24, 2016 at 5:11:39 PM UTC-7, Jens wrote:
You still need to use JSNI for accessing these properties. Depending on the API you want to build you could define @JsOverlay methods inside @JsType(native = true) classes and let them delegate to a JSNI based utility class.

-- J.

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment