libgdx.github.io icon indicating copy to clipboard operation
libgdx.github.io copied to clipboard

GWT Alternatives for HTML5 Target

Open varunsingh87 opened this issue 11 months ago • 3 comments

The LibGDX documentation should include information on teavm and bytecoder because Google no longer actively maintains GWT.

varunsingh87 avatar Mar 14 '24 21:03 varunsingh87

TeaVM would be cool but I'm not sure it's ready for showtime yet. Most is listed as work-in-progress at https://github.com/xpenatan/gdx-teavm. I haven't tried it myself because there's some degree of barrier to entry.

GWT is alive and well, with 2.11 released in January. It's only really due to the fact it's still JavaScript and not WebAssembly that I long for something else.

Frosty-J avatar Mar 14 '24 22:03 Frosty-J

Google no longer maintains TeaVM or ByteCoder, either. Nor did it ever. All three are run by their respective communities now, as open source projects. To my knowledge no game has been completed using ByteCoder with libGDX, so I wouldn't mention it at this point -- I know there were attempts made a year or two ago, but I don't think they were finished for whatever reason.

TeaVM updates fairly frequently and breaks in various (usually minor) ways fairly often, though the frequent updates help repair those breaks in time. Even though GWT has fewer features, I would say it is much more stable. A more significant issue with TeaVM, which might just be my misunderstanding of how it works (and I haven't found anything in the docs for this), is that there isn't an equivalent to GWT's super-source in libraries. That's the feature that allows GWT to compile different sources for the web than the sources other platforms use, and I personally use it heavily. For TeaVM to have an equivalent, it would somehow need different bytecode provided for it to use, which might require a dependency on TeaVM for the library in question, which would be bad. That would make TeaVM support for libraries much more challenging that GWT support for those same libraries, since TeaVM would need some type of separate, optional dependency just for the "super-sourced" code, if it used any TeaVM APIs. Personally, I can and will stick with GWT because I don't use Kotlin, Scala, or other alternative JVM languages in very many places.

tommyettinger avatar May 04 '24 04:05 tommyettinger

I think mentioning them (and their limitations) doesn't really hurt. If anyone has suggestions where we could put a short description of those projects and a link, now is the time to speak up!

crykn avatar Jul 29 '24 20:07 crykn