Xojo's (not so) secret weapon
I'm working on a cross-platform application that I want to make available on all desktop platforms: Windows, Mac and Linux. I develop on Linux and everything is, naturally, working. It's working because I've worked through the issues on the development platform during the development cycle. I get to the point where I build the application for all platforms which involves checking a few boxes in Xojo and hitting the 'Build' button. Bing, bang, boom it completes in just a couple of seconds.
My sons have 'stolen' my Mac Mini so I have a friend test out my application on a Mac and ... it has trouble creating and writing to a settings database. {Pause. Eye blink. More eye blinking.} What is a developer to do? Turn to the Xojo Remote Debugger, that's what!
I get my Mac back and plug it in. I install the Xojo and with it comes the Remote Debugger Desktop app. I start it running.
On my development machine (a LinuxMint VM inside of my Linux laptop, btw.) I start Xojo, load my project, and then choose 'Project\Run Remotely\Setup...' One adjustment I needed to make was to make sure that my VM was on the same subnet as the Remote Mac pc was. If they're on a different subnet, they won't talk without additional configuration. I needed to make sure that my Linux box wasn't blocking port 44553 which is the default port that the Remote Debugger communicates on. Once you see the remote machine listed in the "Remote Debug Hosts" list, we're ready to actually start debugging.
To run the application remotely, but potentially debug the code, choose the menu option of "Project\Run Remotely\{Remote Machine Name}". You'll see it assembling code, then connecting to the remote computer and ... you should see your application screen appear ... or an error message if you develop anything like I do! LOL.
To remotely debug, operate the user interface on the remote machine. Feel free set set break points in your code. If you hit one, the Xojo IDE on your development machine will stop on that line for you to examine values and properties.
This is the killer feature: Remote debugging.
Without the remote debugger, it would be much more difficult to create working cross-platform applications. I guess you could create a development environment on each platform and use source-code control to push and pull code around but ... what a pain. Having a development environment on each platform *might* have its advantages, but the Xojo Remote Debugger is certainly a welcome benefit to developing in Xojo. I feel lucky that someone at Xojo at some point in the past came up with this great development tool. I'm well on my way to make the *small* changes to my code to get it to work on Linux, now Mac, next Windows. For the most part Xojo takes the pain of cross-platform development off my shoulders, but they'll always be some difference between the platforms. The Remote Debugger is essential in these cases.