B4X is a great tool for developing Web Applications and Backend.
It started from my idea to create
web API tool like .NET Web API and
web application framework like Laravel for PHP and Django for Python.
The idea is to create a scaffolding or skeleton project and progressively extend it further by adding other libraries.
From time, I have developed a lot of libraries, tools and project templates as my own ecosystem.
Libraries
All the libraries are optional and can be added by mix and match.
They are created in the hope to empower developers experience and cut development time.
1.
EndsMeet
I tried to extend the functionality of jServer with this library.
It adds global settings for API, SSL, CORS, Email, Static files and manage routing.
The server can read settings from a config.ini file without need to recompile the jar.
2.
WebApiUtils
This library provides a lot of useful functions that can help you to build a REST or Web API server.
It returns the cookies, basic authentication, token, api key from the headers.
It handles the server request and response data in the form of text, multipart data, XML and JSON formats with designated order.
3.
MiniORMUtils (B4X)
Web Application in real world usually involve communicating with the database.
Use this library to communicate with MySQL the same way with SQLite in your project.
4.
MinimaListUtils (B4X)
REST API server is not mandotory associate with SQL or database.
This library works without any database but provide the CRUD functionalities.
You only need to understand List and Maps.
5.
MiniHTML (B4X)
This library generates type safe HTML text that can be output as server response.
Use the familiar B4X syntax to edit the web page design.
6.
MiniCSS (B4X)
This library complements MiniHTML library as a CSS generator.
7.
MiniJS (B4X)
This library complements MiniHTML library as a JavaScript generator.
Other libraries:
1.
JsonWebToken
This library provides a stateless solution as an alternative to server session which is stateful.
It helps to verify user login using access tokens.
2.
Velocity
A java based template engine alternative to FreeMarker and Thymeleaf.
3.
jinjava
Another java based template engine library.
4.
ImageScaler
This library can be use to resize user uploaded images as thumbnail.
5.
ImageConverter
This library can convert JPG to PNG images.
6.
Slugify
This library can convert or replace a phrase with spaces into hypenated text. Useful for converting blog title for SEO purpose.
7.
Faker
This library can be use to generate fake data to seed dummy data to the database for web demo.
8.
Lettuce
A wrapper library for Redis client
9.
FCMTool (private)
This library is use for sending Firebase Cloud Messaging or notification to Android and iOS apps from a server.
10.
CapORM (private)
A more complete ORM library extended from MiniORMUtils that supports MS SQL Server, Firebird, PostgreSQL.
11.
EncryptionUtils (private)
A library that provide commonly use encryption and hashing functions.
12.
QRCode
Generate QRCode for server.