B4J Library [Web][ABMaterial] Framework for WebApps

TIP: For absolute beginners with ABM, Get started with the Mini Template
TIP: Get started with 'ABMaterial For Dummies' by Harris here! (lessons)
TIP:
My mini course on Youtube by MichalK73

ABMaterial is a framework combining a tuned Materialize CSS with the free programming tool B4J. It allows creating WebApps that not only look great thanks to Googles Material Design, but can be programmed with the powerful free tool from Anywhere Software without any knowledge of HTML, CSS or Javascript.

ABMDragonfly4.00.png


ABMaterial has over 45 themeable controls and some useful helpers.

Components:

  • ABMActionButton
  • ABMAudioPlayer (1.08)
  • ABMBadge
  • ABMButton
  • ABMCanvas
  • ABMCalendar
  • ABMCard
  • ABMChart (Plugin support 2.00)
  • ABMChat (2.50)
  • ABMCheckbox
  • ABMChronologyList (2.00)
  • ABMCombo
  • ABMCustomControl (1.05)
  • ABMChip
  • ABMCodeLabel
  • ABMDivider
  • ABMDateTimeScroller (1.06)
  • ABMDateTimePicker (1.06)
  • ABMEditor (1.07)
  • ABMFileInput (1.20+)
  • ABMGoogleMap
  • ABMLabel
  • ABMList
  • ABMImage
  • ABMImageSlider
  • ABMInputField
  • ABMRadioGroup
  • ABMPagination (1.04)
  • ABMPatternLock (1.20+)
  • ABMPDFViewer (1.08)
  • ABMPercentSlider (2.50)
  • ABMPlanner (2.50)
  • ABMPivotTable (1.08)
  • ABMRange (1.05)
  • ABMSignaturePad
  • ABMTimeLine (1.10, depreciated in 4.00)
  • ABMSlider (1.05)
  • ABMSmartWizard (3.00)
  • ABMSocialShare (1.07)
  • ABMSocialOAuth
  • ABMSVGSurface (1.20+)
  • ABMSwitch
  • ABMTabs
  • ABMTreeTable (1.04)
  • ABMUpload
  • ABMVideo

Helpers:
  • ABMContainer
  • ABMFlexWall (1.10)
  • ABMGenerator (1.07)
  • ABMModalSheet
  • ABMNavigationBar
  • ABMPage
  • ABMParallax
  • ABMSideBar (2.00)
  • ABMTable
  • ABMTableMutable (1.20+)
Other:
  • Firebase Auth (1.20+)
  • Firebase Storage (1.20+)
  • Configurable App and Content folders (2.00)
  • Lorem Ipsum Generator (2.00)
  • Grid Builder (2.00+)
The Grid Builder:
With the Grid Builder you can build the responsive framework very easy. This has been the most difficult part for beginners to understand. But now with the builder, you have no reason to not use ABMaterial :)

gridbuilder1.png


There is an online demo at http://abmaterial.com
Alternative url: http://prd.one-two.com:51042/demo/

NEW: You can now support BANano and ABMaterial here too: https://www.patreon.com/alwaysbusy


This means it is free to use, but consider this: it took me already thousands of hours to program ABMaterial, all done in my free time early in the morning and deep into the night. Not only will a donation push me to continue developing ABMaterial , remember, you'll get a warm and fuzzy feeling doing it!

Download version 5.15 - for jServer 4.00 (open source, library only):

ALWAYS TAKE A BACKUP BEFORE USING A NEW VERSION!


ABMaterial 5.15 is now available on github and is open sourced :cool: (AS IS)! This version has been in heavy use (development and production) within our company for over a year now without major alterations, so I consider it very stable and ready to be open sourced.

I trust no one here will publish a clone or take credit for my work and I would consider it common courtesy if you find a bug/fix/new feature, you report back to me so I can make the same changes in the official library and everyone can benefit from it.


Note: next to downloading the library, you need also to download the accompanying www zip files from the same github (releases) containing the latest javascript/css/font files.

The procedure from Github for 5.15:

1. Download https://github.com/RealAlwaysbusy/A...eleases/download/v5.15/ABMaterial5.15-bin.zip
2. Download https://github.com/RealAlwaysbusy/A...r4.00/releases/download/v5.15-www/www5.15.zip
3. Unzip ABMaterial5.14-bin.zip and copy all .xml and .jar files to you B4J Libraries folder
4. Unzip www5.14.zip
5. In the projects you are working on (e.g. a for Dummies project) delete the following folders in \www
  • css
  • font
  • js
6. Copy from the unzipped www5.12.zip the 3 folder (css/font/js) to the \www folder where you just deleted these 3 folders.

ALTERNATIVE DOWNLOAD: Download the ABMMini project where everything is included (Library, www and a Template project):

Additional Resources:

Demo source code (for v4.51, not yet updated for 5.15, but still usefull to learn ABM): https://gorgeousapps.com/ABMExtras4.51.zip

I hope you enjoy it as much as I did creating it and I look forward to see the killer apps you will make with ABMaterial!

Also consider BANano if you are planning to write Websites/Apps in B4J!

Alain Bailleul
Alwaysbusy's Corner
 
Last edited:

Cableguy

Expert
Licensed User
Longtime User
Hello,

Great works, thanks for this.

Is there an example of this framework for a simple database application (Select, Insert, Delete, & Update) ?
Yeap, the feedback app does all that
 

Cableguy

Expert
Licensed User
Longtime User
The feedback code project is part of the ABMaterial bundle, and can be found in the ABM folders, at the same level as the demo and template folders
 

Marcelo Rangel

New Member
Hello, everyone.

I'm having trouble with the ABMTableMutable.
When I try to remove the last row in a table with, for example, 10 rows, I get the error "java.lang.IndexOutOfBoundsException: Index: 10, Size: 10".

If I try to remove any other position, all rows from that point to the end are removed and the log displays "Something is wrong with the sync of the table. Row is null! "

Where can I be wrong?

Thank you all.

Marcelo
 

incendio

Well-Known Member
Licensed User
Longtime User
Hi guys,

Just downloaded ver 3.2 & compile Demo Project with B4J ver 5.82, jdk1.8.0_92. Compile is OK, Demo.jar created but on the log, there are errors.
java.lang.RuntimeException: Method: getSessionManager not found in: org.eclipse.jetty.server.session.SessionHandler

Am I missing something here?
 
Last edited:

incendio

Well-Known Member
Licensed User
Longtime User
Thanks for quick reply :)

There are two blocks with statement Dim joServer AsJavaObject = srvr, I changed all of it & now it worked OK.

I am a newbie in B4J and web app, my only app build with B4J is jRDC, nothing else. But I am confident that your framework & B4J will help me a lot to speed up learning process.

Please forgive me, how much donation I need to give?
 

alwaysbusy

Expert
Licensed User
Longtime User
how much donation I need to give
Whatever you feel comfortable with! I think it is up to everyone themselfs to find out what is 'worth' to them. Some of my donators are just hobbyists that donate a small amount to support me, others choose to donate regulary to encourage continuation and some professionals, who use ABMaterial and see the real benefit in their development time, have been very generous! So there is no 'price' for using ABMaterial, and I believe people will pay whatever they deem fair. And no mather what (if) you donate, I'll do my very best to help everyone :)
 

jon rios

Member
i am not a programmer developer, more a business person. i am struggling to get ABMaterial up and running. every link i click has 10 more links to more installation etc. Not sure how to get up and running with ABMaterial.

I have B4J up and running and functional, i have downloaded ABMaterial 3.20. Do I copy the library files from the 3.20 folder into the B4J libraries folder? i opened up the DEMO from 3.20 and get these errors... thanks for any simple step by step instructions from this point. thanks

upload_2017-8-18_16-6-21.png


upload_2017-8-18_16-5-33.png
 

lemonisdead

Well-Known Member
Licensed User
Longtime User
Do I copy the library files from the 3.20 folder into the B4J libraries folder
yes you have to copy the library files inside the library folder or the desired external library folder
 

jon rios

Member
thanks AB, that was done. I downloaded this a sample web app listed on the forum to see exactly how ABMaterial works within B4J. i am struggling troubleshooting what needs to be done.

i am a business person who knows VBA for excel & access and have built apps in Access with events, tables, sql, forms, reports, etc. But now want to use a web based tool.

is implementing B4J and ABMaterials "simple" for a non-developer/programmer, or will i be pulling my hair out trying to get everything to work. Before i go down this rabbit hole could you be frank with me, should i try another solution?? thanks


error after adding files to library

upload_2017-8-19_12-23-59.png
 

alwaysbusy

Expert
Licensed User
Longtime User
This is not an error. Looks like the server is up and running now. Now open a browser and go to http://localhost:xxxx/appname (I don't recognize this webapp, so you have to figure out yourself what port (xxxx) and what appname was used by the programmer). I'm not even sure this example is using ABMaterial, but is just a standaard B4J webapp as in 2014 (from the name Task Manager v20140516), ABMaterial did not exist yet.

is implementing B4J and ABMaterials "simple" for a non-developer/programmer
No, it is not. ABMaterial + B4J is a pure programmers solution to create modern responsive webapps (e.g. there is no 'visual' page editor, all has to be done in code). But if you take the time to get familiar with it, it is well worth it. The language is similar to VBA, so that is a pro.
 

Cableguy

Expert
Licensed User
Longtime User
thanks AB, that was done. I downloaded this a sample web app listed on the forum to see exactly how ABMaterial works within B4J. i am struggling troubleshooting what needs to be done.
I can still remember when I first tried out ABMaterial.
Getting the Demo app working was a real challenge to me, as i am not a professional programmer and never been trained in the programmer's way of thinking.
But once I got it running... man, I was just amazed!
i am a business person who knows VBA for excel & access and have built apps in Access with events, tables, sql, forms, reports, etc. But now want to use a web based tool.
When I first entered this forum about +10y ago, I was in that same level... only that I had never done any real work with DBs.
Don't be scared, it wont take you 10 years to understand ABMaterial, all you need is :
- A concrete Project
- Time
-Will to learn
-Time
-Time
-Not being afraid of minor setbacks, nor of asking for help
-Time
-Time
is implementing B4J and ABMaterials "simple" for a non-developer/programmer, or will i be pulling my hair out trying to get everything to work. Before i go down this rabbit hole could you be frank with me, should i try another solution?? thanks
I recommend you to run the Demo App from the code samples in the bundle, and take the time to go through the code.
Do some action on the Demo app, like the Modal Forms examples, and then go to the ModalForm module and try to understand what was going on there.
The Demo app and the Feedback app are your best code samples for the ABMaterial framework, almost everything you will want to implement is covered.
Pay special attention to the ABMshared module... It is a very clever way of reusing code.
Once you get a grip on how it all relates to each other, you can start your own concrete project...
O can't stress the "concrete" part enough... If you don't have a very close idea of how you want your webapp to look like, you'll find yourself restarting the project over and over. Also, having a concrete idea will help you create your grid more easily in the grid builder.

If you have the time to spend, and are willing to hit some walls but not be discouraged by it, then YES, try ABMaterial!
 

DonManfred

Expert
Licensed User
Longtime User
yes you have to copy the library files inside the library folder or the desired external library folder
The correct way is to copy it to the Additional Libraries folder! Except for libraries which must be copied to the Library folder (Updates for internal Libraries) but usually the additional Library folder is the correct one.
 

vfafou

Well-Known Member
Licensed User
Longtime User
Hello Alain!
I haven't used the ABMaterial yet for any real world app...
It seems that now it's the time to do so!
For that reason and seeing what you've done in this period, I've placed again a small donation, because you have done an excellent work!
Thank you and keep up the incredible work!

Cheers!
 
Top