ABXPlay for Xojo is dead, long live ABMXPlay for B4J!


As many will have noticed in the last year,  there are fewer articles about Xojo on Alwaysbusy’s Corner.  I do like to write graphics projects/frameworks and Xojo is more a language for business apps. Over the years, I’ve written several ‘Proof of Concept’ articles on graphics programming with RB/Xojo.  And although the algorithms could be written, I always quickly hit a wall when it came to speed. I sometimes get requests to update the existing articles, but IMHO, Xojo is becoming the new VB6.  Just like at the end of the popular VB6, using declares in Xojo are in many cases the only solution to make your program work in a modern way.

But it has been fun and I’m sure Xojo can be used to write several other type of projects. I have no regrets having learned RB/Xojo in the past.

But in this view, I have discontinued the ABXPlay for Xojo project and decided to start all over again with ABMXPlay for B4J as a ABMaterial 2.0 component. B4J is excellent when it comes to pure speed in WebApps and that is exactly what is needed for a game framework.

The complete rewrite of ABMXPlay for B4J is better than the Xojo version.  It is integrated in ABMaterial so it can make use of this engine too.  As the B4J syntax is a lot easier than the one in Xojo to interpret (it is very similar to what RB used to be) and the used file format is plain text, I’m working on a B4JS transpiler that will translate B4J code to Javascript.  This changes everything massively!  While still being able to write simple Basic syntax, you are actually writing powerful and fast client side Javascript.

ABMXPlay is going to be the first ABMaterial component with this functionality. In the following months, I’ll gradually will introduce this to other ABMaterial components as they can equally benefit from B4JS. Imagine having a form, being able to check the input fields, making some price calculations etc without having to talk to the server.  Only when the user hits the ‘buy’ button, an actual request is made to the server.  And for you as a programmer, all you have to do is continue programming in B4J as you always did!

So, still a lot of work to do. Coffee and Red bull will be my best friends in the upcoming nights. But it is going to be worth it!

Note: ABXVision for Xojo is also DISCONTINUED: Interested parties in purchasing the source code for the Xojo versions can contact me via email.

Until the next update,


Click here to Donation and support ABMaterial


About Alwaysbusy

My name is Alain Bailleul and I'm the Senior Software Architect/Engineer at One-Two. I like to experiment with new technologies, Computer Vision and A.I. My projects are programmed in B4X , Xojo, C#, java, HTML, CSS and JavaScript. View all posts by Alwaysbusy

17 responses to “ABXPlay for Xojo is dead, long live ABMXPlay for B4J!

  • chuckthetekkie

    It’s a shame you are leaving Xojo. I have found your ABCanvas really useful and I still use it as it is really great for making my TCG game.

  • Raphael

    You are totally right Alain ! I’ve left Xojo behind almost two years now and went on learning Java, C++ and C# and I feel I am far better of with this decision. A very good colleague of mine is forced to working with Real Studio because he built his complete life upon a huge software project built with it. He is forced to heavy use of third party plugins and totally unhappy with the Xojo release. They’re going backward with every release of the last 4 years. It’s aimed at beginners and bugs are almost never worked at. There is guys like “Normal P” in the Xojo forums always responding with the lines “That’s not a feature, it’s a bug. Opening doors is dangerous, therefore we made it closed. It’s healthier for you”.

    So, you’re better off switching to alternatives, although Xojo did come along way it’s not something for professionals anymore. Real Studio was way better …

    I had to laugh a bit in your critique though because B4J writes this current headline on their website ‘B4J – Modern “VB6 like” development tool for cross platform desktop, server and IoT solutions’ … 😀

    Good luck on your path !
    I always enjoy reading anything you write.

    • Alwaysbusy

      True on VB6. 🙂 I did mean it only as a critism on Xojo for the declare part, not the language syntax. Although Xojo is for the moment a mix of VB6 and a .NET like syntax that is very confusing as it not available on every platform.

    • chuckthetekkie

      I’ve tried to learn C++ many times over the past 15 years and still can’t even understand the simple “Hello World” code. I guess it’s because I started with BASIC over 20 years ago.

      • Alwaysbusy

        Nothing wrong with programming in a Basic language chuckthetekkie and don’t let anyone tell you otherwise!

      • chuckthetekkie

        I love your ABCanvas but it’s a shame that you can no longer help me understand how to use it anymore.

      • Raphael

        There is no shame in Basic whatsoever. I am just unhappy of the path that the Xojo IDE has chosen and so are many other customers. The speed of Xojo Apps and the support for everything computer vision and gaming related (in my opinion) has never improved by much. If you want to learn C# (or are already familiar with JavaScript) gaming can really be fun with Unity3D. That’s a good start. Understanding C# is easier than C++. For debugging and optimisation a better understanding of C is required but with time that will come. Curiosity is the best tool of any developer I think.

      • John

        Chuckthetekkie, don’t worry about this. I never managed to “manage” C++ either. IMHO, I find so counterproductive to spend time and hurt my eyes to spot open and close curly parentheses….I find is such a waste of time and a reason for developers to justify unnecessary working time 🙂

        • Raphael

          I am very active in PHP and always have been so learning C and all its family members wasn’t all too difficult. You’ll get used to it to “close things” in your mind. Helps with the mental image of closed and individual working pieces. Most IDE and text editors do that automatically and when you adhere to the rule of writing modular code with as few lines as possible, it’s not that much of a problem. I think having to use the mouse due to the lack of shortcuts (e.g. Word vs Markup-Syntax) takes more time. Delphi is getting better it seems – never learned Pascal for long, never cared. A familiar environment beats all others I think. You’ll know it’s time to switch, when you hit the limits (and that can take a long time).

          But it looks like the great Alain has hit one of those limits.

  • Markus Winter

    Good luck for the future! But please stop smoking. It’s a filthy habit, and my brother would probably still be alive without it. As it is he died at 47. The Malboro Man died at 51.

  • John

    I left Xojo a couple of years ago and moved to Delphi. Another not very popular language these days (for which I receive comments from colleagues) but extremely developed, fast and powerful…and I am very happy with this choice.

    Even after this, I always look at your articles and your coding and there is always something to learn. Thanks for this.

  • Raphael

    Alain, are you happy with B4J?
    Is the support for native classes better than with Xojo and the speed really that much better?

    Java can be a security issue in many of the larger firms and is therefore not the preferred path for many (including myself). Except maybe for designers where you just can’t do without (Photoshop etc.)

    The main reason I never continued with Basic is because B4J is windows only (I am a Mac), my customers require my web-app knowledge and my privat time is focused on Unity3D and Xcode / Xamarin

    • Alwaysbusy

      Very much at the time of this writing ;-). Erel is quite the genius and extremely helpful. The community is exemplary (no long off topic conversations like on the Xojo forum). Erel keeps a tight ship! Bugs in the IDE (if any) are addressed very fast. Having the power of a seasoned language as Java under the hood provides you with possibilities Xojo only can dream of. For every problem, solutions seem to be just around the corner.

      I never really liked the Xojo IDE. it is very counterproductive if your project gets to a certain size. Having all the code of one class in one view is for a lot of professional programmers a blessing. The usage of a mouse should be minimal in an IDE (IMHO), and the Xojo IDE is nothing but. Also, those weird tab jumps are very distracting and annoy me. But this is really a personal opinion and I’m one of those guys that jumps around through my code all the time when I’m in the zone.

      I can understand your concerns on security in Java. That is why I mostly use it for WebApps. The .jar file runs on your server so it is up to you to secure your machine. The user does not have to install Java on their machines. For me, most of my time, I spend in Eclipse to write ‘engines/libraries’ for B4J in Java. I just love to think about these things. And I’m very glad ABMaterial is starting to catch on!

      It is indeed a wish from many to get the B4J IDE on other platforms like Mac or Linux. This may be a deal breaker for some.

      Unity3D looks interesting, but I never found the time dig deeper into it. Maybe one day…

      • Raphael

        Sounds very, very good. And I am 100% on your side in regard to IDE requirements. Too bad I don’t like developing on Windows. Eclipse I know – could also be better.

        And yes – you should go to Unity3D. It’s also compiling for multiple platforms (more than 20, which I love) and free until a certain amount of income. And not that difficult at all.

    • Alwaysbusy

      As an addition to the security concern, from Erel himself:

      “In the last years there were many reports in the media about Java security. All these security issues are related to vulnerabilities that allow the process to exit the sandbox boundaries.

      These issues only affect the Java browser plug-in that executes Java applets in a sandboxed environment.

      They have nothing to do with regular desktop or server programs. Those programs are not sandboxed and can access anything that the process owner can access, like any other program.
      In fact due to the JVM memory model, Java programs are generally more secure than programs written in C/C++.

      B4J doesn’t create applets and doesn’t rely on the Java browser plug in.”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: