@incendio Hi! You have allready answered your own question, since the core concept of B4X is to be a RAD (Rapid Application Development Tool).
As you probably have figured out allready B4J is a wrapper for Java using VB-like syntax, which obviously has some benefits that goes with the B4X frenchise.
This comes with major advantages, but these can also be a drawback when it comes to coorporate teams who use native Java, and this is when porting issues
comes into play since it's not possible to load up a B4J project in Java to correspond with the native Java team's work, so then they have to depend on the
creation of Libraries for B4X and in this case, to be B4J specific. There's conversion tools for this so once you've got used to the concept then porting shouldn't be an issue. The dilemma will be to convince the team to use B4J instead of native Java, which can be a challenge itself.
So to come to a conclusion it will be a question about porting capabillities for the way a team plans out a project, and depending on the type
of project. I could simply sum it up another way: established companies usually depend on native Java while experienced B4X explorers breaks new ground,
which means it's just a matter of time before B4J becomes the new standard even in the business world, so there you have it. New concepts challenge old habits
Let's put it another way: To create cross platform apps using VB syntax is simply awesome.
If you just get used to the custom tools you've got some huge advantage when it comes to dev speed and simplicity compared to an old, tedious and sometimes awkward workflow. B4X is superior because of that you can use one familiar language to develope anything and that's my cup of tea. How about you?