B4J Question Why still OpenJDK 11?

Markus Winter

Member
Licensed User
Why is B4J still using OpenJDK 11 instead of OpenJDK 18?

I'm especially wondering in regard to security patches.
 

Markus Winter

Member
Licensed User
You can also use OpenJDK 14. I think that here we use LTS.
Thanks, but as far as I can tell 14 was deprecated in Sep 2020 and has no longer received security updates since then.
Better than using OpenJDK 11, but not what I would consider good.

The current LTS version is 17 (released September 2021 and supported till September 2029 for Azul).

But please don't think I'm an expert on Java - I have no clue about it, I just looked up the info online.
 
Upvote 0

Markus Winter

Member
Licensed User
Ok, I think I know why 11: it is an LTS and ssupported till September 2026 for Azul (so is getting security patches).

14 however is NOT an LTS, so should not be used for security reasons.

P.S. GRRR … "This message is awaiting moderator approval, and is invisible to normal visitors." is getting on my nerves … :mad:
 
Upvote 0

Markus Winter

Member
Licensed User
Yes LTS is important especially for applications that are used by large organisations. It’s more important to get continued support than be on the latest and greatest version.
Which doesn't explain why not use the current LTS which is version 17 - that's the info I'm still after.
 
Upvote 0

Markus Winter

Member
Licensed User
Browsing through the forum 14 also seems somewhat problematic (eg with Google Maps - no idea if that had been fixed) and people recommend against using it.

So let me rephrase the question: what does 17 have that might make B4 want to move to it, or is there no practical difference to 11?

After all, if I understand it correctly, B4 is a wrapper for JDK that uses the BASIC syntax and therefore a subset of the capabilities (note to self: check whether you can include Java code). Would any of those capabilities be affected by the move to 17?
 
Upvote 0

tchart

Well-Known Member
Licensed User
Longtime User
Java 17 is still pretty new. It was released in September 2021. So it’s only 6 months old.

There is still a lot of Java 8 kicking around so even Java 11 is foreign to some users.

The other thing to realise is that Java is a pretty mature technology. Most innovation comes from libraries etc and not the core framework.

For example have a read of these new features in Java 17;

The list is pretty uninspiring. So the reasons to upgrade don’t really stack up for most developers unless there is a clear reason to (support, vulnerabilities etc).
 
Upvote 0

udg

Expert
Licensed User
Longtime User
B4X is a full language on its own.
Although it shares syntax with some Basic dialects, as I like to say, the initial B stands for Best not "basic".
So B4X = best for all 🙂
 
Upvote 0

ThorstenStueker

Member
Licensed User
Since Java 11 as long term release is out B4J relies on it and on the JavaFX Release fitting exactly to it. Java 17 has MANY changes which are - at the moment - not running perfectly with B4J. I tried with a few projects and some are working and some not. That relies on the JaaFX Build you use and on the fact that Java has a few changes also.
While JavaFX is not bundled with the JDK starting from Java 11 (for example with Java 8 JavaFX was bundled with the JDK) it is a bit more complex. To have a real all time working combination Erel provides the JDK and JFX package approved for working with B4x. A change to the Java 17 JDK will come up. But it is still young and that need time.
On the other side: java 11 is usable and has really nearly no Bugs. it will be hard to even find one. That makes the resulting Software written in B4x really extremely reliable. While B4x has the ability to package for Windows, MacOS and Linux I can't see why there is today the need to get Java17 to work. Only while it is new is to really an Argument. Java 11 runs like a charm.
 
Upvote 0
Top