B4J development tool is similar to Basic4android. The language and IDE are mostly identical.
The APIs (methods, keywords and libraries) are identical in some cases and different in other cases.
I converted existing frameworks such as DBUtils, HttpUtils2, DateUtils, RDC, ImageDownloader and others from B4A to B4J. It was simpler than I expected it to be. In some cases no changes were required at all.
Modules
There are two types of modules in B4J. Code modules and classes. Classes are identical to B4A classes.
Code modules are similar to B4A modules however they are more powerful as they can handle events.
A code module can be considered as a class with exactly one instance (such instances are sometimes called singletons or static classes). Activities and Services are not required in B4J. You should instead use code modules. Note that when you add an existing B4A activity or service to B4J project it will be converted to a code module.
CallSub is mostly not required in B4J as you can directly call methods of other classes or code modules.
Generally speaking it is simpler to develop with B4J as you do not need to deal with the activities (and services) life cycle. This also means that there is no such concept as "activity object".
UI
The main difference is in the UI. B4J is based on JavaFX UI and Basic4android is based on the native Android UI.
It is worth going over Oracle Scene Builder tutorials to better understand the UI. Once you understand how the UI integrates with B4J code then the other concepts such as the "event name" concept are the same.
Colors - In Basic4android colors are represented as Ints (2 bytes for Alpha, R, G, and B). In B4J colors are represented as Paints.
You can use fx.Colors.From32bit to convert an Int value to a Paint.
This tutorial will be expanded in the future...
The APIs (methods, keywords and libraries) are identical in some cases and different in other cases.
I converted existing frameworks such as DBUtils, HttpUtils2, DateUtils, RDC, ImageDownloader and others from B4A to B4J. It was simpler than I expected it to be. In some cases no changes were required at all.
Modules
There are two types of modules in B4J. Code modules and classes. Classes are identical to B4A classes.
Code modules are similar to B4A modules however they are more powerful as they can handle events.
A code module can be considered as a class with exactly one instance (such instances are sometimes called singletons or static classes). Activities and Services are not required in B4J. You should instead use code modules. Note that when you add an existing B4A activity or service to B4J project it will be converted to a code module.
CallSub is mostly not required in B4J as you can directly call methods of other classes or code modules.
Generally speaking it is simpler to develop with B4J as you do not need to deal with the activities (and services) life cycle. This also means that there is no such concept as "activity object".
UI
The main difference is in the UI. B4J is based on JavaFX UI and Basic4android is based on the native Android UI.
It is worth going over Oracle Scene Builder tutorials to better understand the UI. Once you understand how the UI integrates with B4J code then the other concepts such as the "event name" concept are the same.
Colors - In Basic4android colors are represented as Ints (2 bytes for Alpha, R, G, and B). In B4J colors are represented as Paints.
You can use fx.Colors.From32bit to convert an Int value to a Paint.
This tutorial will be expanded in the future...