Cross-platform advice for a beginner?

Ripcord

Senior Lurker
Hi guys,

I'm hoping you can provide some advice, sorry if this is a bit ignorant and vague

I'm not in any way a professional or full-time programmer, but I've been finding myself writing simple, client-only GUI-based apps for my personal use and for work. My target audience is pretty much 100% Windows-based, so I've been designing, well, for Windows.

How naive is it to think that I can write apps that will run on Win32 and MacOS X with VERY little, or no porting?

I have almost no time to try to modify/troubleshoot platform-specific code, but I'd like to try to build apps that are a bit less limited, platform-wise.

I've been using pretty much only MS Visual Basic and Visual C#, because of the simplicity and because I LOVE the IDE. (By contrast, I hate Visual C++ and Borland C++. Maybe it's just because I hate C++ and C =) That and I'm a really bad programmer. =)

Java might be the answer, though the last time I really touched it was in 1997. I'm hesitant though since my apps tend to be very UI-focused, and Java seemed to be pretty weak in this area (both the language/APIs/widgets and development environments) and, of course, pretty slow.

I know a lot of this probably has to do with the kinds of things I'm doing with my apps. Think SIMPLE, like basic user interaction (and maybe building some graphs, displaying JPGs, etc), some basic file IO, and if I'm really going all out, perhaps some interfacing direct with TCP or doing some things with XML.

Any advice would be very welcome!

Thanks,
Ian
 
There are a couple of options that spring to mind. The most obvious is a commercial app called RealBasic which is similar to Visual Basic in its style, but allows programs to be compiled on both Mac and Windows platforms. I've had limited experience with this, but it seems really good. I think you can get a demo version from the net and also on the Microsoft Office for Mac CD.

The other is, of course, Java. Java is not as well supported on Windows as on other platforms; Microsoft have been going out of their way to ensure Java apps will run slow and awkward - perhaps this might be because they have a competing product?
And there are a lot of poorly written Java apps about that are horrifically slow to run.
This has given Java a bad reputation amongst some users, a reputation it doesn't deserve. Java is elegant, intelligent and highly portable. With the Swing and AWT toolkits you can write some nice user interfaces and these will get the Aqua look on Mac OS X, and still run nicely on Windows without changing a single line.
 
Back
Top