B4J Tutorial [BANano] Live Code Swapping in v5 preview

Hi all,

The upcoming new version of BANano (v5) will allow you to use one of the greatest features of B4X: Live Code Swapping!

This has always been a very productive and unique tool we have at our disposal when developing in B4X and will soon also be available in v5 of BANano for developing WebApps. Very few other Web Development tools can do this, but B4X will :)

This is a huge step in speeding up WebApp development. A sneak peek here:

Still quite some work and testing to do before release but I wanted to show you this because there have been some queries around debugging BANano from forum users.

BANano is a 100% free Website/App/PWA (Progressive Web Apps) library with Abstract Designer support for B4J: https://www.b4x.com/android/forum/t...library-with-abstract-designer-support.99740/



Licensed User
Longtime User
I'm not an user of BANano or ABMaterial at this time but I'm really hoping to change that in few months.
I do have 2 question:
  1. What is live code swapping? Is this transcoding B4J code and publishing to the server?
  2. Can BANano be used as front end UI to database application? I always thought that ABMaterial would be preferable framework for any application interacting with database but Alain in his BANano tutorial said that his company uses mostly BANano for new applications. I just don't understand how to split BANano application into client base and server based code?


Licensed User
Longtime User
1. What is live code swapping?
= Hot Code Swapping: when running in Debug mode in the B4J IDE, you can make changes to the code and without doing a full recompile but just by saving in the IDE, BANano will transpile only the changed parts. It is similar to what B4A does when you run your Android app in debug mode with B4A-bridge.

2. Can BANano be used as front end UI to database application?
Yes, using e.g. the BANanoServer library, see here https://www.b4x.com/android/forum/t...ananoserver-going-full-circle.111406/#content
You code both the UI (Browser side, BANano compatible B4J code) and the database (Server side, any normal B4J code) in one project. Especially take note in that post on the naming of your classes (BROWSER, SHARED, SERVER prefixes).