REAL Studio
Encyclopedia
Real Studio is a programming environment developed and
commercially marketed by Real Software
, Inc of Austin, Texas
for Mac OS X
, Microsoft Windows
, 32-bit x86 Linux
and the
web
that uses an object-oriented dialect of the BASIC programming language known as Realbasic
.
. Originally it was 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). In 1997 CrossBasic was purchased by FYI Software and renamed Realbasic as well as renaming the company Real Software
. At this time they dropped the Java target, later replacing it with a Windows target and database support. The IDE
is available for Microsoft Windows
, Mac OS X
, and 32-bit x86 Linux
and can compile applications for Windows (Windows 2000 and higher), Mac OS X (PowerPC
, Intel, and Universal Binary
) and 32-bit x86 Linux.
In December 2010 Real Software began shipping Real Studio Web Edition, which offers developers a single development tool to compile web applications. The applications
created with Real Studio Web Edition are binaries and are much faster than PHP
.
The product was named Real Studio with 2010 Release 1. The programming language itself will continue to be named Realbasic
.
, class methods and class properties, automatic memory management via reference counting
, and operator overloading
. Real Studio also includes Delegation (programming)
, type introspection
, and namespace
support, which allows modules to contain classes, interfaces and other modules.
The built-in framework supports:
format which allows easy collaboration with tools such as Subversion or CVS
.
by dragging the controls from a toolbar to their parent window. Layout of the controls is helped by the IDE, which permits aligning them (both horizontally and vertically) and which gives information 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
and viewers for multimedia files such as pictures, movies or sounds.
The IDE gives the programmer access to scripting features via RBScript, which allows control of the IDE for automating tasks such as running regression tests
or doing nightly builds. The scripts can be either global or project-specific.
Realbasic supports incremental compilation
, whereby the compiler needs to recompile only those parts of a project which have been modified. For instance, if only the body of a method is modified, then only the project item containing that method need be recompiled.
commercially marketed by Real Software
REAL Software
Real Software, is a privately held, privately financed vendor of software development tools, based in Austin, Texas.-Products:Real Software's cross-platform development tool, Real Studio is available in four editions: Real Studio Personal Edition, for hobbyists and students, Real Studio...
, Inc of Austin, Texas
Austin, Texas
Austin is the capital city of the U.S. state of :Texas and the seat of Travis County. Located in Central Texas on the eastern edge of the American Southwest, it is the fourth-largest city in Texas and the 14th most populous city in the United States. It was the third-fastest-growing large city in...
for Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
, Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
, 32-bit x86 Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
and the
web
World Wide Web
The World Wide Web is a system of interlinked hypertext documents accessed via the Internet...
that uses an object-oriented dialect of the BASIC programming language known as Realbasic
REALbasic
Realbasic is the object-oriented dialect of the BASIC programming language used in Real Studio, a programming environment, developed and commercially marketed by Real Software, Inc of Austin, Texas for Mac OS X, Microsoft Windows, 32-bit x86 Linux and the web.- Language features :RB is a strongly...
.
History
Real Studio was previously named RealbasicREALbasic
Realbasic is the object-oriented dialect of the BASIC programming language used in Real Studio, a programming environment, developed and commercially marketed by Real Software, Inc of Austin, Texas for Mac OS X, Microsoft Windows, 32-bit x86 Linux and the web.- Language features :RB is a strongly...
. Originally it was called CrossBasic due to its ability to compile the same programming code for Mac OS and Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
(although the integrated development environment
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...
was Mac only). In 1997 CrossBasic was purchased by FYI Software and renamed Realbasic as well as renaming the company Real Software
REAL Software
Real Software, is a privately held, privately financed vendor of software development tools, based in Austin, Texas.-Products:Real Software's cross-platform development tool, Real Studio is available in four editions: Real Studio Personal Edition, for hobbyists and students, Real Studio...
. At this time they dropped the Java target, later replacing it with a Windows target and database support. The IDE
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...
is available for Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
, Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
, and 32-bit x86 Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
and can compile applications for Windows (Windows 2000 and higher), Mac OS X (PowerPC
PowerPC
PowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...
, Intel, and Universal Binary
Universal binary
A universal binary is, in Apple parlance, an executable file or application bundle that runs natively on either PowerPC or Intel-manufactured IA-32 or Intel 64-based Macintosh computers; it is an implementation of the concept more generally known as a fat binary.With the release of Mac OS X Snow...
) and 32-bit x86 Linux.
In December 2010 Real Software began shipping Real Studio Web Edition, which offers developers a single development tool to compile web applications. The applications
Application software
Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...
created with Real Studio Web Edition are binaries and are much faster than PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...
.
The product was named Real Studio with 2010 Release 1. The programming language itself will continue to be named Realbasic
REALbasic
Realbasic is the object-oriented dialect of the BASIC programming language used in Real Studio, a programming environment, developed and commercially marketed by Real Software, Inc of Austin, Texas for Mac OS X, Microsoft Windows, 32-bit x86 Linux and the web.- Language features :RB is a strongly...
.
Features
Real Studio is a strongly typed language with minimal automatic type conversion, which supports single inheritance and interfacesInterface (computer science)
In the field of computer science, an interface is a tool and concept that refers to a point of interaction between components, and is applicable at the level of both hardware and software...
, class methods and class properties, automatic memory management via reference counting
Reference counting
In computer science, reference counting is a technique of storing the number of references, pointers, or handles to a resource such as an object, block of memory, disk space or other resource...
, and operator overloading
Operator overloading
In object oriented computer programming, operator overloading—less commonly known as operator ad-hoc polymorphism—is a specific case of polymorphism, where different operators have different implementations depending on their arguments...
. Real Studio also includes Delegation (programming)
Delegation (programming)
In object-oriented programming, there are two related notions of delegation.* Most commonly, it refers to a programming language feature making use of the method lookup rules for dispatching so-called self-calls as defined by Lieberman in his 1986 paper "Using Prototypical Objects to Implement...
, type introspection
Type introspection
In computing, type introspection is a capability of some object-oriented programming languages to determine the type of an object at runtime. This is a notable capability of the Objective-C language, and is a common feature in any language that allows object classes to be manipulated as first-class...
, and namespace
Namespace
In general, a namespace is a container that provides context for the identifiers it holds, and allows the disambiguation of homonym identifiers residing in different namespaces....
support, which allows modules to contain classes, interfaces and other modules.
The built-in framework supports:
- dictionariesHash tableIn computer science, a hash table or hash map is a data structure that uses a hash function to map identifying values, known as keys , to their associated values . Thus, a hash table implements an associative array...
, - declarationDeclarationDeclaration may refer to:* Declaration , specifies the identifier, type, and other aspects of language elements* Declaration , when the captain of a cricket team declares its innings closed...
s to external libraries (dll, dylib) - Visual BasicVisual BasicVisual Basic is the third-generation event-driven programming language and integrated development environment from Microsoft for its COM programming model...
datatypes compatibility, - full UnicodeUnicodeUnicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...
support, - regular expressionRegular expressionIn computing, a regular expression provides a concise and flexible means for "matching" strings of text, such as particular characters, words, or patterns of characters. Abbreviations for "regular expression" include "regex" and "regexp"...
s, - application programming interfaceApplication programming interfaceAn application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
calls to compiled CC (programming language)C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
libraries on all supported platforms, - ActiveXActiveXActiveX is a framework for defining reusable software components in a programming language-independent way. Software applications can then be composed from one or more of these components in order to provide their functionality....
and basic OLEObject Linking and EmbeddingObject Linking and Embedding is a technology developed by Microsoft that allows embedding and linking to documents and other objects. For developers, it brought OLE Control eXtension , a way to develop and use custom user interface elements...
support (on Windows); COMComponent Object ModelComponent Object Model is a binary-interface standard for software componentry introduced by Microsoft in 1993. It is used to enable interprocess communication and dynamic object creation in a large range of programming languages...
objects are not fully supported, - Notification iconsTaskbarIn computing, a taskbar is a bar displayed on a full edge of a GUI desktop that is used to launch and monitor running applications. Microsoft incorporated a taskbar in Windows 95 and it has been a defining aspect of Microsoft Windows's graphical user interface ever since. Some desktop environments,...
(on Windows), - Windows registryWindows registryThe Windows Registry is a hierarchical database that stores configuration settings and options on Microsoft Windows operating systems. It contains settings for low-level operating system components as well as the applications running on the platform: the kernel, device drivers, services, SAM, user...
(on Windows), - cooperative threadsThread (computer science)In computer science, a thread of execution is the smallest unit of processing that can be scheduled by an operating system. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process...
, - scripting languageScripting languageA scripting language, script language, or extension language is a programming language that allows control of one or more applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the...
embedded in Realbasic programs through RBScriptRBScriptRBScript is a scripting language which is similar to, and shares many features with, REALbasic. They are both object oriented, support modules and use almost identical datatypes...
, - XMLXMLExtensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
parsing and generation, - console and serviceDaemon (computer software)In Unix and other multitasking computer operating systems, a daemon is a computer program that runs as a background process, rather than being under the direct control of an interactive user...
application support (Professional edition only) - Apple eventsApple eventsApple events are the canonical message-based interprocess communication mechanism in Mac OS, first appearing in System 7 and supported by every version since then, including Mac OS X. Apple events describe "high-level" events such as "open document" or "print file", whereas earlier OS's had...
(on Mac), - Address bookAddress BookAddress Book is an address book for Apple's Mac OS X. It features various syncing features and integrates into the rest of the OS.-Features:*Exports and imports cards to and from vCard 3.0 format....
(on Mac), - Keychain (on Mac),
- SpotlightSpotlight (software)Spotlight is a system-wide desktop search feature of Apple's Mac OS X operating system. Spotlight is a selection-based search system, which creates a virtual index of all items and files on the system. It is designed to allow the user to quickly locate a wide variety of items on the computer,...
(on Mac), - QuickTimeQuickTimeQuickTime is an extensible proprietary multimedia framework developed by Apple Inc., capable of handling various formats of digital video, picture, sound, panoramic images, and interactivity. The classic version of QuickTime is available for Windows XP and later, as well as Mac OS X Leopard and...
(on Mac and Windows), - sound,
- real-time 3D graphics3D computer graphics3D computer graphics are graphics that use a three-dimensional representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering 2D images...
, - serial communicationsSerial communicationsIn telecommunication and computer science, serial communication is the process of sending data one bit at a time, sequentially, over a communication channel or computer bus. This is in contrast to parallel communication, where several bits are sent as a whole, on a link with several parallel channels...
, - sockets (both TCP, UDP and IPCInter-process communicationIn computing, Inter-process communication is a set of methods for the exchange of data among multiple threads in one or more processes. Processes may be running on one or more computers connected by a network. IPC methods are divided into methods for message passing, synchronization, shared...
), - SSLTransport Layer SecurityTransport Layer Security and its predecessor, Secure Sockets Layer , are cryptographic protocols that provide communication security over the Internet...
(Professional edition only), - HTTP, POP3Post Office ProtocolIn computing, the Post Office Protocol is an application-layer Internet standard protocol used by local e-mail clients to retrieve e-mail from a remote server over a TCP/IP connection. POP and IMAP are the two most prevalent Internet standard protocols for e-mail retrieval. Virtually all modern...
, SMTPSimple Mail Transfer ProtocolSimple Mail Transfer Protocol is an Internet standard for electronic mail transmission across Internet Protocol networks. SMTP was first defined by RFC 821 , and last updated by RFC 5321 which includes the extended SMTP additions, and is the protocol in widespread use today...
and SOAPSOAPSOAP, originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web Services in computer networks...
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 controlRevision control
Revision control, also known as version control and source control , is the management of changes to documents, programs, and other information stored as computer files. It is most commonly used in software development, where a team of people may change the same files...
format which allows easy collaboration with tools such as Subversion or CVS
Concurrent Versions System
The Concurrent Versions System , also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. Version control system software keeps track of all work and all changes in a set of files, and allows several developers ...
.
Current editions of IDE
There are three versions of the IDE:- The enterprise edition has all features of the Professional edition plus other features for full-time programmers.
- The professional edition can compile programs for Mac OS X (PowerPC Carbon Mach-OMach-OMach-O, short for Mach object file format, is a file format for executables, object code, shared libraries, dynamically-loaded code, and core dumps. A replacement for the a.out format, Mach-O offered more extensibility and faster access to information in the symbol table.Mach-O was once used by...
, i386 Carbon Mach-O and Universal Binary), Linux and Windows from the same source codeSource codeIn computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...
file; it can also access databaseDatabaseA database is an organized collection of data for one or more purposes, usually in digital form. The data are typically organized to model relevant aspects of reality , in a way that supports processes requiring this information...
s (REAL ServerREAL ServerREAL Server is a relational database management system built on top of the sqlite database engine.-History:REAL Server evolved from the SQLiteServer originally developed by SQLabs in 2004. In May 2005 REAL Software, Inc., creator of REALbasic, purchased the source code and the copyrights of the...
, MySQLMySQLMySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...
, OracleOracle databaseThe Oracle Database is an object-relational database management system produced and marketed by Oracle Corporation....
, PostgreSQLPostgreSQLPostgreSQL, often simply Postgres, is an object-relational database management system available for many platforms including Linux, FreeBSD, Solaris, MS Windows and Mac OS X. It is released under the PostgreSQL License, which is an MIT-style license, and is thus free and open source software...
, ODBC, etc.) including the built-in single-user RealSQL Database engine based on SQLiteSQLiteSQLite is an ACID-compliant embedded relational database management system contained in a relatively small C programming library. The source code for SQLite is in the public domain and implements most of the SQL standard...
; it compiles console applications, has a code profiler, can remote debug and has numerous other features. - The personal 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 RealSQL Database.
IDE features
Both versions of the IDE permit building the application's graphical user interfaceGraphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
by dragging the controls from a toolbar to their parent window. Layout of the controls is helped by the IDE, which permits aligning them (both horizontally and vertically) and which gives information about the distance between controls or between a control and the window borders.
Like many modern IDEs, the code editor supports customizable syntax highlighting
Syntax highlighting
Syntax highlighting is a feature of some text editors that display text—especially source code—in different colors and fonts according to the category of terms. This feature eases writing in a structured language such as a programming language or a markup language as both structures and...
, autocompletion
Autocomplete
Autocomplete is a feature provided by many web browsers, e-mail programs, search engine interfaces, source code editors, database query tools, word processors, and command line interpreters. Autocomplete involves the program predicting a word or phrase that the user wants to type in without the...
and refactoring
Refactoring
Code refactoring is "disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior", undertaken in order to improve some of the nonfunctional attributes of the software....
tools. The IDE also includes editors for menus
Menu (computing)
In computing and telecommunications, a menu is a list of commands presented to an operator by a computer or communications system. A menu is used in contrast to a command-line interface, where instructions to the computer are given in the form of commands .Choices given from a menu may be selected...
and database schema
Logical schema
A Logical Schema is a data model of a specific problem domain expressed in terms of a particular data management technology. Without being specific to a particular database management product, it is in terms of either relational tables and columns, object-oriented classes, or XML tags...
and viewers for multimedia files such as pictures, movies or sounds.
The IDE gives the programmer access to scripting features via RBScript, which allows control of the IDE for automating tasks such as running regression tests
Regression testing
Regression testing is any type of software testing that seeks to uncover new errors, or regressions, in existing functionality after changes have been made to a system, such as functional enhancements, patches or configuration changes....
or doing nightly builds. The scripts can be either global or project-specific.
Realbasic supports incremental compilation
Incremental compiler
The term incremental compiler may refer to two different types of compiler.-Imperative programming:In imperative programming and software development, an incremental compiler is one that when invoked, takes only the changes of a known set of source files and updates any corresponding output files ...
, whereby the compiler needs to recompile only those parts of a project which have been modified. For instance, if only the body of a method is modified, then only the project item containing that method need be recompiled.
External links
- Real Software, Inc., makers of Real Studio
- forums, Official Real Studio discussion forums
- Real Software Twitter, Official Real Software Twitter
- Real Software Blog, Official Real Software Blog
- Real Studio Documentation, Real Studio Product Documentation
- Really Basic REALbasic, introducing programming and Real Studio to beginners
- Real Studio Developer Magazine, a bi-monthly magazine about Real Studio development
- RBLibrary, a commercial resource of third party articles and tutorials
- REALDev, a wiki-powered developer community and code repository
- RBDevZone, a community for professional Real Studio developers
- Realbasic Wiki, independent effort to extend Real Studio documentation