B4J Library [ABMaterial] Framework for WebApps

Harris

Expert
Licensed User
I don't think I personally would use it as the amount of work involved is way too much.
Too much work??? Compared to learning Javascript, HTML5, CSS and Ajax - and using these to create / cobble a "simple" web page is what I consider "way too much work".
When developing in debug mode, the web page you are working on essentially becomes your designer...

I use ABM everyday and am currently updating an app to make it more responsive on small devices. This requires bypassing the ABMTable and using ABMCustomCard for the presentation. This is easily accomplished, enjoyable to code and the outcome - a work of art...

Sure, a formal designer would be nice but as @alwaysbusy stated - not possible. However, there are code generators built in to create much of the grid and modalsheet code.
 

alwaysbusy

Expert
Licensed User
@Indic Software ABM is a wrapper for Materialize CSS, no other CSS framework (Bootstrap has nothing to do with ABM). If you want to use that, I wrote the BANano library, where you can use ANY css/javascript framework (Bootstrap, ReactJS, Vue, ...) you want.

ABM is in many cases the perfect tool for WebApps, without having to know anything about Javascript, CSS, HTML, PHP or Web whatsoever. Knowing pure B4J is enough. It is used internally within our company and has dramatically increased the development speed over any other tool we used before. THAT is the reason I shared this library to the community.

ABM does a lot of stuff in the background that makes the resulting app fast and reliable because it prevents the programmer from making common mistakes. The B4J Webserver Jetty is a very good Webserver and, with the proper load balancing, can serve up many users (just the same as with ReactJS, NodeJS, PHP: without a good load balancing strategy, they also will choke on a huge number of users just like Jetty will). In our latest company ABM WebApp, it will serve up to 50.000+ users with ease.

So the choice is: learn Javascript/HTML/CSS/PHP/ReactJS/Bootstrap/Vue and do all you want, or use only one language B4X where you are familiar with, having Materialize CSS as your UI with ABM (and some custom components if you want to pimp it a bit).

I guess as you already know html/javascript/css/php very well, your choice is simple and ABM just isn't for you. But I'm glad it has given many B4X users the opportunity to make great, robust WebApps without having to learn new stuff.

Alwaysbusy
 

LucaMs

Expert
Licensed User
@Indic Software ABM is a wrapper for Materialize CSS, no other CSS framework (Bootstrap has nothing to do with ABM). If you want to use that, I wrote the BANano library, where you can use ANY css/javascript framework (Bootstrap, ReactJS, Vue, ...) you want.

ABM is in many cases the perfect tool for WebApps, without having to know anything about Javascript, CSS, HTML, PHP or Web whatsoever. Knowing pure B4J is enough. It is used internally within our company and has dramatically increased the development speed over any other tool we used before. THAT is the reason I shared this library to the community.

ABM does a lot of stuff in the background that makes the resulting app fast and reliable because it prevents the programmer from making common mistakes. The B4J Webserver Jetty is a very good Webserver and, with the proper load balancing, can serve up many users (just the same as with ReactJS, NodeJS, PHP: without a good load balancing strategy, they also will choke on a huge number of users just like Jetty will). In our latest company ABM WebApp, it will serve up to 50.000+ users with ease.

So the choice is: learn Javascript/HTML/CSS/PHP/ReactJS/Bootstrap/Vue and do all you want, or use only one language B4X where you are familiar with, having Materialize CSS as your UI with ABM (and some custom components if you want to pimp it a bit).

I guess as you already know html/javascript/css/php very well, your choice is simple and ABM just isn't for you. But I'm glad it has given many B4X users the opportunity to make great, robust WebApps without having to learn new stuff.

Alwaysbusy
It is not exactly like that.

Following a video tutorial about JavaScript, 4 lessons for a total of only 6 hours and 11 minutes, this is the great final result (without CSS, which the tutorial did not teach, of course):

1.gif

😂
 
Last edited:

Cableguy

Expert
Licensed User
I think the main problem in writing a designer is the fact that the screen occupation is not known by the "designer"
Creating a code generator is in itself not hard, but then, enters theming, and grid placement, will it be inside a "cell" or a "container"..?
There is just too many variables in the screen layout itself, unlike with the other designers that know the screen size and how they are "divided".
 

Jones Hone

Member
Licensed User
I am test ABMarterial's project of demo.b4j.
I only modify some word to Chinese word.
But:
On ABMNavigationBar the Chinese word is gardled.
Ob other page the Chinese word is correct.
(Refer to below image, Please.)
How can I fix it? Thank you!

[Sorry! I'll post another new thread.]
 
Last edited:

Cableguy

Expert
Licensed User
I am test ABMarterial's project of demo.b4j.
I only modify some word to Chinese word.
But:
On ABMNavigationBar the Chinese word is gardled.
Ob other page the Chinese word is correct.
(Refer to below image, Please.)
How can I fix it? Thank you!
View attachment 98226
View attachment 98227
View attachment 98228
View attachment 98229
Please start a new thread for your question.
This thread is meant as an announcement / introduction thread to ABMaterial.
By posting your answer here, it will have less visibility, and even worse, the possible answers will not be easily found by others having the same issues!
 

alwaysbusy

Expert
Licensed User
Some new updates for this lib in the future? may be turn it open source
There have indeed been very few updates (needed) and making it open source is something I'm very seriously considering. I think it is mature enough to be so. I previously did not want to do it because it could turn into a wild grow of versions that could break with every 'official' update I did. But things have changed now.
 

barx

Well-Known Member
Licensed User
I think it is about time I looked at this. I want to create myself a job management platform to help keep my jobs/clients/invoicing in order. I was going to try create it in Laravel PHP framework, but then I remembered this project and thought 'why the hell not give it a try'.

See how it goes...
 

MichalK73

Active Member
Licensed User
I think it is about time I looked at this. I want to create myself a job management platform to help keep my jobs/clients/invoicing in order. I was going to try create it in Laravel PHP framework, but then I remembered this project and thought 'why the hell not give it a try'.

See how it goes...
I recommend ABMaterial, it is perfect for what you want to write. You'll like it nice to write. You do very well to have a goal, and you will slowly write your system and at the same time you will learn the framework and the next ones will be easier for you.
Good luck, and if you have a problem, everyone will help you here.
 

Indic Software

Active Member
Licensed User
I think it is about time I looked at this. I want to create myself a job management platform to help keep my jobs/clients/invoicing in order. I was going to try create it in Laravel PHP framework, but then I remembered this project and thought 'why the hell not give it a try'.

See how it goes...
This means you are well versed in PHP as well as B4J.

If you can wait for a few days we are launching a new product NO-CODE web application generator called ZenDevX!!

In ZenDevX you will be able to build any king of web application without having to write a single line of code!

Please don't get me wrong. Using ABM is a very good idea but unforunately one has to code a lot and test the output very frequently. And as per my very little experience with ABM, this is very time consuming.

Please check the Post: https://www.b4x.com/android/forum/threads/launching-two-product-back-to-back.130225/ for more information as I will be posting updates there.

Finally ZenDevX will generate complete web app with PHP code for server side, JavaScript for client side and it uses Bootstrap for page designing internally.
 

barx

Well-Known Member
Licensed User
This means you are well versed in PHP as well as B4J.

If you can wait for a few days we are launching a new product NO-CODE web application generator called ZenDevX!!

In ZenDevX you will be able to build any king of web application without having to write a single line of code!

Please don't get me wrong. Using ABM is a very good idea but unforunately one has to code a lot and test the output very frequently. And as per my very little experience with ABM, this is very time consuming.

Please check the Post: https://www.b4x.com/android/forum/threads/launching-two-product-back-to-back.130225/ for more information as I will be posting updates there.

Finally ZenDevX will generate complete web app with PHP code for server side, JavaScript for client side and it uses Bootstrap for page designing internally.
Sounds very interesting. I will certainly keep an eye ut for it.
Cheers
 
Top