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 google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.