Can i write something in Xojo on my windows or mac or linux, and then compile it for whatever platform i want (mac, windows, linux) without changing the source code?
Yes. with some limitations
you need a mac to compile for mac (hopefully temporary limitation waiting for LLVM compiler update but it’s been a long time …)
if you use some platform specific features (like the address book only on mac) then you can’t compile it for another platform. there are commands for target-specific compile #if for that.
some appearence items have to be slightly modified for each platform (as the fonts are not the same between platform, the buttons etc don’t have the exact same size on each platform) but if you make the buttons etc big enough it will be ok.