B4J Library [Web][BANano] Website/App/PWA library with Abstract Designer support






INTRO

BANano is a new B4J library to websites/webapps with (offline) Progressive Web App support. Unlike its big brother ABMaterial, BANano does not rely on any particular framework like Materialize CSS. You will have to write that part yourself, but on the other hand, you have the choice to pick which one.

Why a second framework? Well, from the start ABMaterial was build with a back server in mind. B4J has great support to setup a very powerful jServer to handle web requests. Which does mean all intelligence is at the server side and you have the full power of B4J to do whatever you want (secure database access, serial communication, cache control etc). With B4JS, some of this intelligence could be transferred to the browser side, but the app still needs internet/intranet access so this is as far as it could go.

BANano is a different animal. It can use a Service Worker to 'install' the web app in the browser, so it can also work when the user is offline. While ABMaterial builds the page from the server side, BANano builds it from the browser side. This means EVERYTHING you write in B4J is transpiled to Javascript, HTML and CSS.

But with great power comes great responsibility! Unlike ABMaterial, some basic knowledge of HTML, CSS and to some extend Javascript is needed to build BANano apps. It makes excellent use of B4X's SmartStrings to create the HTML part of the app. BANano gives you a set of tools to write your own wrapper around any framework (MiniCSS, Skeleton, Spectre, Bootstrap, ...), which then can be easily used to quickly build webapps/websites.

OVERVIEW

A quick overview to show the different uses of both frameworks:


So both frameworks have their specific target, both for the programmer and the app you want to make.

BANano is written from scratch, so although it is similar to B4JS, both support different things. B4JS is build on jQuery, while BANano uses Umbrella JS (a lighter form of jQuery, about 50x smaller) and Mustache to build the HTML.

BANano does also support some different B4J than B4JS: e.g. things like CreateMap, better support for SmartStrings etc.

Abstract Designer support in v2.0+



LICENSE


Cheers,

Alain
 
Last edited:

alwaysbusy

Expert
Licensed User
Longtime User

alwaysbusy

Expert
Licensed User
Longtime User
Please do not post in this topic and start a new one with [BANano] in the subject and some small example that demonstrates the problem. Big parts of the core have been rewritten from scratch so some specific transpiler cases like this may have to be reviewed. We have not encountered this problem in our Unit testing however, so a sample is essential.
 

Mashiane

Expert
Licensed User
Longtime User
Im sorry I thought I was responding to the post you made in the question I asked.
 

angel_

Well-Known Member
Licensed User
Longtime User
When including the latest version of BANanoSkeleton, the old version appears

 

alwaysbusy

Expert
Licensed User
Longtime User
@angel_ I'll try to upload a new version on Monday where this is corrected as this weekend we are trying to find the specific case reported in the new transpiler where the setter/getter appears to go wrong somehow but without an small runnable example of the error it is like searching for a needle in a haystack. We'd love to add it to our unit testing as we want BANano to be used as close as possible to how B4J operates but something must be done differently than we do in our WebApps. We are rather clueless for the moment as our getter/setter's just work fine as does it probably for anyone not using this specific library.
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…