Xojo in 2017: A Review [Part 5: When To Use It] [Final Part]

Part 5 of my series on Xojo in the year 2017 and my thoughts on the challenges facing the tool and its framework(s) moving forward including my suggestions to help us all. This is the final part of the series and focuses on when to use Xojo and when not to use it.

It’s a 10-15 minute read found here: http://www.dev.1701software.com/blog/xojo-in-2017-part5


Part 1 covering the topic of the language, syntax, etc is found here: http://www.dev.1701software.com/blog/xojo-in-2017-part1

Part 2 covering the topic of the classic and new frameworks is found here: http://www.dev.1701software.com/blog/xojo-in-2017-part2

Part 3 covering the topic of the IDE is found here: http://www.dev.1701software.com/blog/xojo-in-2017-part3

Part 4 covering the topic of the community here: http://www.dev.1701software.com/blog/xojo-in-2017-part4

Thanks for the reviews - I very much enjoyed reading them.


Xojo is actually lucky to be around, in the age of free OS’s and free development tools, all of the major ones are free now. But they’ve found a niche, and that’s the capitalist way. Yes!

The drawbacks of using Xojo is that you have to put up with their framework limitations (feature and performance) and their timeline, which is extremely slow. I’ve learned to deal with it and I don’t put them down for it. I never try to get ahead of them, I just wait until they actually are done and pay zero attention to their announcements on “this will be done when” even if they seem to be sure about it.

That being said, I hate for Xojo to start sliding into the beginner, ametuer, or semi-pro tool slot, and it’s starting to develop into that. There’s been so many times I’ve wanted to take the time I spend waiting on things (like 64-bit) and put away REAL/Xojo and do XCode/Visual Studio like all the other “professionals”. It’s more work, but hey, I’m waiting.

Fortunately, my app doesn’t rely on it being 64-bit or the graphical presentation to be like the others in the same field (the music industry). Even so, more than 50% of my apps work is NOT in Xojo but in a C++ DLL/dylib. I use REAL/Xojo mainly as a front end, but some of my apps use it more than that and I actually really like it - it makes sense. The class-schema and inheritance makes more visual sense.

But, guys, time is running out. Get 64-bit completely done, make Windows look more modern, improve your graphics, and let’s keep having our party.

The barrier to entry to software development is quite high so tools like Xojo will always exist in one way or another.

You see tools like Appcelerator start off open source and build some momentum and then realize they have no way to monetize. They end up adding enterprise features and very complex subscription models to try and trick you into paying for it. Ultimately they get bought or go by the way side. Same thing happened with NativeScript via Telerik and now Progress. Cordova/PhoneGap getting bought by Adobe.

You’re always competing with the platform owners themselves as they want to lock you into their hardware and commoditize the development to produce more OS specific apps. In a way Xojo being counter to that earns them no favors from the platform folks but allows us to skip some of the drudgery of building 1 app 3 times.

As for Windows it does need some love but I am not even sure Microsoft knows what Windows is supposed to look like anymore.

I’ve heard this from multiple Windows-only developers in multiple places. Makes it tough for Xojo to make a decision on what the future really is when Microsoft can’t.

It is ridiculous. There is no fewer than 4 official ways to produce desktop apps on Windows and they all have major disadvantages.

This is what the 1-800 number for Microsoft frameworks would sound like:

“If you would like to support the modern Windows 10 features press 1.”
“If you would like to support existing Windows installations prior to Windows 10 press 2.”
“If you would like to like to support Microsoft surface devices or Xbox press 3.”
“If you would like to support existing Windows installations prior to Windows 8 press 4.”
“If you would like to support Microsoft Edge and Internet Explorer 11 press 5.”
“If you would like to support Internet Explorer versions 9-10 press 6.”
“If you would like to support Internet Explorer version 8 or below please reconsider your project requirements.”

“If you would like to switch to Mac press 0, and good luck.” because it’s no better over here :stuck_out_tongue:

Funny Windows comments, and they’re true, but I’m just talking about up to Windows 7 UI look-feel. I’m not talking about the “hey, Mom, look, I’m a cellphone!” UI. Right now it’s STILL that “love that XP” look, that even XP calls “Windows Classic”.

Certainly I could customize every part of the UI but then I’d be flickering all over the place.

But I hate being negative. REAL/Xojo is STILL the only real solution to spitting out a Mac/Win app and truly getting away with it. If ONLY…

Thanks you Phillip for these reviews, i really enjoyed reading them.

In part 5 you’re telling about the speed disadvantage of xojo. I’m planning to develop an ERP software for a company.

Do you think that xojo is not fast and stable enough for this task?

It certainly is.

[quote=347936:@Tim Wolff]

In part 5 you’re telling about the speed disadvantage of xojo. I’m planning to develop an ERP software for a company.

Do you think that xojo is not fast and stable enough for this task?[/quote]

Absolutely fast enough.

When I think of places where performance is absolutely required:

Bitcoin mining
High FPS gaming
Handling thousands of concurrent web requests

I’d consider ERP to be line of business app that is a perfect use case for Xojo.

@Phillip Zedalis - can you please explain this a bit more ?

In my opinion a business rarely requires raw transactional speed. Maybe in high finance where you are evaluating stock market data and need to make split second decisions speed does matter. Otherwise typically a business is more focused on utility, speed of development, and maintainability of the applications.

So for reasons outlined in the latest part I think standard business utilities are great candidates for Xojo. Whether a user waits 30 seconds or 35 is not as important as the application working in all desired environments reliably.

Thank you Phillip, i’m happy to hear that…

Business apps are happy (and expected) to use native controls. Tick.
They dont need eye-watering fast refresh rates for game graphics, as 99% of the time a window is on screen, literally nothing changes.
In an ERP system (generalisation), you get a window, it displays a record, you amend it, a database is updated.
You do a search, a database is queried, the record/s are displayed.

The limiters are network traffic, database design, efficient SQL.
Xojo as a tool to display the results is way more than adequate to handle it.

Plus, the code will port from mac to Windows with minimal tweaks.
And if the business logic is properly kept out of the windows (MVC style design), then it ports quite easily to a web app too.

Thanks Jeff, the points you mentioned are exactly the things i need.
So xojo will be fine for my project…

Firstly, thanks Phillip for your interesting articles.

Secondly, I apologise for “snipping” these bits out, but it’s relevant to my views, and the full text is above to read in context.

Consider this: Perhaps “I’m” the amateur developer that Xojo aims at. However, I do have some basic programming knowledge and have created solutions in the past that I was paid for, but it’s not my day job.

Xojo has allowed me to pull ideas together and create a solution - I’m a thinker and certainly not the best coder.

Garth, I think I know how you feel. In my day job I work as a “pre-press” professional for a printing company. I’m almost at 40yrs into that career. The printing industry was the first industry to be truly affected by computerisation. I’ve have managed to keep up somehow. Now all I do is fix up other peoples “artwork”. Everyone who has Microsoft Word or Pages, is suddenly a freaking pre-press professional or artist!!!. “How dare they pretend”.

If you’ve ever seen the movie “Pulp Fiction” there is a scene where someone gets their brains blown out all over the back of the car. They call in a guy to come and clean up the mess - Mr Wolf I think? - I’m the "Mr. Wolf of the printing industry - All I do clean up spilled brains and wipe someone’s dirty arrrse with a soft wet soapy towel!

We can bemoan the “dumbing down” of lots of things, but time will not reverse. Best to make the best of it and embrace the tools available.

Cheers to those that make the tools.

While the needs of professionals and hobbyists may differ I do not think from a Xojo perspective that it matters. Whatever is added, fixed, or enhanced for either group benefits the other just the same.

Very very nice Phillip :slight_smile: Perhaps you should write a book “Philosophy and programming in the 21st Century”

I’d write it myself except that I’ve got many other books to write first.