B4J Question The future of B4J

sseaand

Member
Licensed User
Longtime User
What are the prospects for the development of B4J? There are no plans to release a new version?
 

jahswant

Well-Known Member
Licensed User
Longtime User
LOOK At this thread

A new version is close.

At least a new version with JAVA 19 for INTERNAL PACKAGER is coming soon.
 
Upvote 0

sseaand

Member
Licensed User
Longtime User
LOOK At this thread

A new version is close.

At least a new version with JAVA 19 for INTERNAL PACKAGER is coming soon.
Does it greatly expand the possibilities? Performance? I would like to know more specifically... For example, I have an old laptop (a hobby to restore old things :) ) when I run a form with a b4j button, I see how the form appears, and then with a delay a small button appears .... In another old programming environment related to delphi, the same form starts instantly and the button is already :((
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
B4J core performance is very good.
Two examples: https://www.b4x.com/android/forum/threads/b4j-primes-benchmark.132951/

JavaFX, the UI framework, has good performance on modern computers. Check X2 games: https://www.b4x.com/android/forum/threads/xui2d-x2-v2-0-2021.131279/#content

I guess that your old laptop doesn't have a supported hardware accelerated display driver. No update of B4J can improve this.

Does it greatly expand the possibilities?
This question cannot be answered. You need to tell us which possibilities you are currently missing.
 
Upvote 0

sseaand

Member
Licensed User
Longtime User
guess that your old laptop doesn't have a supported hardware accelerated display driver
GMA X3100
delphi compiler, fpc, C#, the button on the form is rendered when a window appears in windows 8.1 in B4J the button appears with a delay... So there were thoughts about productivity ...
 
Upvote 0

aeric

Expert
Licensed User
Longtime User
Not sure is it because Windows is always standby to run C# app natively. While for java app, it needs to start up JVM. I think same if try to run a Python app, which need to use PVM. How about run the app in other OS like macOS, Linux, raspberry Pi OS?
 
Upvote 0

sseaand

Member
Licensed User
Longtime User
I think same if try to run a Python app, which need to use PVM. How about run the app in other OS like macOS, Linux, raspberry Pi OS?
I tried it only in Windows, but by the way I have to try it on Phyton I became curious.
 
Upvote 0

sseaand

Member
Licensed User
Longtime User
There is no relation between the thread title and the first post and the compatibility with your old laptop. As I wrote, a new version of B4J will not affect the performance of JavaFX on your old laptop. And overall the performance of B4J is very good.
I wanted to ask in general about the prospects for the development of the environment, the question of productivity stuck to :) B4X is the best I've seen in terms of simplicity and accessibility, and code reuse between B4A and B4J is great. Everything is compact without bulky IDEs with their tons of libraries :)
 
Upvote 0

techknight

Well-Known Member
Licensed User
Longtime User
Yeah, you cant expect modern frameworks to perform well on ancient hardware, its just not feasible. C, Delphi, etc are older and more performance optimized languages that work better on older machines to a degree.... Especially C++ and C.

Try running Windows 10 on spinning rust in a Core 2 Duo or Pentium 4 system and watch the pain unfold.

Java is a very heavy runtime and was always known to have severe performance penalties in the early days on now-ancient hardware when that hardware was current, Nowadays its fine because hardware has caught up in performance to run the slow bloat of Java itself.

Anyways, none of that has any correlation to B4X, and as Erel said, B4X changes wont affect anything. That is all Java.

As languages become more abstracted away from their hardware and dependencies on runtimes and libraries increases, performance penalty will increase with it due to the amount of excess code that has to be run to do translation back down to the hardware level, plus the memory management/garbage collector code, etc. etc. VB6 was pokey on older hardware too for this reason while native C was super fast.

The more layers there are on top, the longer it takes you to get back down to the bottom... The solution? dig down faster! (thats how i see computing anymore)
 
Upvote 0

Winni

Member
Licensed User
Longtime User
C, Delphi, etc are older and more performance optimized languages that work better on older machines to a degree.... Especially C++ and C.

Delphi and Free Pascal applications are in the same league as C. Their compilers (which are much faster than any C++ compiler on the marker) create pure native code. They also don't use GUI frameworks that feel alien on any platform. Especially Free Pascal/Lazarus only uses native widgets on all supported platforms which does not only make applications look and feel "right", but also significantly improves their performance.
 
Upvote 0

jmon

Well-Known Member
Licensed User
Longtime User
LOOK At this thread

A new version is close.

At least a new version with JAVA 19 for INTERNAL PACKAGER is coming soon.
FYI I can already use java 19 with the current internal packager. I had to upgrade to javafx 19 to for the new WebView which supports all the new css effects on WordPress websites.
 
Upvote 0

jahswant

Well-Known Member
Licensed User
Longtime User
FYI I can already use java 19 with the current internal packager. I had to upgrade to javafx 19 to for the new WebView which supports all the new css effects on WordPress websites.
Could you point me to the right resource ?
 
Upvote 0

jmon

Well-Known Member
Licensed User
Longtime User
Could you point me to the right resource ?
I downloaded the OpenJFX Build (Windows Zip) here:

ThenI changed the path in B4J and it worked just like that actually :)

I'm Using MySql, Hikari, JNA, JPoi, Google maps... etc.. all worked without doing any modification to my code. I've switched about 2 months ago
 
Upvote 0
Top