If you write Java that is safe for GWT, use annotation processors to generate code as needed, and use jsinterop over JSNI, your codebase will be largely or totally compatible with either GWT or J2CL. Most of gwt-user (except i18n and widgets) have been rewritten already to work with no JSNI and are tested in j2cl. J2CL is maintained by Google, but can be difficult to get started with, especially for existing applications. For new projects there are simple maven archetypes that out of the box will give you smaller and faster applications (on the order or 5-10% each). However, at this time J2CL can only compile new Java syntax if used from Bazel (the maven plugin cannot support this yet), and last I checked J2CL has no support for Java >11 language features (though they are planning on bringing that soon to Java 21, see https://github.com/google/j2cl/discussions/258).
J2CL can also compile Java to wasm. At this time, this only works in Bazel, not maven.
For these reasons, J2CL isn't for everyone at this time, but I can't advocate for deliberately making it hard to move to it in the future.
***
I18n proved to be somewhat difficult, and the existing Widget types depend pretty heavily on i18n. On the other hand, new projects are typically not using Widgets - they were made for a different time in browser history, when dom memory leaks were a going concern and dom implementations were horribly inconsistent. The API is fairly restrictive in an attempt to make it impossible to reintroduce leaks by mistake. New component UI toolkits (Elemento, DnComponents, DominoUI to pick three examples) instead just directly use dom elements, making them easier to configure, extend, embed.
On Tuesday, December 10, 2024 at 10:20:27 AM UTC-6 ne...@propfinancing.com wrote:
>Unfortunately, I only get 502 proxy errors from that site, as well as the smartclient.com homepage.
They seem to have fixed it. The page is loading fine now.
> While I don't believe that an exodus to J2CL is imminent, there are at least a few teams that have migrated their GWT projects to use J2CL instead of the GWT compiler.
Now I am confused. Reading on the Internet, it seems J2CL is meant to replace GWT, but
all the discussions I can find are years old. Given that I am starting a new addition to
my existing code which uses Maven, should I be learning J2CL or GWT?
If it helps, to answer the question, my goal is to write an interactive web-based
version of my current printable puzzles so a user may solve them online.
--
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 view this discussion visit
https://groups.google.com/d/msgid/google-web-toolkit/15596144-c576-487c-a27f-78ef3e42a1fbn%40googlegroups.com.
No comments:
Post a Comment