My history about B4X

Alejandro Moyano

Licensed User
Im Alejandro "Alejivo" con social media, i started programming on my 13 yo when i found an forgotten program called qbasic on the win32 folder of windows98, after it continue with Gambas on linux. After school i was studying to get a degree on system analysis for 3 years but i drop it and go for management, after finish it i studied to get a technical degree on computer systems where i got and (on VB) in the middle i had an clothes store for 6 years but drop it to make my own startup on development, but doesn't work and i had to work developing on PLSQL after a few months i drop all back to my parents home and start the development of a new startup.

What are you using B4X for?
To build the app front-end of a service to sell tickets with two friends who do the commercial stuff, the web is mainly made on wysiwygwebbuilder, would be a dream code on B4X the events there.

How did you discover B4X?
Looking an alternative to don't develop on JS and HTML, the options was XOJO, B4X, Genexus and Windev, i choose B4X because has the videocourses and i felt as home with the sintaxis, as milenial 1.0 we are focused on kick stuff, get bored fast and is rely hard to read long texts.. that was the reason because i only tested Genexus and B4X, they have video lessons. Genexus made slow apps and gave me painful compilation times plus haven't a good community as B4X

What were you using before B4X?
Before B4X i was using,Python, and Genexus

What have you learnt while developing with B4X?
Ho android handle the process, and the Wait for (i loved the idea instead promises or anything like that, it haves more sense)

What are your future plans with B4X?
I currently finishing the app to sell thickets, i may publish part of the code with the name FlaskRocket2 framework, and continue with the development plus start the development of another app i hope have many niche services based on apps to live developing on B4X.

What would be a great? A4W a merged version of wysiwygwebbuilder with B4X core to develop full front-end pages i currently using it with brython.

Plus a recommendation to @Erel change the logo and the marketing graphics, i think u may pay to a freelancer or specialist, pay to a community manager to handle the social media, you have a great product, just need more buzz made by specialist focused on non technical startups, managers, graphic desingers etc..i encourage to do a free videocourse of how to build yourstartup from Canvas to App on B4X.


Licensed User
@Alejandro Moyano Have you checked out my BANano library?

It is a library that Transpiles B4J code to Javascript. I did a quick test with the Trial version of WYSIWYG Web Builder and I had no problem using it with BANano for B4J.

What I did. I wrote this step by step, but most things will look familiar to you.

I'm sure I could expand BANano more to make this process easier, but I would need some input from you as you know the tool better:
1. Build a simple page in the WYSIWYG Web Builder
2. Saved it to HTML
3. For all the images, I replace the paths to "./assets/" in the html because this is where BANano gets its assets
4. Made a new B4J non-UI project
'Non-UI application (console / server application)
#Region Project Attributes
    #MergeLibraries: True
    #IgnoreWarnings: 16, 10, 14, 15   
#End Region

Sub Process_Globals
    Private BANano As BANano 'ignore
    ' dim some elements we will work with
    Private Button1 As BANanoElement
    Private Editbox1 As BANanoElement
End Sub

Sub AppStart (Args() As String)
    BANano.Initialize("BANano", "BANanoWYSIWYG",1)
End Sub

'Return true to allow the default exceptions handler to handle the uncaught exception.
Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
    Return True
End Sub

Sub BANano_Ready()
    ' get the body element
    Dim body As BANanoElement
    ' loading the body from the html file that the WYSIWYG Web Builder generated
    Dim init As BANanoFetchOptions
    init.Mode = "no-cors"
    Dim response As BANanoFetchResponse
    Dim Text As String
    ' fetch it with a promise
    Dim getHTML As BANanoFetch
    getHTML.Initialize("./assets/index.html", init)
        ' got the response, now get the content
        Return response.Text 'ignore
    getHTML.Then(Text) 'ignore
       ' got the content, extract the body part and add it to the body tag
        ' get the Button1 and the Editbox1 (id = case sensitive)
        '  add a click event to the button
        Button1.On("click", Me, "HandleButton1")
End Sub

public Sub HandleButton1(event As BANanoEvent)
    ' set the text value of the Editbox to something
    Editbox1.SetValue("Alain Bailleul")
End Sub

' helper method to extract the body part of the html
public Sub ExtractBodyPart(html As String) As String
    Dim bodyBegin As Int = html.IndexOf("<body>")
    html = html.SubString(bodyBegin + 6)
    Dim bodyEnd As Int =  html.IndexOf("</body>")
    html = html.SubString2(0,bodyEnd)   
    Return html
End Sub
5. copied all the assets to the B4J Files folder and synced (css files, images and the html file WYSIWYG Web Builder generated)

6. Run the project to Transpile the B4J code to Javascript
7. Started a Web Server in Chrome (the Fetch does need a real server as it does not allow CORS calls). I use this because it is very simple for development:
8. In the browser, went to and I got this:

When I click the button, Alain Bailleul was put in the Editbox.

Last edited:

Alejandro Moyano

Licensed User
Hey @alwaysbusy i will try it and give you the feedback!
WYSIWYG Web Builder is amazing to make kick responsive web layouts this page with animations fade, etc i did in 3 hours, i even started an small online-course of graphical design to make prettier stuff, the generated code is readable and clean, the builtin verification form can run functions of JavaScript and could run Brython code ( then would work with BANANO.