Developers
July 30, 2020

Xojo Cross-Platform Development: Should You Use It?

Xojo is a cross-platform development environment that offers significant pros, as well as some major cons.

In the modern world of software development, cross-platform is king. Gone are the days when platform vendors engaged in turf wars, refusing to provide compatibility with competitors just to retain customers.

Numerous factors have led to the shift toward cross-platform development. Cloud computing has been one of the biggest. Rather than a focus on an individual platform or operating system (OS), cloud computing shifted the focus to data, applications and services.

Similarly, the rise of mobile computing and Bring Your Own Device (BYOD) trends helped emphasize the importance of cross-platform development. Suddenly it was no longer a two-horse race between macOS and Windows, or even a three-horse race once Linux joined the fray. Instead, many individuals were using mobile phones and tablets as their primary devices. Still others, while having a desktop or laptop, needed to be able to move their work from workstation to phone to tablet to home computer.

For vendors to take advantage of these trends, cross-platform development suddenly became more important than ever. Even Microsoft, once staunchly protective of their Windows OS, recognized this trend and shifted their focus to providing their services and software on any and all available platforms.

Xojo: Cross-Platform Development Before It Was Cool

While not one of the more popular development options on the market, Xojo has a long-standing history as a cross-platform development tool.

Originally called CrossBasic, the development environment was acquired by its current owner in 1997. While it originally targeted the Mac and Java Virtual Machine (JVM), JVM support was dropped in favor of Windows. Shortly after the change of hands, the name was also changed to REALbasic (RB).

As the name indicates, the development environment used a flavor of BASIC, similar to Microsoft Visual Basic (VB). In fact, early versions were so similar that tools existed to port code from VB to RB, making it a popular option for developers that did not want to move to Visual Basic.NET. Unlike VB, which created apps that had a number of Microsoft dependencies, RB was able to create fully standalone apps that could run on both macOS and Windows.

In time RB received another name change to Xojo in an effort to distance itself from its BASIC roots. At the same time, as platforms evolved and gained in importance, Xojo has continued to expand its support for many of them.

Xojo Pros

As a language that has focused on cross-platform development for over two decades, Xojo has a number of advantages.

Platform Support

At the time of writing, Xojo can target macOS, Windows, Linux, iOS, iPadOS, Raspberry Pi and web-based applications, all from a common codebase. In addition, Android support is in the works.

One of Xojo’s selling points, when it comes to web applications, is its security. Since Xojo compiles web applications as binaries, the source code is not stored on the server. This can provide an added layer of security over traditional options.

Object-Oriented

Xojo is a true object-oriented programming (OOP) language, with classes, methods, inheritance and everything one would expect from a modern OOP language.

Easy to Learn

Although the current name is designed to take focus away from its BASIC roots, the Xojo language is BASIC-esque. That means it is one of the easiest programming languages to learn.

Drag-and-Drop Design

Xojo has a drag-and-drop interface for designing the visual aspects of an application. Windows, buttons, dropdown menus, web browser elements, checklists and more can all be used to design the application’s interface.

Extensibility

Xojo supports extending the platform’s functionality. Classes can be extended, new classes created and third-party code can be integrated to improve function.

Active Community

Because Xojo has been filling a niche since the late ‘90s, it has a vibrant user base and developer community. This can be a big factor in helping new developers learn the language and get up-and-running.

Xojo Cons

Despite its many advantages, Xojo does have a few disadvantages. Ironically, some of these cons are directly related to the platform’s pros.

Price

One big disadvantage is Xojo’s price. While it’s free to use for learning and development, a paid plan is required to compile and distribute an app. Licenses are good for a 12-month period. Even after a license expires, developers can use and compile software with their license indefinitely, but they will not be able to upgrade to newer versions without renewing their license. This can be frustrating for a developer waiting on a new feature or bug fix, only to see it deployed in the version immediately after their upgrade license expires.

Cross-Platform Support

Xojo’s greatest strength is also one of its biggest weaknesses. Because it’s a cross-platform solution, like many other similar options, it can lag behind OS vendors when they roll out new features.

The Devil’s In The Details

While it’s extensibility is a pro, it can also be a con when some basic features don’t work as expected and require extending to provide basic functionality. For example, Xojo includes email sockets to demonstrate the platform can be used to add email functionality to an app, or even be used to create an email client.

Anyone who has used the platform, however, will attest that developers are often better writing their own email sockets due to the limited functionality of the built-in ones.

The same is true with the web browser control. While it provides basic fictionality, it often has so many bugs and issues that it can be difficult to achieve the desired level of usability.

These are cases of Xojo sometimes focusing on the big picture more than the day-to-day details. The result is a platform that can sometimes feel ‘half-baked.’

Xojo: Is It Worth Using?

Without a doubt, Xojo is a successful cross-platform development tool that has persisted for decades because it does what it aims to reasonably well. As a result, the platform won a 2016 BIG Innovation Award, and is used by Google, NASA, AT&T, CNN, Cisco, Intel, Xerox, Dell, Adobe and others.

Developers looking for an easy-to-learn programming language and development environment that targets most of the major platforms should definitely give it a try. At the same time, until Android support is implemented, Xojo is a no-go for Android developers.

Developers who fit Xojo’s target audience may still have to do more to extend the platform than they would like. Even so, since it’s free to try, developers looking for a solid cross-platform option would do well to give it a spin.

TagsCross-Platform DevelopmentXojoDevelopers
Matt Milano
Technical Writer
Matt is a tech journalist and writer with a background in web and software development.

Related Articles

Back
DevelopersJuly 30, 2020
Xojo Cross-Platform Development: Should You Use It?
Xojo is a cross-platform development environment that offers significant pros, as well as some major cons.

In the modern world of software development, cross-platform is king. Gone are the days when platform vendors engaged in turf wars, refusing to provide compatibility with competitors just to retain customers.

Numerous factors have led to the shift toward cross-platform development. Cloud computing has been one of the biggest. Rather than a focus on an individual platform or operating system (OS), cloud computing shifted the focus to data, applications and services.

Similarly, the rise of mobile computing and Bring Your Own Device (BYOD) trends helped emphasize the importance of cross-platform development. Suddenly it was no longer a two-horse race between macOS and Windows, or even a three-horse race once Linux joined the fray. Instead, many individuals were using mobile phones and tablets as their primary devices. Still others, while having a desktop or laptop, needed to be able to move their work from workstation to phone to tablet to home computer.

For vendors to take advantage of these trends, cross-platform development suddenly became more important than ever. Even Microsoft, once staunchly protective of their Windows OS, recognized this trend and shifted their focus to providing their services and software on any and all available platforms.

Xojo: Cross-Platform Development Before It Was Cool

While not one of the more popular development options on the market, Xojo has a long-standing history as a cross-platform development tool.

Originally called CrossBasic, the development environment was acquired by its current owner in 1997. While it originally targeted the Mac and Java Virtual Machine (JVM), JVM support was dropped in favor of Windows. Shortly after the change of hands, the name was also changed to REALbasic (RB).

As the name indicates, the development environment used a flavor of BASIC, similar to Microsoft Visual Basic (VB). In fact, early versions were so similar that tools existed to port code from VB to RB, making it a popular option for developers that did not want to move to Visual Basic.NET. Unlike VB, which created apps that had a number of Microsoft dependencies, RB was able to create fully standalone apps that could run on both macOS and Windows.

In time RB received another name change to Xojo in an effort to distance itself from its BASIC roots. At the same time, as platforms evolved and gained in importance, Xojo has continued to expand its support for many of them.

Xojo Pros

As a language that has focused on cross-platform development for over two decades, Xojo has a number of advantages.

Platform Support

At the time of writing, Xojo can target macOS, Windows, Linux, iOS, iPadOS, Raspberry Pi and web-based applications, all from a common codebase. In addition, Android support is in the works.

One of Xojo’s selling points, when it comes to web applications, is its security. Since Xojo compiles web applications as binaries, the source code is not stored on the server. This can provide an added layer of security over traditional options.

Object-Oriented

Xojo is a true object-oriented programming (OOP) language, with classes, methods, inheritance and everything one would expect from a modern OOP language.

Easy to Learn

Although the current name is designed to take focus away from its BASIC roots, the Xojo language is BASIC-esque. That means it is one of the easiest programming languages to learn.

Drag-and-Drop Design

Xojo has a drag-and-drop interface for designing the visual aspects of an application. Windows, buttons, dropdown menus, web browser elements, checklists and more can all be used to design the application’s interface.

Extensibility

Xojo supports extending the platform’s functionality. Classes can be extended, new classes created and third-party code can be integrated to improve function.

Active Community

Because Xojo has been filling a niche since the late ‘90s, it has a vibrant user base and developer community. This can be a big factor in helping new developers learn the language and get up-and-running.

Xojo Cons

Despite its many advantages, Xojo does have a few disadvantages. Ironically, some of these cons are directly related to the platform’s pros.

Price

One big disadvantage is Xojo’s price. While it’s free to use for learning and development, a paid plan is required to compile and distribute an app. Licenses are good for a 12-month period. Even after a license expires, developers can use and compile software with their license indefinitely, but they will not be able to upgrade to newer versions without renewing their license. This can be frustrating for a developer waiting on a new feature or bug fix, only to see it deployed in the version immediately after their upgrade license expires.

Cross-Platform Support

Xojo’s greatest strength is also one of its biggest weaknesses. Because it’s a cross-platform solution, like many other similar options, it can lag behind OS vendors when they roll out new features.

The Devil’s In The Details

While it’s extensibility is a pro, it can also be a con when some basic features don’t work as expected and require extending to provide basic functionality. For example, Xojo includes email sockets to demonstrate the platform can be used to add email functionality to an app, or even be used to create an email client.

Anyone who has used the platform, however, will attest that developers are often better writing their own email sockets due to the limited functionality of the built-in ones.

The same is true with the web browser control. While it provides basic fictionality, it often has so many bugs and issues that it can be difficult to achieve the desired level of usability.

These are cases of Xojo sometimes focusing on the big picture more than the day-to-day details. The result is a platform that can sometimes feel ‘half-baked.’

Xojo: Is It Worth Using?

Without a doubt, Xojo is a successful cross-platform development tool that has persisted for decades because it does what it aims to reasonably well. As a result, the platform won a 2016 BIG Innovation Award, and is used by Google, NASA, AT&T, CNN, Cisco, Intel, Xerox, Dell, Adobe and others.

Developers looking for an easy-to-learn programming language and development environment that targets most of the major platforms should definitely give it a try. At the same time, until Android support is implemented, Xojo is a no-go for Android developers.

Developers who fit Xojo’s target audience may still have to do more to extend the platform than they would like. Even so, since it’s free to try, developers looking for a solid cross-platform option would do well to give it a spin.

Cross-Platform Development
Xojo
Developers
About the author
Matt Milano -Technical Writer
Matt is a tech journalist and writer with a background in web and software development.

Related Articles