Jump to content

Draft:B4X

From Wikipedia, the free encyclopedia
  • Comment: None of the cited references are WP:SIRS. At least three must be. - UtherSRG (talk) 19:11, 5 June 2025 (UTC)

B4X
Developer(s)Anywhere Software | Erel Uziel
Operating systemMicrosoft Windows
Available inEnglish
TypeProgramming
LicenseApache License 2.0[1][2]
Websitehttps://www.b4x.com

B4X is a suite of rapid application development IDEs and proprietary programming language developed by Anywhere Software. It enables developers to create native cross-platform applications for Android, iOS, desktop (Windows, macOS, Linux), Arduino, ESP8266/ESP32, and Raspberry Pi using a syntax reminiscent of Visual Basic. Although B4X syntax is very similar to BASIC, it is an entirely new language.[3][4][5]

The B4X suite comprises four main products:

  • B4A (Basic4Android) for Android development
  • B4i for iOS development
  • B4J for desktop, server, and Raspberry Pi applications
  • B4R for Arduino and microcontroller programming

All tools, except B4i, are available for free and are designed to be accessible to beginners, hobbyists, and professional developers alike. Applications developed with B4X are compiled into native binaries without external dependencies, ensuring high performance and seamless integration with the target platforms.

For learning the language, there is a comprehensive set of eBooks called B4X Booklets available for free that act as a learning guide.[6] There is also a library of videos made by Erel available to consume.[7][8]

Language Characteristics

[edit]

The B4X language is imperative and event-driven, supporting both procedural and modular programming paradigms. While it incorporates object-oriented features such as class modules, it does not support inheritance or method overloading. This design choice simplifies the language, making it more approachable for developers transitioning from classic BASIC or Visual Basic environments.[9]

Development Environment

[edit]

B4A, B4i, and B4J include a visual designer that facilitates the creation of user interfaces through a drag-and-drop interface. B4R, targeting single-board platforms, does not include a visual designer due to the nature of its target SoC devices. The integrated development environments (IDEs) offer features such as code completion, syntax highlighting, and debugging tools to enhance developer productivity.[10]

Community and Adoption

[edit]

B4X has garnered a global user base, including educational institutions, hobbyists, and enterprises. Notably, organizations such as NASA, IBM, HP, Honda, Bosch, and Adobe have utilized B4X tools in various projects. The B4X community actively contributes to forums, libraries, and tutorials, fostering a collaborative environment for developers.

Recent Developments

[edit]

As of early 2025, B4X continues to evolve with ongoing updates. A significant upcoming feature is PyBridge, which aims to integrate Python scripting capabilities into B4J, expanding its versatility for desktop applications. This integration is anticipated to open new avenues for developers leveraging Python's extensive ecosystem within the B4X framework.[11][12]

B4A

[edit]

B4A (formerly known as Basic4android) is the second IDE produced by Anywhere Software. The first public version was released on December 7, 2010, and allows users to code native Android apps in B4X. B4A is able to create apps, widgets, and games. There is also a beginners guide that is updated after each new release of the IDE.[13] On February 5, 2020, B4A became free.[14]

B4J

[edit]

B4J is the third IDE produced by Anywhere Software. The first public version was released on December 4, 2013. B4J targets the following platforms: Desktops, Web Servers, and ARM Boards such as Raspberry Pi.

B4i

[edit]

B4i is the fourth IDE produced by Anywhere Software. B4i is capable of creating applications that target iPhone and iPad devices and there is a separate service which allows developers to compile and publish apps without the need for a local Mac computer. The first public version was released on November 14, 2014. There are no plans to make B4i free.[15]

B4R

[edit]

B4R is the fifth IDE produced by Anywhere Software. B4R allows programmers to write applications for Arduino boards. Supported Arduino modules include: ESP8266 and ESP32.[16]

Basic4PPC

[edit]

Basic4ppc (pronounced "Basic for PPC") was the first IDE produced by Anywhere Software. Basic4ppc allowed programmers to write applications for Pocket PC devices that ran the Windows Mobile operating system. Basic4PPC was released in 2005 and its final release was in December of 2018. Basic4PPC is no longer available for purchase.

Release history

[edit]
B4X Version Release History Table
B4X IDE Current Version Release Date Changelog
B4A 13.10 January 13, 2025 Link
B4i 8.90 May 15, 2025 Link
B4J 10.20 March 17, 2025 Link
B4R 4.00 September 5, 2023 Link

Code examples

[edit]

Comments

[edit]

Comments are usually used to point out what a particular piece of code does. Comments can also be used to describe whole methods. Compilers ignore comments so use comments for whatever you want!

'This is a comment

Displaying a random number in a message box.

[edit]

Declare a XUI variable in "Process_Globals","Globals", or "Class_Globals":

Private xui As XUI

Generate the random number and then display it in a message box:

Public Sub MyButton_Click
    Dim Random As Int = Rnd(1,10)
    xui.MsgboxAsync(Random, "Your random number")
End Sub

Displaying a random number in a message box (legacy method).

[edit]

The following code can be shared between B4A, B4i, and B4J with no changing:

Sub MyButton_Click
    Dim Random As Int = Rnd(1, 10)
    #If B4J
    fx.Msgbox(Form, Random, "Your Number")
    #Else
    MsgBox(Random, "Your Number")
    #End If
End Sub

References

[edit]
  1. ^ B4A github
  2. ^ B4J github
  3. ^ "Cross platform RAD development tools | B4X".
  4. ^ "IDE, Android Development Tool".
  5. ^ B4X in 3 minutes.
  6. ^ "[B4X] Documentation". www.b4x.com. 30 January 2018. Retrieved 2025-06-06.
  7. ^ "B4X Video Tutorials". www.b4x.com. Retrieved 2025-06-06.
  8. ^ "Tutorials on Vimeo".
  9. ^ "B4X Language".
  10. ^ Christl, Klaus; Uziel, Erel (2025). B4X IDE.
  11. ^ "The next step for B4X is PyBridge". 4 February 2025.
  12. ^ "Markdown2 python library integrated into B4J". 27 January 2025.
  13. ^ "Guides | B4X Getting Started".
  14. ^ "Other - It's time to grow". www.b4x.com. 22 January 2020. Retrieved 2025-06-06.
  15. ^ "Other - It's time to grow". www.b4x.com. 22 January 2020. Retrieved 2025-06-06.
  16. ^ "B4R for ESP32/ESP8266/ARDUINO". 4 April 2022.