El viernes, 29 de noviembre de 2013 00:51:25 UTC-3, Stephen Haberman escribió: > > > > implemented as a Java 8 compiler plugin (extension point) > > Interesting! I had not heard of these before: >
It's curious, I googled about Java 8 compiler plugins when RayC said that you talked about a new code-gen feature in Java 8 > It looks like these compiler plugins use "com.sun" packages, and are > not a JSR, which AFAIK means no Eclipse IDE nor ecj support? What does > that mean for your GWT-free deferred binding proposal? > Yes, compiler plugins are an experimental feature, just like annotation processing tool was in Java 5. I hope it will be formalized in future Java versions. My plan is, as a first step, to externalize the Rebind annotation and the Rebinding.create() method/class (a GWT-free replacement for GWT.create()). These could be in an external package, like rebinding (javax.rebinding would be an ideal :-P). Think about this API as a kind of JSR330, a minimalistic API describing only what should be done, but nothing about how to do it. Java 8 would implement it as a compiler plugin, GWT as a compiler improvement (we already have it, just look at my github profile :-P). In a second step, we could externalize the generator API, may be in a rebinding.generator package (again, an ideal would be javax.rebinding.generator). GWT-free generators should use javax.lang.model.type.*<http://docs.oracle.com/javase/7/docs/api/javax/lang/model/type/package-summary.html> instead of com.google.gwt.core.ext.typeinfo.*<http://www.gwtproject.org/javadoc/latest/com/google/gwt/core/ext/typeinfo/package-summary.html> . In Java 8, these could be implemented as compiler plugins. In GWT, these new generators would be a kind of wrappers for old generators. In a third step, we could externalize the deferred binding configuration (i.e. *.gwt.xml files). Annotations and/or guice like modules are interesting options. > That aside, I think a GWT-free deferred binding API would be pretty > sexy. If one were starting GWT from scratch, I'd naively assert/agree > that the problems of "build-time codegen" and "transpiling .java to .js" > are orthogonal, and so should be tackled separately. Which would > ideally make both implementations smaller/simpler/better. > Yes, in and ideal world, I would like to have these compilation steps: JavaCode => JavaToJRibbleCompiler (Java 8 compiler plugin) => JRibbleCode JRibbleCode => JRibbleToJavaScriptCompiler => JavaScriptCode As we live in a dirty corrupted world, we must replicate implementations. For JRE/Android, we could implement it as Java 8 plugin/JDT extension (if it exists)/whatever. In GWT, as a compiler enhancement (It already exists!). Anyway, it's really exciting to see your contributions, Andres, your > write up was very good. You are welcome, thanks for your feedback! - Andrés Testi -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- 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]. For more options, visit https://groups.google.com/groups/opt_out.
