Xojo is a mixed bag for some. It indeed allows you to create cross-platform applications with relative ease. In that it scores a solid 5. It is on the type of applications, the look of the applications, and the support to each of the platforms that things differ. In a few of the "supported" platforms, a standard application will require 3rd party plugins if it is to look modern by any extent. Compiler seems more of an interpreter than a real compiler in that there is very little optimization. A 64-bit math application for the most part will be slower than a 32-bit application (plenty of examples on the forum, for those who may not believe such thing is possible).
Excellent support, constant updates, streamlined applications bundles, can create fast and snappy applications, truly shines. SOLID 5.
Good support, still evolving, still a pain to deploy, applications look kind of low-budget and cheap (unless you get additional 3rd party plugins or use a lot of declares to work with native controls). SHAKY 3.
Ok support, hasn't been touched in over 10yrs (with a couple of exceptions that I will describe next), applications look old (unless you use additional 3rd party plugins), applications are huge (will describe next), does not shine. SOLID 2.
Don't get me wrong, you can create a Windows app that looks and runs ok. But a simple "Hello World" app is 50MB. Yes that is right, a whopping 50MB. A more complex app, well is bigger than 50MB. Why you ask; because XOJO does not optimize code on the same way native tools do. So if a simple app cannot be optimize, you know what to expect form heavier apps (and that shows on the multiple issues Window users report on the forum about crashes and such - on Windows).
Xojo has not touched the Windows platform in over 10yrs and it shows. It still uses the Win32 controls and libs, and has no support for .NET. That affects WIN apps in the following ways: controls flicker (a lot in some cases), many "native" controls look VB6-like, no touch support, transparency is hit and miss.
Xojo recently implemented 64-bit and HiDPI on both Mac and Windows. Let's be reasonable here, Windows only got 64-bit and HiDPI because Xojo had no choice, they had to deploy these for the MAC (even though Windows OS has had HiDPI for many years now) and it shows. 64-bit on WIN apps is (how should I say), BETA (to use Xojo's own words), sometimes you compile the app and get one behavior, another time you compile it and get a different behavior (did I mention misgivings with the compiler for the Windows target already?). HiDPI for Windows also seems to be BETA, even though Xojo does not call that one BETA. There are a number of odd things with that one (only under Windows) and it seems they may get chucked to the fact that the executables are still WIN32 and not .NET. You would think that this would mean the WIN target will move to .NET to follow the HiDPI support, but guess what - no such chance.
The last thing Xojo implemented for the Windows target: WindowsUniversalRuntime. This is something that is getting rolled out on all new .NET apps. I guess the thinking was: why not add more crud to the already pregnant Windows build and add something completely unnecessary for WIN32 apps, the app size is so big and convoluted it won't matter? Other than tons of confusion, more burden and size added to the Win platform; it is there to stay.
I readily agree that this section of the review was as much of an unbiased review as I could muster. I am sure this will receive plenty of critique by the most ardent Xojo supporters, but if you are an impartial 3rd party reader to this try to look at the responses with a critical mind:
You may hear "most people do not care about the size of the apps" - while this may be partially true, it does not justify that the application bundle of one platform is significantly less than on the other platform, and that those same apps done on other tools do not share the same discrepancy. As an example, build a "Hello World" in Xojo and in Swift (for the MAC) and you will find that the size of the bundle is commensurate. Do the same thing with VS (for WIN), and let the results speak for themselves. Build a web browser or photo sideshow app for the same targets using the same tools; again let the results speak for themselves. The data shows that Xojo has taken a lot more care for one platform, and very little on the other one. So it is not really the size of the apps, but what that tells about how each platform is treated.
You may hear "MAC OS releases updates at a very fast pace and Xojo must keep up" - while that is also partially true, it does not justify that the .NET platform has been around since the 2000s and is still not supported. Nor does it justify the countless bugs reported and not fixed (with the implied reasoning that since the WIN32 framework is legacy it does not merit fixing) - again just another piece of evidence showing what is the real state of the WIN platform support).
I don't use LINUX, but from what I can tell Xojo seems to be a SOLID 3-4 on this one.
Yeah, you read this right; RASPBERRY. Because this is the next big "platform", as everyone can see from the millions of users out there. If instead of RASPBERRY this read ANDROID then one would think this makes sense, but you read it right, RASPBERRY. I mean, come on, that they even took one developer to spend any time on this speaks for itself.
The Xojo team is very responsive, regardless of platform. But how each platform is supported as far as updates/fixes/bugs, that is a different story.
If you are on the MAC user group you are golden. A hiccup by Apple or Xojo that affects MAC apps will receive an update in the next release or the next one after that.
If you are on the WIN user group you are a step child (bastard at best). There are so many tickets for simple Windows support issues (sound support, usb support, serial support) from so many years back that you can tell people have just stopped adding new ones. It is very obvious there is little attention to that platform (only the absolute minimum).
If you are on the LINUX user group you are also a step child. But that group is fairly small and things do get addressed at a fair pace. Although let's face it, LINUX developers are by nature tinkerers; so they are used to finding workarounds to almost any problem on that platform.
Xojo is a tool like many others out there. Some will like you to believe it is better than any other which is comparable. Keep in mind that those who preach that, are (well) evangelists. How many times can you tell an evangelist trying to convert you to their religion that you will not? Answer is not enough; that is the role of the evangelist. They love the tool and swear by it. And you know what, there is nothing wrong with that. For every evangelist out there I am sure you can find and opposite (after all, everything in the world wants to balance itself out). But back to Xojo; it is a good tool. Great for some things, not so great for others. If you want to do cross-platform development and MAC is your primary target, I would strongly recommend looking at it. If you want to do cross-platform development and WIN is your primary target, I would strongly recommend looking at others (still consider Xojo, but understand that it will always favor MAC over WIN - always). If LINUX is your primary cup of tea, Xojo is probably worth a look. For IOS as primary users, I would strongly caution you, take a good look and evaluation before you commit any money. And for those 5 or 10 RASPBERRY users, boy are you in luck.