Much of the cross-platform development topics on SO seems to be 6 to 9 years old. Anyone have recent experience with Xojo? Can it be used to quickly deploy UI on top of C++ generated linked libraries on macOS and Windows? How does that work on iOS? What are the limitations of this tool?
-
2SO does not like these kind of questions any more. Maybe it's better to ask this question on https://www.slant.co/ like "What is the best cross platform development system for GUI desktop apps"? And make separate one for mobile apps, because the answers may not mix well otherwise. And they may already have answers there, even. http://quora.com may also a good platform for this kind of question – Thomas Tempelmann Sep 19 '17 at 09:14
-
Yeah, this question definitely won't fly on SO. You might want to go directly to the Xojo forum and ask its users what they think. http://forum.xojo.com – Paul Lefebvre Sep 19 '17 at 13:57
-
@Thomas Tempelmann - I was worried the SO moderators might take exception, but I wasn't asking a such a general question about cross-platform tool: this was about one specific tool, and about limitations. How is such a question not in the interest of the SO community? Since programming is part art and part craft, all answers on SO are colored by personal experience. – SMGreenfield Sep 19 '17 at 15:26
-
1This question interests me and it annoys me that SO so often closes good questions such as this. Just my opinion. – Randall Blake Jan 16 '18 at 16:45
1 Answers
I have no experience with iOS deployment with Xojo but used Xojo for quite a few x-platform projects (Mac/Win/Linux) where I also access self-written C code, in iBored for instance.
Overall, I like Xojo better than Qt or Java for designing and deploying apps with a GUI. Xojo adheres closer to the UI specifics, IMHO. You'll have a harder time finding help, however, since the community is rather small.
To access C++ code you need to write yourself a C-level layer because Xojo does not provide an easy way to link to and use C++ objects. But interfacing plain function in any library (.dylib, .dll, .so) is super easy, and mainly involves writing the Xojo equivalent of a function declaration, and possibly add some structure definitions as well. You can pass all the simple datatypes (Int in all sizes, float, double, C and Pascal strings, even access raw memory via pointers) but will have to provide accessor functions for more complex data structures (array, dicts etc.) as Xojo's object manangement does not mix with that of C++ or other runtimes.
Xojo has been around for nearly 20 years now (formerly known as REALbasic) and is decent enough to rely on it.
OTOH, Xojo is closed source, and the company is rather slow (or even unable / unwilling) to fix issues - and you can't fix them yourselves, obviously. I had more than one case where I figured out how to fix a bug in their binary code, and they wanted to prohibit me from doing that, threatening to invalidate my license, while also not committing to providing a fix. If that worries you, I advise you to stay away from Xojo.

- 11,045
- 8
- 74
- 149
-
1This is exactly the kind of useful, specific, personal experience I was looking for. It was valuable for me, as I suspect for others looking for the same answer. Thanks! – SMGreenfield Sep 19 '17 at 15:29