B4J Question Web server app backend + client options? New to B4X and Java. Overwhelmed by choices.

CBruce

New Member
I would like to code a web server application that supports multiple users, utilizes input forms, generates reports, uploads and downloads large files, and a lot of other various standard business functionality. Some of the functionality would be available to a browser client and some would require a standalone client. I've never coded in Java. I have a lot of experience in other programming languages and platforms. I just discovered B4X and I've been reading the docs and forums for several days now.

I am incredibly impressed by what it appears can be accomplished using B4X and leveraging the Java code chain.

I am simply overwhelmed by all of the B4X options, solutions, third-party addons with their own choices - and all of their various interleaved timelines.

I believe Anywhere has a newer embedded Jetty server that is its latest option for a back end? Mashiane appears to have his own embedded Jetty server (BANano?), but it looks like he doesn't actually use it in his own projects (preferring Laragon?).

Saif has projects for sale that look like they might be great tools to help teach myself what I need for creating a business app, but I don't know what pieces he has put together to accomplish his magic - so I'm not sure if that is a direction I want to research or not.

I don't know which components from different sources are comparable in their functionality.

I'm not looking for "How to build a web app?"

I'm looking for "What pieces are best for building a business web app in B4X today - and why?".

I understand that is a large question and I appreciate any feedback I receive.

Thanks, CBruce
 

EnriqueGonzalez

Well-Known Member
Licensed User
Longtime User
What pieces are best for building a business web app in B4X today
hi!
Start Here:
Jserver is a wrapup of Jetty, you dont have to know jetty at all.

Then:
hikari has greater performance than c3p0 (the official library), in reality it is possible that for a couple hundred of users the increase in performance is negible.

if you like html then thats all you need. if you dont like html then go with ABMaterial for Server Side Rendering or Banano front end rendering.
Abmaterial is based on MAterialize.css and Banano is based on, i dont know, but Mashiane has done a great deal with Vue. of course here is just your personal preference.

Saif work is good, he mainly uses Bootstrap templates.

so... may be its better if you have some more specific questions.
 
Upvote 0

MichalK73

Well-Known Member
Licensed User
Longtime User
Welcome aboard the B4X.

Mashiane does not have its own Jetty server. BANano is a B4J library that generates HTML with JS, CSS. Mashiane uses BANano to use VUE.js in it to build a WebApp and does a great job with it. BANano code like webapp VUE.js need server, can be Apache, Nginx etc.
Laragon is a simple HTTP server on Windows that is used to view code creation locally. As I mentioned the code later you can use on various other servers.
The second option is ABMaterial. ABMaterial and BANano created @alwaysbusy
Here's his post about the differences between these platforms.
https://www.b4x.com/android/forum/t...with-abstract-designer-support.99740/#content
ABMaterial is distinguished by the fact that you have a set of ready-made components and you can build your web application from it. It has a built-in Jetty server and to run it, it is enough to install JAVA on the server / locally. In ABMaterial, everything is done on the server and communication is based on websoccket. Additionally, ABMaterial, you can create your own components or add other written in BANano.
You have built-in connection to all databases in ABMaterial, in BANano you must have a REST API server, which you can also write to B4X.

I don't know what type of business applications you want to write. I think you need to start with this and think about what you want to achieve. What does multi-user support mean for you?

Once upon a time, I created the ABMaterial webapp, which served 2.5 thousand users non-stop and operated on a weak server for over 2 years without any problems.
 
Upvote 0

aeric

Expert
Licensed User
Longtime User
You may also want to check my Web API template. Even though it is not intended for building a website or web app, it is possible to modify it and add more features. The template demonstrate what the jServer and other B4J libraries capable to process the business logic as a backend. For the frontend, you can add whatever framework you like. There is a sample search form at the bottom that is using jQuery and the UI is build using Bootstrap CSS.

Note: This is a very new project and may not ready for production use due to lacking of some features but I think it is good enough for learning.

 
Upvote 0
Top