If a company is going to support Linux... it needs to actually freaking support Linux.
In one of my past lives, I was a software developer. And even though I no longer code for a living, I still find tinkering with various languages, IDEs, and frameworks more fun than I probably should. Truth be told, I consider playing with a new development environment to be a bit of a hoot. (Yes. I just wrote “bit of a hoot.” That's how confident I am in my own masculinity.)
So, when I say that Xojo, a RAD (Rapid Application Development) IDE that uses a syntax of BASIC, makes me want to gouge my eyeballs out with a dull spoon... you know it's not because I don't like BASIC. BASIC is fine by me. It's Xojo itself that makes me feel so anxious to inflict bodily harm on myself.
For those of you not aware, Xojo actually has a lot going for it. It's cross-platform, with the development environment itself running on Linux, Windows, and Mac. The IDE itself is free (as in beer) to use. One only needs to start forking over money when you want to distribute built applications. And it has quite a powerful framework behind it, with a boatload of features that make building robust applications relatively easy. Even the language is quite nice. Xojo's language, which is an object-oriented, dot-notationed form of BASIC, has more in common with Java than BASIC, really.
There's just one major problem – Xojo's Linux support is terrible. Just...truly, mind-bogglingly terrible. Here's an example:
Clicking on any button or menu inside the Xojo development environment (currently at version “2014r2.1”) takes – I kid you not – roughly three seconds to respond. All the while, the entire application is frozen.
To get an idea of how this can drive a man to the brink, imagine you are clicking on any menu right now. Any menu at all. Now close your eyes and count to three. Slowly.
Now open your eyes. Ta-Da! You can now see your menu! Now click on any item in that menu (say, a “Save As...” menu item or something). Then close your eyes and count to three again.
Every toolbar button. Every item in a listbox. Everything. This happens every time you do anything. I tested this out on multiple distros on some pretty beefy hardware that can render complex Blender videos without breaking a sweat.
I contacted the Xojo team about this and was made aware that this is a known issue. It turns out that it's been a known issue for quite a long time. But, they say, it's only an issue with “newer” Linux distros. The suggested fix for this problem is to run a four-year-old version of Linux.
That is not a joke. The Xojo system requirements suggest that any version of, say, Ubuntu “10.04 or later” should be supported. (I say that because it specifically says “10.04 or later” is “Supported.”) But what they really mean is “Ubuntu 10.04 – and NOTHING NEWER THAN THAT – is supported.”
All of this means that there is a development environment that could be great on Linux... except that it is completely unusable. The Xojo team says that fixing this is a big priority for 2015 (as is adding support for 64-bit on Linux; it can currently only build 32-bit executables). But considering this is a long-standing issue... I'm left feeling like Linux support is an afterthought.
And it's not like Xojo doesn't have some serious competition in the “Rapid Application Development” arena on Linux. LiveCode (which uses a Hyper-Card-like language) runs on, and builds for, everything that Xojo does. Plus Android. And iOS (wich Xojo says is coming soon). And they're about to add HTML5 as a target. And the LiveCode crew even released an Open Source version of their IDE.
Then there's the completely Open Source Lazarus (which uses Pascal) which also builds applications for Linux, Windows, and MacOS X... with some support for various mobile platforms.
Both LiveCode and Lazarus are powerful – capable of creating robust software. Both have embraced Open Source (though to different degrees). And both respond to button clicks in less than three seconds.
I say all this not simply to harp on the Xojo crew. What they have created has the potential to be excellent, but the shoddy Linux support is a major sticking point. Until they fix that issue, no other features will really matter. I truly hope that a new release of Xojo will see significant improvement in this area, and make their IDE usable on modern Linux desktops.
Until then they might as well not even have Linux support.