Wish B4J/B4A/B4i cli - Program from everywhere


Well-Known Member
Licensed User
Longtime User
Before some time I have mentioned that @Erel should move the development of the IDEs in the B4X universe (and specifically B4J). I had another idea today fiddling with docker. @Erel could create a .NET core or later cli app and obviously obfuscate it (lots of obfuscation programs for .NET). This app as .NET core or later would be cross platform so it would be easily added in a linux docker container. In the container we could add a B4J webapp that would expose a web port and connect also to the cli giving commands to it. This web app would take advantage of CodeMirror web add-on (link follows - already a member of the B4X forum has taken advantage of it in a B4J desktop app - I do not remember who). We can also expose a VOLUME in the container of Docker and map it to an external folder of the host machine for persistance of saving the code (see my tutorial for Docker in B4J tutorials in my signature). With the VOLUME command we can also expose the cli program and mount it to an external version of the cli which we can easily change just by replacing it f.e. for upgrades/bug fixes. This cli app would compile the code created from web in codemirror and upload it to the B4X Bridge for B4J/B4A/B4i. The B4X bridge would have to be modified to select between the standard mode and the web mode. In web mode the B4X Bridge would connect from the DDNS address (noip.com or something) to our home/office and we as programmers can easily port forward the proper ports to the SBC or computer that supports the container. Then we can program from everywhere even the train or bus from our chrome in the mobile phone or tablet and install the app in our phones while we can also do it on remote computers installing only a version of the new B4J bridge there which could also run in a USB since it is a B4J app and can easily be built in an executable in just a folder. For B4J webapps also the www folder from objects would have to be zipped and uploaded to B4J bridge which would take care of unzipping it and creating the logs folder. The .NET core app cli can also be used in the shifting to B4J desktop IDE (which would also use codemirror) with a simple shell command or again connect with asyncstreams. An other plus is that with the use of .NET core or later cli app and the B4J app we have cross platform B4X IDEs. That is B4X IDEs in Windows, Linux, Mac and the web all in one development. The cli must also send to each IDE Windows/Linux/Mac/Web with asyncstreams the logs acquired by the Bridge and sent to it.

Java and android tools are easily installable also in Linux and mac...
while java download is mentioned in B4JPackager thread

Last edited: