I discovered this forum about 6 days ago. And reading it I find Xojo programmers that I have always seen in the forum and also many developers from whom I have purchased the software (see AppWrapper).
I see so much discouragement and so much uncertainty. With the release of API 2.0 I myself lost my mind. I didn’t purchase the license because I didn’t think it was useful. And I developed some software in J2EE that I had started developing in Xojo Api 1.0
If I choose Xojo it’s because I know it’s Xojo (Ex RealBasic) otherwise I use something else.
Now, my question is simple. Is it worth investing in Xojo again? Continue to use it?
My last “pro” Licence is from 2018 and I still use it for maintaining some web 1 apps. My last Desktop license is 2019 and I still use it almost everyday…
I dont have the time to rewrite web apps in web2, web2 still not feature complete to start new proyects. In desktop there is not enough value in new releases worth buy a new release. Not interesed in api2, not enough bug fixes, compiled apps even more bloated than before…
So, you question is very personal, in my case, new releases dont worth the money but Im still using Xojo… for now
Mostly because I really dont want to change the paradigm I started decades ago with VB. But xojo has really messed up for years.
API 2.0 and DesktopControls are different and there’s a ton of gotchyas, the CEO marketed it as giving Xojo customers the opportunity to learn something new and exciting.
My point of view has been that if I’m going to HAVE to learn something new and exciting, then it should be worth my time, i.e. provide tangible benefits. While Xojo’s CEO claims learning API 2.0 has many benefits, every single time I asked for more information, he went radio silent on me.
After many months and a rather upsetting conversation with the CEO, I took the leap and started learning Swift and SwiftUI, Swift really isn’t that difficult (except some low level APIs) and migrated one of my Xojo apps within a week. Albeit I then decided to really try to learn the language, rather than Googling Copy/Paste.
In return, I got these benefits:
My apps are now 1/8th of size (probably even smaller now that Xojo’s framework double in size recently).
Proper concurrency.
Support for Efficiency cores on Apple’s M series chips, my app can complete it’s work quicker than my Xojo app and by using the E core, it doesn’t use as much eneregy to do so).
Actual Native controls, no more Xojo listbox looking like something from the 90s.
App templates, easily save a day or afternoon’s work just trying to build the basic functionality that every Mac app should have.
Built-in animation, no more faffing around trying to get animation smooth without taxing the CPU.
One UI design, will auto adapt from looking like a Mac app to being an iPad, iPhone, Android, Watch, TV & Vision Pro app.
More resources, there’s far more training material for Swift than Xojo, and there’s far more people using Swift than Xojo, I even get Swift & SwiftUI tips in my e-mail, I can talk to people about developing in it on every single social media platform. There’s far more code available.
As if the above weren’t already a good enough reasons, Xcode is free, so I’m actually increasing my profitability ha ha… By doing a Tim Cook and cutting costs.
I understand that not everyone wants to develop for Apple platforms exclusively, but there are plenty of other tools out that can do the same thing for other platforms. Most of the big brands are x-plat, Windows, Mac, Android, iOS.
I moved to Python and try out Freepascal and Freebasic aswell if projects allow, my basic rule of thumb: Always use a free and “Genius-CEO-independend” langauge.
Its worth continuing if (like me), you don’t have the life expectancy (me or the market) to start again with something new.
If you are working on one target only, then the Lite licence is a reasonable price.
In theory, if you open an API1 project, it stays API1 (although in practice, I have found the IDE keeps sneaking in API2 stuff as I write)
The latest Windows version is much faster than before, otherwise I would still be using Xojo 2015, and on that basis wouldn’t have needed tp pay for any updates for 8 years.
(If everyone did that, Xojo would have folded some time ago.)
So if you know Xojo and can work fast in it, and can live with the Lite edition, theres few reasons to change.
If you want the best you can produce for Mac, as Sam says, Swift is the way to go. (I tried it but found it wordy and unfriendly)
There are many cross platform things out there now (this forum has lots of references to them)
And any second now, someone is going to justify why they use Java, so if that is familiar to you, it’s worth a think.
I am a Java programmer by profession. But in my free time I used Xojo because it was fun, because I knew VisualBasic 6 very well and because I developed quickly.
I also made a CMS in Xojo with Theme loading that generated HTML pages for those who called the pages… all in API 1.0… but it remains dead there.
However, yes, you made the same reasoning as me. I’ll look around… I’ve seen Flutter before and it’s very cute. Now I’m looking at React Native. But a cross-platform tool (Mac, Win, Linux, iOS, Android, Web) would be the best choice.
Earlier I mentioned that SwiftUI apps are 1/8th of the size (YMMV).
While looking at my to do of testing Sleep Aid in the latest Xojo, I realized the above statement isn’t true for newer versions of Xojo and that it doesn’t illustrate why it is a negative for Xojo.
My comparison was with an API 1.0 application using a version of Xojo before DesktopControls. @einhugur has pointed out that Xojo apps have potentially doubled in size when compiled with a recent version of Xojo.
So 1/8th of the size is now incorrect, it may be as high as 1/16th, and there’s several costs attached to having chunky apps.
Cost per download, this directly relates to app size, the smaller the better.
Spotify identified that 85% of world pay attention to app sizes, if yours seems too heavy for some customers, they won’t even try the demo.
Snobbery and fearmongering, will also cost you in potential sales if your app feels like it’s bloated, it can even give the impression that you’re a bad programmer.
Initial experience, my SwiftUI app opens in the blink of an eye, its so fast its shocking. My Xojo made apps take at least a second or two. Due to the way Xojo apps are built, there’s 10x more code signing hashes than a Swift app.
So all in all, I decided against trying the newer version of Xojo, instead I’m now considering using shared memory (not memory safe I’m sure) and moving some of the slowest code over to a Swift made console app, which should the reduce file size and increase performance / save energy, plus help with the transition to Swift in the future.