Ade Malsasa Akbar contact
Senior author, Open Source enthusiast.
Friday, January 28, 2022 at 22:44

This is a list of free/libre open source software (FLOSS) alternatives to Visual Basic (part of Microsoft Visual Studio) computer programming platform. If your school is still teaching VB 6, or if you now use Ubuntu for programming classroom, we strongly suggest you to switch to either one of these alternatives. With these, one can create computer programs visually by drag and drop as well as coding just like what one can do with VB. 

Subscribe to UbuntuBuzz Telegram Channel to get article updates.


About Visual Basic

Visual Basic is the full software development kit, BASIC is the programming language, VB 6 is a particular version of the platform, and Visual Studio is the IDE as well as GUI designer.

Visual Basic is a fully proprietary software programming platform, that means, the language, the IDE, the resulting programs, and the OS where it can run, are all proprietary. This makes programs created with VB proprietary and can not run except on Windows. 


1. Qt

Qt is the full software development kit, C++ is the language, and Creator is the IDE as well as GUI builder included. This platform includes a complete set of code examples suitable for first learners. With Qt, one can create graphical desktop applications for GNU/Linux, Windows and macOS. Best examples of computer software created with Qt are among others Kubuntu, KDE, Telegram and VirtualBox.  We recommend Qt as the number one for everyone who want to fully switch from VB.

- Qt Setup Guide on Ubuntu

 (Qt Creator showing its code on left while form designer on right)


2. GTK

GTK platform is the full software development kit, C is the language, Glade is the GUI designer,  and Anjuta is the IDE. Best examples of computer software created with GTK are Ubuntu and elementary (OS), GNOME, Gimp and Inkscape. Programs created with GTK can run on GNU, Windows and MacOS.

- GTK Setup Guide on Ubuntu

(Anjuta source code editor on left, form designer on left, and the running program on the middle with Ubuntu logo visible both on top and left side of screen)

3. Gambas 

Gambas is a name of the platform, BASIC is the language, Gambas is also the IDE and the GUI designer of Gambas programming platform. It is the one created as a complete replacement to Microsoft Visual Basic for GNU/Linux. Programs created with Gambas can run mainly on GNU/Linux. 

- Gambas Setup Guide

(Gambas 3 window with its form designer and a running program)


4. Lazarus

Lazarus is the name of the IDE and the GUI designer, Pascal is the language, and Free Pascal is the compiler. Lazarus is often viewed as a replacement to Delphi, a visual language other than VB on Windows, however it is very capable to replace VB as well. Programs created with Lazarus can run on GNU, Windows and MacOS. 

- Lazarus Setup Guide

(Lazarus with its code editor and form designer and running programm all displayed)

5. Java

Java is the programming language as well as name of the platform, with Eclipse and Netbeans as the most powerful IDEs with GUI designer. Java's slogan is Write once, run anywhere, thus programs created with Java can run on Windows, GNU and MacOS. However, Netbeans includes designer by default while Eclipse needs additional plugin called WindowBuilder to be installed first.

(Netbeans with its Java source code listed (right), form designer showing (center), and buttons palette (right))


6. MonoDevelop 

Mono is programming platform, C# is the language, and MonoDevelop is the IDE as well as GUI designer. More precisely, Mono is the free software version of .NET Framework. This programming platform can produce applications for Windows, GNU and MacOS.

  (MonoDevelop with its form builder at center, buttons palette at right, and detachable code editor)


 7. wxWidgets

wxWidgets is one of popular GUI toolkits, CPP is the language, with CodeBlocks as the IDE that includes GUI designer. This designer is a plugin called wxSmith that is licensed under GNU GPL and is available on Ubuntu repository too. As a whole (CodeBlocks + Cpp language + wxWidgets library + wxSmith), this is well documented and very good for graphical apps development.

(CodeBlocks with its form editor at center, largest area, buttons palette to bottom, and the running program with Ubuntu logo visible both at top and left side of screen)

Worth Mentioning

List of other highly potential alternatives and deployment tools is mentioned below. 

FreeBASIC

FreeBASIC to BASIC language is similar to Free Pascal to Pascal language, that is, a free software compiler for its own language. The difference to Gambas is that, FreeBASIC is non-visual, but it is crossplatform. It can run on, and create programs for, Windows, GNU/Linux and DOS, for both 32-bit and 64-bit architectures. To program with FreeBasic, one can use Geany as the IDE. FreeBASIC is blessed with very good documentations, being actively developed since 2004 and having a vibrant community.

AppImageKit

AppImage is the technology for software developers so you can package your software for GNU/Linux and your users can run your application by click on their computers. Software packaged as AppImages are like portable apps on Windows that is not installer, no installation required.


Glossary

  • Language: the programming language one write code with.
  • Compiler: a special program to translate a written code in a language to machine code. C, C++, C# are languages that require compilers.
  • Interpreter: similar to compiler, but doing the translation in a very different approach instead. BASIC, Python are languages that require interpreters. 
  • Runtime: a special program required to run on target operating systems to run another program.
  • IDE: integrated development environment, the whole window of the programming application where one writes code and do everything related.
  • GUI builder: graphical user interface builder (also called 'form editor', ), the part of IDE where one does drag and drop to build a window of his/her program. 
  • GUI toolkit: a special kind of software libraries that is used by programmers to develop graphical programs with windows, buttons, mouse interactions, etc. Qt, GTK and wxWidgets are examples of toolkits. 

 

Happy hacking!



This article is licensed under CC BY-SA 3.0.