B4x ecosystem

As said, so done, new thread created :slight_smile:

I am considering using b4j to create desktop apps for all platforms. I have downloaded it and tested the designer, it seems to be very capable.

As discussed in the Other IDE thread, I like to use certain design patterns when I develop software, I come from a C# Winforms and Delphi background.

As said in the aother thread, how do people view java desktop apps these days? I remember them as something people dismissed as bad in the ‘elder’ days…

Mabee we can discuss more of b4x here in this thread :slight_smile:

1 Like

I’m more into Web UI these days (I’m the dev of ABMaterial & BANano on the B4J forum) so I can’t really comment on the pure java UIs. I know it has improved greatly over the last decade but I guess it all depends on what your users want.

As discussed in other topics here, I’m a fan of the ‘same’ look on each platform, rather than the ‘native’ look. But this is because we rather write apps that are used by bigger companies. We (and they) find it easier for giving support. For off-the-shelf apps, ‘native’ is probably more wanted from what I read here on the forum. And many others just don’t care as long as it does the job.

We do prefer a stable programming environment. Xojo’s bugs have stopped us in development in the past way to many times. Bugs in B4X (if any, really!) are fixed often within hours so we never experienced any slowdown or showstopper. Being build on giants like Java allows Erel to really be on top of the ever-changing programming world. Something Xojo’s small team is unfortunately never going to be able to do because they have to spend to much time on core stuff (like 64-bit, now Apple ARM, etc…).

The B4X community is also a lot bigger and that results in many more ‘library/plugin’ devs. Most are free and even open source. I for example will also open source ABMaterial in the near future.

Blockquote
I’m more into Web UI these days (I’m the dev of ABMaterial & BANano on the B4J forum) so I can’t really comment on the pure java UIs. I know it has improved greatly over the last decade but I guess it all depends on what your users want.

Yes, I have seen your creations, and also tried ABMaterial a couple of years back when I evaluated B4J for a web project. Great workt on that :ok_hand:

Blockquote
As discussed in other topics here, I’m a fan of the ‘same’ look on each platform, rather than the ‘native’ look. But this is because we rather write apps that are used by bigger companies. We (and they) find it easier for giving support. For off-the-shelf apps, ‘native’ is probably more wanted from what I read here on the forum. And many others just don’t care as long as it does the job.

I’m in that camp also, which is why I went with Xojo in the first place. I want to design GUI in one place, and use that on all platforms.

Blockquote
We do prefer a stable programming environment

That is extremly important. I’m a ‘one man band’, and I dont have time and resources to deal with bad Ide’s and buggy frameworks.

Blockquote
The B4X community is also a lot bigger and that results in many more ‘library/plugin’ devs. Most are free and even open source. I for example will also open source ABMaterial in the near future

Yes, and the community is extremly active it seems. Thats always a good sign.

My worries is mainly starting a project, and then down the road realize that the ecosystem I’m chosing
is not up for the task, as is my main worry about Xojo, hence this thread…

I see B4J uses JavaFX, does that mean it can use all third party JavaFX controls?
If you cant answer that, maby someone else know?

Absolutely!

I think so, but I suspect one needs to write a B4J wrapper around it if it doesn’t exist yet (in java this is. Sounds more complicated than it really is :smiley:). Erel has some examples of his controls open sourced on Github I think. But someone may indeed be able to tell you more on this.

I guess your company uses B4J extensivly, and by your statements, it sems I would be in good hands when it comes to fixing bugs in the toolchain.

Thats one box ticked :slight_smile:

O shit, java :nauseated_face:, oh well, maybe not that hard :open_mouth:

Well, out of the box B4J has more controls than xojo.

Well, I have seeing more complains about the lack of consistency (like in Xojo) than a not native but consisten look.

Despite the couple of hardcore fanatics of the “native”, I think that 99% of end users doesn’t care about the theming as long as the app is well designed.

And in the end, MOST end users will not care about the languaje, just the functionality of the app.

yes, at no cost. Hard to compete with that :grinning:

Yeah, probably nothing to worry about.

Consistency and ease of installation is important though. I dont want my users to go through difficult installation steps. But it seems B4X takes care of that also.

Its a shame that I already put money in the Xojo pot, and did’nt do good enough research before choosing my tool :cry:

Well, in windows the IDE can create a single EXE to be deployed, really easy, no dependencies. But to make the apps run in MAC or Linux is a little more work

This is a bean counting exercise
More Controls !!!

Sure - but more USEFUL and really functional controls ?
(I suspect the answer might be yes)
Just counting controls isnt THAT useful (esp when you see that several are just different defaults set for something like a PushButton - which Xojo does as well)

Personally I tend to think this is a split between writing line of business apps for a companies internal use (where consistency is great regardless of platform) vs consumer (where native might matter more)

I think users should be blissfully unaware

Xojo is the master of this! E.g. in Web 2.0 they have like six input controls (email, tel, password, etc) which is exactly the same, except for the type attribute) :laughing:

It is JUST an answer to @westereng that was asking about CONTROLS

Yes

Actually, that is NOT the case.

For example, Button and ToggleButton are different subclases of ButtonBase (the same as CheckBox, Hyperlink and MenuButton). They have different Properties and Methods, not just a trick changing a property in the same class.

The same is true for TreeTableView, TreeView that can be confused by the name.

holy maloney, been testing b4j theese last few days, and I’m godsmacked by how powerfull the system is.

Just realized that you can basically use css to style the whole gui(JavaFx), thats is soo cool :open_mouth: :clap:

A lot of power for the money, oh wait, its free :rofl:

2 Likes

You might not know this, but .NET was doing this with XAML way back in 2007, so this is nothing new.

yeah I know that, working with wpf several years. but no multiplatform :face_with_raised_eyebrow:

but I was genuinly surprised that b4x had something like that, knowing wery little about that platform

Hi, to make things a bit less foggy, yes B4J has lots of more controls and you may have more control about your controls. Custom controls you can build also and you can use the material look and feel (one of many laf for JavaFX like described here:

So you may have in all Desktop Versions of your Software the exactly same look and feel especially with JAVAFX!

CSS is possible since the moment JavaFX was “born” 2007 also in Java Swing (started 98). I use JavaFX for Java Developments with IntelliJIdea and with B4J!

The nice parts of B4J are the rock solid consistency, the Java framework Power, the ability of implementing Java Classes with simple wrapping, the really simple syntax, the nice IDE.

Only bad in my oppinion is: there is no MAC and no Linux IDE. But it runs with codeweavers Crossover and installed Dotnet and Java on Linux and MAC Computers without anly limitation (but please: comment the Robocopy Line out if it is there, Linux and Mac have no Robocopy). Nice to know: use the external packager for packaging under Linux of MacOS with the Crossover Package to pack for Windows and use the packager for Linux or Mac to pack for Linux or Mac.

2 Likes

thanks, did not know about that library.

Yes, agreed. In fact, one of my recently started projects will be restarted with B4J. I have a background in pascal and c#, but I have grown to love the basic foundation of Xojo and B4X, and most of my future developments will be in these dialects.

It is no drawback for me that the Ide is windows only, as that is my main platform.

I know the Xojo World as well as the Java Worls and the B4J world. B4J is mature and for a former VB or Xojo Programmer it is an open world because you’ll get your Job done with it. Don’t forget: B4J has many, many AddOn Libraries, even Charts, PDF and so on. At the end like Java also you have a maximum freedon. And you’ll have your entrance in the Java World of Cross platform Development.

B4x is also able to do real cross plattform development with XUI Views which you can use in IOS, Android and Windows/Linux/Mac. Every platform a Java FX JDK or JRE is available you will be able to shoot for. This makes it really interesting. So I can for example, deliver Apps for Raspberry PI Zero. Xojo can not.

4 Likes

@thorstenstueker

Do you have any experience developing wrappers for javafx libraries for B4J?
Any pointers?

There is a couple of libraries i need and would need to learn how to do wrappers.

This is the tool

Tutorials and the forum:

1 Like

i am trying out the trial for crossover to install b4j and it get stuck “installing the net framework 2.0”