B4J Tutorial [Web] ABMaterial vs BANanoServer: Are you confused about them?

Hi Fam

Perhaps an illustration can help.

untitled_page.png


Conclusion: Reaching the same goal

Let me explain..

1. Anyone who wants to develop Server WebApps, has 2 options with Alain's tools, these are ABMaterial / BANano (Server).
2. ABMaterial does not use an abstract designer (layouts) to create the UI, however BANAnoServer does.
3. ABMaterial uses MaterializeCSS for the UI and one codes the UI etc.
4. BANanoServer can use any frontend framework, for example, there is SithasoDaisy that uses TailwindCSS & BANanoVuetifyAD3 which used materialize framework but for VueJS. One can use any framework then want, no limit, nada.
5. Both ABMaterial & BANanoServer apps are deployed on a VPS and will do the same thing.
6. Both ABMaterial & BANanoServer use the same code base, will do the same thing, the only difference is the UI creation part.

Anyone can add more into my attempt to clarify this as I am basic my explanation on my current understanding.

Enjoy!
 

alwaysbusy

Expert
Licensed User
Longtime User
The difference is explained in the BANano main post: https://www.b4x.com/android/forum/t...with-abstract-designer-support.99740/#content and chapter 13 of the booklet goes deeper into how to use the BANanoServer:

1707907467749.jpeg


In short:
- Both use the normal B4J jServer (Jetty)

- ABMaterial serves all pages dynamically using the Materialize CSS framework and WebSockets. All business intelligence is on the SERVER side (it is B4Js answer to php)

- In BANanoServer, all BROWSER/SHARED classes are transpiled to HTML, CSS and JavaScript by BANano and run on the Browser side. B4J transpiles/uses only the SERVER/SHARED Classes to Java and uses all the jServer capabilities. The jar has to run on a VPN. The business intelligence is shared between both the SERVER and BROWSER side. It is up to the programmer to decide where to share what. Any framework can be used for the BROWSER classes using BANano. BANanoSkeleton is the officially supported UI library (can both be used with layouts made in the Abstract Designer and through code). Most common use of the SERVER part here is just as a REST API Server, but it can also use WebSockets like ABMaterial does (see booklet).

Alwaysbusy
 
Last edited:

Cableguy

Expert
Licensed User
Longtime User
. Both ABMaterial & BANanoServer apps are deployed on a VPS and will do the same
Also note that ABMATERIAL using MaterializeCSS and it's guidelines will Automatically scale/rearrange the ui depending on the device connected.
In BAnano you'll have to deal with this yourself
 

alwaysbusy

Expert
Licensed User
Longtime User
In BAnano you'll have to deal with this yourself
This is not 100% accurate. It depends on the UI BANano library you use. e.g. BANanoSkeleton uses the responsive rows/12 columns grid system for Desktop/Tablet/Mobile devices that can rearrange the components depending on the device. It also supports the flex rows and columns to archive the same effect.
 
Top