Hi! I'm Limitless and I'm working on a custom client that I eventually intend to release here. However, there are some design decisions to be made, which is why I'm making this post.
My goals for my client will be mainly to update the codebase to at least java 11, and also to make it work on apple silicon.
By "update the codebase" I mean add modules, this should hopefully increase readability and increase speed on future work. Also I want to migrate to maven as a build tool, which should make adding/removing dependancies much easier.
And by "make it work on apple silicon" I mean your M1 Macs, etc. Basically both of these things are "under the hood" changes that most people won't notice, but every client has to start somewhere, right?
The first design decision is what to do with JOGL. JOGL hasn't had a stable update since 2015, and ALL the clients currently depend on it. JOGL also doesn't support M1 Macs, which is what's causing that problem. One solution would be to use JOGL 2.4, which is pre-release and could be unstable, while the other option is to move to a different library like LWJGL.
JOGL 2.4 could be unstable, but I haven't tested it personally. Migrating to LWJGL would be a lot of work, but might not even work properly. LWJGL is actively maintained at the moment though, so there is a good level of support for the foreseeable future.
TL;DR: JOGL or LWJGL? I'd have to figure out a solution either way