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.14 - for jServer 4.00 (open source, library only):

ALWAYS TAKE A BACKUP BEFORE USING A NEW VERSION!


ABMaterial 5.12 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.14:

1. Download https://github.com/RealAlwaysbusy/A...eleases/download/v5.14/ABMaterial5.14-bin.zip
2. Download https://github.com/RealAlwaysbusy/A...r4.00/releases/download/v5.14-www/www5.14.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.

Additional Resources:

Demo source code (for v4.51, not yet updated for 5.12, 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:

vfafou

Well-Known Member
Licensed User
Longtime User
Hello Alain!
I've just made a - very small for your work - donation.
I've surfed the demo application and I have been completely surprised with you and B4J...
Keep on the amazing work!
Thank you very very much!
 

elitevenkat

Active Member
Licensed User
Longtime User
Dear alwaysbusy, what is the minimum donation i should make to get your wonderful framework ? i had searched for the information but was unable to find hence this query !
 

Cableguy

Expert
Licensed User
Longtime User
I would say minimum 1M$, but He'll be happy with a few beers/HappyMeals worth donation!
 

Harris

Expert
Licensed User
Longtime User
I would say minimum 1M$, but He'll be happy with a few beers/HappyMeals worth donation!
Dang, you beat me to supplying such a smart ass remark!

I say - start modest but donate often. As the framework progresses with new goodies, one tends to want to keep feeding the code monkey as incentive and appreciation for his efforts. He deserves every peso...
 

alwaysbusy

Expert
Licensed User
Longtime User
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 :)
 

vfafou

Well-Known Member
Licensed User
Longtime User
Dear alwaysbusy, what is the minimum donation i should make to get your wonderful framework ? i had searched for the information but was unable to find hence this query !
I have made a donation without playing with it yet! I saw all showcases and demos and I was simply surprised...
Of course I will use it sometime in the next 2-3 months, because I want to make an application, and I think ABMaterial will save me a lot of time...
To be more accurate, it will save my life!
I have made the decision to make a small donation every month, in order to encourage Alain to continue the excellent work!
 

alwaysbusy

Expert
Licensed User
Longtime User
ABMaterial public release 1.07 can now be downloaded from the first post!

Donators know what's coming next in a few hours: version 1.08! This time again with an extra goodie: ;) ABJasperReports.

ABJasperReports is a small library that works well with the new ABMPDFViewer component in ABMaterial. More info will be provided in the email.
 

killiak

Member
Licensed User
Longtime User
Let me congratulates you for this amazing work. As a spanish programmer i was wondering if you have plans in the future about multilanguage. Multilanguage for Code Reuse for me is a must. I develop software with .net and i need to create all my programs in English, Spanish and German. I work for a multinational company that requireds that... after a lot of Thinking i develop a Multilanguage Middle Layer between framework and sourcecode with a simple comma delimited Text. Your Framework (along with B4J) seems to fit perfect for RAD Develop... probably this could be a near by feature.. or just a pretty stright foward Sourced Coded solution

Again, amazing work

Regards
Pablo
 

alwaysbusy

Expert
Licensed User
Longtime User
Thank you for your kind words Pablo! I've been thinking about this a lot as here in Belgium, we have three languages to support(and english as the forth).

My current thought is this:

1. In BuildPage() I load the grid and set some basic controls (+ activate the Needs... properties for the type controls I'm going to need!)
2. In WebSocket_Connected() I load the map of translations depending on the language of the one who is logged in (could be a file, a database)
3. Another method BuildConnected() which I run in the WebSocket_Connected()

Here I build the real controls. For everything that should be multilingual, I use a method Trans('0123'). The only thing this does is reading in the current translation map the entry for '0123'.

I'm open for suggestions or a discussion how we could improve language support. So fire on!
 
Top