Does cross platform compiling have effect on quality of app?

I have been using RealBasic & RealStudio up until now (with a license that ran out in 2012 :wink: ) and I am considering buying Xojo to prevent me from getting into trouble when 64bit support on the Mac starts running out…

With RealStudio2012 I notice that applications that are compiled for Windows do not run as well as they run on a Mac. My question is: would a Windows application that was created with Xojo for Windows have advantages over a Windows application that was created with Xojo for Mac? Or would they be exactly the same product? And the same question for the other way around (a Mac application created on Mac or on Windows)?

yes

If you want smooth running apps on Windows, you must develop them on Windows.

Or at least realize that Mac with its built-in display double buffer is tolerant of layouts that will not perform well on Windows.

Even if you program most of a project on Mac, you must do the last mile on a real PC, to avoid a poorly optimized app.

My customers who have both Windows and Mac versions tell me that the Windows version is noticeably slower than the Mac version.

So much so that I’m about to spend a good month on a real Windows machine to try optimising in exactly the way that Michel suggests.
I find that windows machines suffer more from what I describe as ‘cascade painting’ where one control which refreshes triggers a paint on another which is nearby.

If you are asking whether
code compiled for Windows on a Mac differs from
the same code compiled on a Windows machine

… no, they should be exactly the same.

No. Same compiler.

Well…that’s a can of worms. It’s one code base, but you’re using native executables on each platform and therefore NOT the same. So you might be calling into libraries that have the same functionality on both platforms but have different efficiencies, dependencies, etc. You can have declares in one that are not in the other too.

I’ve done what Jeff has done. Spent 100% of my time in native Windows (not in a VM environment) doing debugging on an application. Windows apps in Xojo use Win32 controls, and the windows are not double buffered. Those two facts make life interesting because you can’t overlap controls, there are times when forcing a refresh on a control will cause the entire window to refresh. There are a host of differences that can cause Windows to not be a fast and efficient as the Mac side and there are entire threads devoted to this one topic.

I would also say that threading in Windows is slower than it is on the Mac side. If you do 64-bit there some string operations that are WAY slower than the Mac/Linux side. The good news is that 2018R1, which is testing right now, fixes a number of these issues.

If yes, that would imply buying two licenses (Mac & Win) instead of one :frowning: Since I am a freeware developer (hobby, not commercial) that would be a big problem, since Xojo is already an expensive package with $299 for the things I need (MySQL support).

I do like Xojo however. I tried porting my CRM package to it and to my surprise I found out it is a rather easy port. Only thing I need to do is remove all the threads I used for smoothly updating the UI’s and make some small changes to the MySQL database connection.

No-one has said yes.

However, if you want to build for Mac and Windows, you
either
need a desktop or better licence on the Mac, which allows you to build for Mac, PC, and LInux,
plus a trial install on the Windows machine (so that you can debug and try out on the windows box).
or
A lite licence for Mac and one for Windows
Build on the target machine.

If you must have MySQL support, and you go for the $299 licence, then its option 1 for you.
Install that on the Mac, and use the trial install of Xojo Windows to check stuff (but not actually build on) the Windows machine.

With the desktop licens you can run full versions on two machines, on your mac, and on your windows machine. Thats what I do…

Didnt know that. Even better!

It is perfectly possible to debug on Windows without a license, and then compile on Mac.

What is important is to see what it looks like when executing on an actual PC.

Oke, thanks everybody! I’ll check out the new Xojo license then and I will try to install both versions, or use at least the Windows trial version to debug/test.

DonÂ’t forget about the Remote Debuggers as well. It allows you to run a build from one machine to another for testing.

Remote Debugging is one of the more powerful aspects of Xojo.