My Web Development Overview

My Web Development Overview
 
Last edited:

aeric

Expert
Licensed User
Longtime User
B4X is a great tool for developing Web Applications and Backend.

From time, I have developed a lot of libraries, tools and project templates for these purposes.
It is not easy to cover all of them in this post.
You can also read my previous comments here:
https://www.b4x.com/android/forum/threads/aeric-minimalist-and-other.168706/#post-1034274

It started from my idea to create a web development 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.

Basically, you can develop a server by just using jServer.
Video: Create a Hello World Server with B4J
Learn how to build a HTML Web Server.

B4J Server is actually very powerful for more complex use cases.
For instance, jRDC2 server can be use as a middleware for B4X client apps to communicate with the database backend.
We can also build REST API server that provide web services through JSON or XML which also let frontends consume the API.
We can also build print server that send ESC/POS commands to the thermal receipt printer.

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.
This library encapsulates SQL commands to more simpler methods.
You can start your project with SQLite and use MySQL in production without need to rewrite your SQL.

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 escape a phrase into hypenated text such as 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.
 
Last edited:

aeric

Expert
Licensed User
Longtime User

Tools


1. libget

2. resget

3. manifest writer

4. MiniHtml Code Generator

5. Simple HTML Editor
 
Last edited:

aeric

Expert
Licensed User
Longtime User

Project Templates


1. Mini Server

2. Inti Server

3. MinimaList Server

4. Web API Server

5. User Login Server

6. jRDC2 Server

7. jRDC2 Server with login session

8. CRUD REST API Server

9. EndsMeet Server

10. Pakai Server
 
Last edited:
Top