New direction for my development

Demitrius

Member
Licensed User
Hello B4X Community!

This is my second post on this forum (I know, shame on me!) and I'm doing it to mark a turning point for me as a developer.

To give you some context of how I found B4X, it all started in 2017 when I joined the company that I work for. They had a project for me to build a mobile app that will communicate with a piece of hardware. I had no experience with mobile but I had experience with c#, so the logic step for me was to use Xamarin to do the job. I have a colleague that wrote the firmware to that piece of hardware and a Java API to communicate with it for his testing purposes. He gave me the jar and the documentation for me to start the development and, since I couldn't use the jar in Xamarin, I wrote the whole code from scratch (wrong move, I should have looked for an alternative first but I didn't and that was it). Several months passed, I developed the app but that moment stuck on my mind and I started to look for an alternative that would allow me to use already built and battle-tested java code in the future for the projects and that was when I found B4X!

I digged the site, read the documentation and bought a B4A license right away! (At that time B4A was not free but that didn't stop me as I found the price to be pretty fair).
Off-topic.: I was amazed to know when it became open source and that made me consider it even more!
I started to experiment with it, baby steps just like with everything that is new to us and started to keep an eye on the forum as I have been doing when I have time.

But one day I decided to really give it a shot professionally. One day at work after lunch, a colleague approached me and asked me to make an app asap for another colleague of another department.
I accepted the challenge and, as I had little time to do it, I thought to myself: "let's see how much of a RAD tool B4X really is!" (I used B4J this time as it was a desktop application)

And I was blown away! ?
Nice built-in interface designer, kiss principles, no overengineering and re-invent the wheel, two searches on the forum (that really works well!) and the app was ready by the end of the afternoon!!
I delivered the app the next morning (my colleague still probably thinks that I spent the night coding to do it) ? and after that, to myself, I paused a bit just to think in what happened:

"Wait! I just coded an app in an afternoon!! If I had used B4A for my first project here, how much time would I have saved developing that mobile app?" ?

My role and development focus on the company changed since then and I have been away from the forum from quite some time now because of it.
But that experience and thought stayed with me.
I'm now returning to "fullstack" and I want to embrace B4X once and for all but for that I just need clarification on one subject:

Can I use any jar I want in B4A, B4i and B4J? There are any quirks or limitations that I should be aware? (If I should post the question in a different thread just let me know)
This is very important for me because of the story that I told you before and because I will need it for future projects like that.

Sorry for the post being a bit long!
I hope you guys are well and safe and thank you all for this amazing community. As I said I was away but I check my mail every week for B4X to keep me updated with the latest and greatest and
it's very nice to see all these awesome developments and interactions! ?

You will see more of me in the future as I will invest in B4X as my development platform (with code and donations when I can)
Thanks @Erel for this amazing suite of RAD tools and awesome support!
Cheers to all!
 

agraham

Expert
Licensed User
Longtime User
Can I use any jar I want in B4A, B4i and B4J?
Short answer:

No! See the long answer.

Long answer:

B4A and B4J
Some jars, will work with both IDEs as long as they don't contain platform specific classes. Jars with a simple API can be called using in-line Java code or using a JavaObject. More complex ones will need a library wrapper written to access them

B4i
B4i is not Java based and so no jars can be used with it.
 

Cableguy

Expert
Licensed User
Longtime User
Considering that maybe the question was wrongly formulated...

You CAN however use any exiting Lib you wish, being it an already wrapped third party lib, a "forum user" created one, or one you build a wrapper for, independantly of the platform you target.

As you know, the software world keep evolving, as have B4X over the years, and therefore a few older libs no longer work , and new ones usually exist to take its place...
This means that if you have a piece of software created 2 years ago, and want to "fresh it up", some libs may need replacing just to keep up withe the hardware changes.
Hope to have helped
 

Demitrius

Member
Licensed User
Long answer:

B4A and B4J
Some jars, will work with both IDEs as long as they don't contain platform specific classes. Jars with a simple API can be called using in-line Java code or using a JavaObject. More complex ones will need a library wrapper written to access them

Thanks @agraham, that is good enough for me! In most cases, I would say 99% of them, there will be no platform specific classes.
 

Demitrius

Member
Licensed User
Considering that maybe the question was wrongly formulated...

You CAN however use any exiting Lib you wish, being it an already wrapped third party lib, a "forum user" created one, or one you build a wrapper for, independantly of the platform you target.

As you know, the software world keep evolving, as have B4X over the years, and therefore a few older libs no longer work , and new ones usually exist to take its place...
This means that if you have a piece of software created 2 years ago, and want to "fresh it up", some libs may need replacing just to keep up withe the hardware changes.
Hope to have helped

Sorry @Cableguy, maybe it was yes, I was talking about external jars, generated on a java project, not related to B4X.
But thanks for your input and clarification!
 
Top