Xojo


The Xojo programming environment and programming language is developed and commercially marketed by Xojo, Inc. of Austin, Texas for software development targeting macOS, Microsoft Windows, Linux, iOS, the Web and Raspberry Pi. Xojo uses a proprietary object-oriented language.

History

In 1997 FYI Software, founded by Geoff Perlman, bought CrossBasic, which had been marketed by its author Andrew Barry as a shareware product. CrossBasic got its name from its ability to compile the same programming code for the classic Mac OS and the Java virtual machine. A public beta was released in April 1996. The CrossBasic name was trademarked by another company, so the product was renamed REALbasic.
Prior to version 2, the Java target was dropped and later replaced with a Windows target and database support. The option to compile for Linux was added in 2005 and the integrated development environment was ported to Windows and as a free public beta for Linux platforms. The new IDE employed a redesigned user interface.
In 2004 REAL software announced the "Made with REALbasic Showcase" program to highlight applications created with the product. In 2009, a migration assistant was launched to help move code from Visual Basic. In 2010, to combat the perception that it was similar to the original BASIC, it was renamed Real Studio.
The company announced Real Studio Web Edition, allowing developers to compile web applications without the knowledge of multiple web technologies.
On June 4, 2013 the company officially changed their name to Xojo, Inc. and Real Studio was renamed Xojo. Also on this date they released Xojo 2013 Release 1 which included an all-new user interface, full support for Cocoa on OS X, improved support for web applications, all new documentation and a new Introduction to Programming Using Xojo textbook that was designed for beginners to learn the fundamentals of object oriented programming. Xojo, Inc. calls it "the spiritual successor to Visual BASIC".
The Xojo IDE is currently available for Microsoft Windows, macOS, 32-bit x86 Linux, and can compile 32-bit and 64-bit applications for Windows, macOS, x86 Linux, iOS, the web, and Raspberry Pi. Xojo is self-hosted: the Xojo IDE is built with the current release of Xojo. The 2015r3 release includes 64-bit support for Desktop, Web and Console targets as well as a new platform, Raspberry Pi.
In 2016 Xojo was awarded the Big Innovation Award from the Business Intelligence Group for being an "innovative" development tool that has "brought new ideas to life".
Xojo added many new features in 2018 and 2019, including support for macOS and iOS light/dark modes, a GraphicsPath for drawing Bézier curves, and a new DateTime class.
Xojo has been listed several times among the top 150 programming languages as published by TIOBE, a company which rates the quality of software.

Timeline

1990s

The Xojo IDE is free to use for learning and development. Compiling or deploying applications with Xojo requires a license. Multiple license levels are available for purchase, enabling Desktop, Web and iOS. Xojo Pi for building applications for Raspberry Pi is free. Licenses can be purchased a la carte, in any combination required. Also available is Xojo Pro, a bundle that includes added support, guaranteed beta program access, access to a Xojo professionals' forum, 3x Feedback multiplier when ranking support cases, access to consulting leads, and a license that will work on three machines. The default database used with Xojo is sqlite.
Unlike most programming environments, project source code is not stored in plain text files by default, but in a proprietary, single-file format. However, source code can be saved to a plain-text format for use with version control systems and can be exported to XML format as well.

Xojo Cloud

On March 11, 2014 Xojo launched Xojo Cloud, their cloud hosting service for Xojo web applications.

Example code

The Xojo programming language looks similar to Visual Basic.
The following code snippet placed in the Open event of a Window displays a message box saying "Hello, World!" as the window loads:

// Display a simple message box that says "Hello, World!"
MessageBox

This code populates a ListBox with the values from an array:

Var names As String = Array
For i As Integer = 0 To names.LastRowIndex
ListBox1.AddRow
Next