Well if you want to switch to J2CL in the future and you want to be absolutely sure that you actually can switch then you should not use any GWT library/framework and GWT SDK features that can not guarantee to work with J2CL.
GXT/Vaadin: You should ask them about their plans regarding J2CL since Widget/Elements do not work with J2CL out of the box. Maybe they will provide very long GWT 2.x (paid) support so you can just use GWT 2.x for the next 10 years. UiBinder: Would need a rewrite to use APT. I guess no one has looked into it yet. One main issue is that APT won't get triggered when updating resources (*.ui.xml) Singular: isn't released yet and no one knows when it will be released. Also it might cost you time/work if early versions are missing features GQuery: Based on Element but can probably release a JsInterop/Elemental 2.0 based version easily which would make it J2CL compatible. Not sure if it uses GWT.create() though. Elemento: Uses HTML as templates, Elemental 1 and is based on APT. So generally compatible with J2CL once it upgrades to Elemental 2. It also has the same issue as UiBinder so you would need to rerun its maven plugin when you change template files since APT won't be triggered automatically. Angular: Should just work when consumed using JsInterop as shown in the slides since you are effectively writing an Angular application using Java through GWT/J2CL. So the absolute safest solution is to use JsInterop + any JavaScript framework. If that framework uses HTML templates then you still have that UiBinder feeling. You are not required to use Angular, but its a nice fit. The next best solution is probably GQuery and/or Elemento but you should expect some refactor work. -- J. -- 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/d92e7eec-fe04-48fa-ba9a-bcf4c5ed5620%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
