REALbasic (RB) is an object-oriented dialect of the BASIC programming language developed and commercially marketed by REAL Software, Inc in Austin, Texas for Mac OS X, Microsoft Windows, and Linux.
History
REALbasic was created by Andrew Barry. It was originally called CrossBasic due to its ability to compile the same programming code for Mac OS and Java (although the
integrated development environment was Mac only). It was then redubbed REALbasic by REAL Software when they took over development in
1997 and dropped the Java target. The IDE is now available for
Microsoft Windows,
Mac OS X and
Linux and can compile applications for Windows (Windows 98 and higher), Macintosh (Classic and OS X) and
x86 Linux.
Language features
RB is a strongly-typed language with minimal automatic type conversion, which supports
single inheritance and
interfaces,
class methods and class properties,
reference counting, and
operator overloading. A very important feature is the ability to
extend (not just
inherit from) existing classes, like
Objective-C Categories. This considerably reduces the need for the
Abstract Factory Pattern, which complicates using Application Frameworks in
Java and
C++.
Framework features
As described in the language reference, its built-in framework supports (REAL Software 2006):
- dictionaries,
- Visual Basic datatypes compatibility,
- full Unicode support,
- regular expressions,
- application programming interface calls to compiled C libraries on all supported platforms,
- ActiveX and OLE (on Windows),
- system tray icons (on Windows),
- Windows registry (on Windows),
- cooperative threads,
- scripting language embedded in REALbasic programs through RBScript,
- XML parsing and generation,
- console and service application support (Professional edition only)
- Apple events (on Mac),
- Address book (on Mac),
- QuickTime (on Mac and Windows),
- sound,
- real-time 3D graphics,
- serial communications,
- sockets (both TCP and UDP),
- SSL (Professional edition only),
- HTTP, POP3, SMTP and SOAP
You can also extend the framework functionality by creating plugins using the Plugin SDK provided by REAL Software. Plugins are created using C/C++ with a variety of supported compilers, including Metrowerks Code Warrior, Microsoft Visual Studio, gcc and XCode. Plugins can support any platform REALbasic supports, but are not required to support all platforms.
File Format
The source file format contains window and control placement data and is proprietary, although XML import and export are supported. All source code can be contained in one project file, but it is also possible to have classes/modules in separate files in the same way as most other languages or dialects can. REALbasic compiles directly to
machine language for each platform that it supports. REALbasic 2006 Release 3 and newer also supports a human-readable
version control format which allows easy collaboration with tools such as
Subversion or
CVS.
Current Editions of IDE
There are two versions of the IDE:
- The professional edition can compile programs for Mac OS X, Mac Classic, Linux and Windows from the same source code file; it can also access databases (Oracle, PostgreSQL, MySQL etc.) including the built-in single-user REAL SQL Database engine based on SQLite; it compiles console applications, can remote debug and has numerous other features.
- The standard edition only compiles programs for the platform that the IDE is running on (either Windows, Linux or Mac), and does not allow access to databases other than the built-in REAL SQL Database.
IDE Features
Both versions of the IDE permit building the application's
graphical user interface by dragging the controls from a toolbar to their parent window. Layout of the controls is helped by the IDE that permits aligning them (both horizontally and vertically), and which gives informations about the distance between controls, or between a control and the window borders.
Like many modern IDEs, the code editor supports customizable syntax highlighting, autocompletion and refactoring tools. The IDE also includes editors for menus and database schema as well as viewers for multimedia files such as pictures, movies or sounds.
With REALbasic 2006 Release 1 and higher, the IDE gives you access to scripting features via RBScript. This allows you to control the IDE for doing automated tasks such as running regression tests or doing nightly builds. The scripts can either be global or project-specific.
Example code
This is an example of operator overloading for a hypothetical Complex class which permits to sum a
real to a
complex number, and to sum two complex numbers:
Function Operator_Add(rhs as Single) As Complex
Dim ret As New Complex
ret.R = Self.R + rhs
ret.I = Self.I
Return ret
End Function
Function Operator_Add(rhs as Complex) As Complex
Dim ret As New Complex
ret.R = Self.R + rhs.R
ret.I = Self.I + rhs.I
Return ret
End Function
The same function can be defined to accept Double datatype values.
This code shows how to use the Complex class to sum a real with a complex number:
Dim First As New Complex(0, 1)
Dim Second As New Complex(1, 1)
Dim Sum As Complex
Sum = First + 5.0 + Second
// Sum will be (6, 2)
References
External links
See also
Integrated development environments | Programming languages | Object-oriented programming languages | BASIC programming language family
REALbasic | REALbasic | REALbasic | REALbasic | REALbasic