# 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, Android, the Web and Raspberry Pi. Xojo uses a proprietary object-oriented language.

## History

In 1996, 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 (although the integrated development environment was Mac only). 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 (IDE) 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 (Windows XP and higher), macOS (running on Intel or Apple silicon Macs using the Cocoa frameworks), x86 Linux, iOS, Android, 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.
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.
In 2020, Xojo introduced a new web framework, which is a ground-up re-write that adds modern-looking new controls, support for Bootstrap themes, two layout modes and more. The new web framework takes advantage of all that modern web browsers have to offer, providing a more robust foundation to build responsive web apps.
Xojo has ranked among the top 100 most popular programming languages as published by TIOBE, a company which rates the quality of software.

## Timeline
### 1990s

* In 1996, Geoff Perlman founds the company that is now Xojo in Austin, Texas.
* CrossBasic is acquired in 1997.
* In 1998, REALbasic 1.0 released and introduced at MacWorld Expo. This first release made it easy for anyone, not just developers, to create apps for the Mac System 7 running on a 680x0 or PowerPC processor.
* Windows support was added in 1999 with the release of REALbasic 2.0, making it a true cross-platform development tool.

### 2000s

* Support for Mac OS X is added to REALbasic in 2001.
* In 2002, the first Windows IDE of REALbasic is announced.
* In September 2005, REALbasic is updated to include support for building Linux apps. REALbasic now compiles for three desktop platforms from a single code base.
* Continuing to keep up with the rapidly changing needs of developers and hobbyists, Intel-based Mac support is added in 2006.

### 2010s

* Expanding beyond desktop platforms, support for building web applications is added in 2010.
* REALbasic becomes Xojo in 2013.
* Xojo Cloud, Xojo's one-click deployment service for Xojo web apps, is launched in early 2014.
* In December 2014, Xojo iOS, Xojo's first mobile platform, is released.
* After much interest from the community, Xojo Pi is released, letting users build applications for Raspberry Pi with Xojo in 2015.
* Support for macOS Mojave Dark Mode for the Xojo IDE and compiled apps was added in Xojo 2018 Release 3.
* In 2019, Xojo Pi licenses are for free for building both console and desktop apps.
* Xojo introduces new API in Xojo 2019 Release 2, which includes new classes and updated method and property names for better consistency across platforms.
* In December 2019, Xojo formed the MVP program to facilitate community communication and serve as an informal advisory committee.

### 2020s

* Xojo announced the 2020 Xojo Design Award winners during a video keynote on March 25, 2020.
* On July 15, 2020, Xojo released an update for Xojo to run on macOS Big Sur as well as Apple silicon.
* Xojo released their new web framework on August 26, 2020 for developing web apps with Xojo.
* Xojo shipped 2020 Release 2 on November 24, 2020 with support for building native applications for Apple silicon (M1), making it the first cross-platform development tool to do so.
* Xojo 2021 Release 1 added support for the Xojo IDE and XojoScript to run native on M1 Macs.
* Xojo shipped 2021 Release 3 on November 18, 2021 that brings back cross-compilation from Windows and Linux to macOS. This release also introduces Dark Mode support for Windows.
* On November 18, 2021, Xojo announces that their Android framework is in public pre-release testing.
* Xojo released support for building applications for Windows ARM with Xojo 2022 Release 2, available on July 25, 2022.
* At their Xojo Developer Conference in London, Xojo announced that their support for Android will be shipping in the next release of Xojo, 2023r2 and, as it is a new platform, it will be marked as beta.
* On August 9, 2023 Xojo shipped 2023 Release 2, which added the ability to build mobile applications for Android. It also added Dark Mode support for web applications and a DesktopXAMLContainer control to access modern looking Windows user interface controls.
* On March 26, 2024 Xojo shipped 2024 Release 1, which added the ability to build Linux desktop and console apps from Linux, macOS, or Windows, for free. Xojo 2024r1 also upgraded all Xojo Lite licenses to include the text project file format for better compatibility with version control systems, making it much easier to share and contribute to open-source projects.

## Editions of IDE

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, iOS and Android. Building applications for Linux Desktop and Console, including for Raspberry Pi, is free.
Licenses can be purchased a la carte, in any combination required and include 1 year of access to new releases. Xojo Pro, a bundle offered by Xojo, includes the ability to compile for Desktop, iOS, Android, Web and Console, along with technical support, access to consulting leads, and a license that will work on three machines. Xojo also has a Pro Plus license that includes everything in Xojo Pro, plus additional support benefits and can be installed on up to six devices (for a single user).
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.
* In July 2014, Xojo Cloud added the ability to transfer files to the server using a client other than the Xojo IDE.
* In March 2015, Xojo added MySQL and Postgres databases to Xojo Cloud. In addition, they also enabled the creation of SSH Tunnels for a direct connection to databases using a third party management tool.
* In 2018, Release 1, Xojo added server stats for Xojo Cloud.
* A new Xojo Cloud control panel was introduced in August 2020; it is built using the new Xojo web framework. Other recent updates to Xojo Cloud include the ability to point domains at individual 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:
This code populates a ListBox with the values from an array: