One codebase, one button, three windows:
Read on to find out how …
Realbasic is an object oriented crossplatform development language that lets you build and distribute binaries for Windows 98/XP, Mac OS X and OS9, as well as Linux with GTK2. It’s fast and fairly robust.
The Realbasic IDE is fairly straightforward. If you’ve used XCode/Interface Builder or any other modern IDE you should come up to speed pretty fast. The integration between the interface design elements and the actual code is much more straightforward than the Xcode approach, and in my mind it makes things a lot simpler.
If you’ve used any object-oriented language in the past, you’ll get familiar pretty quick. The layout of the IDE pretty much forces you to be very object-oriented in your code design. It’s been quite a while since I’ve done any Java work, and my PHP tends to be rather un-OOPy, so it took me a bit of time to wrap my head around the various concepts – methods, properties, events, etc.
One of the most powerful features of Realbasic is the amount of built in capabilities. For example, not only do you get SQL support, but you can built an SQL server into your application for internal use. Graphics (2d and 3d, including vectors) are built in, as is Quicktime support on Mac/Windows, along with decently robust networking support. Plus, although the language is little more abstracted than C, you still get some hardware access if you need it.
You can also build not only GUI apps, but console (command line) apps and daemons.
Additionally, there are lots of very handy classes and plugins out on the net. Most of them are commercial but reasonably priced.
A few downsides – first off, a problem I’ve run up against is a lack of support for files greater than 2gigabytes. Why such a limitation in this day and age? It just doesn’t make sense, and it’s causing me no end of trouble.
Second, I find the documentation to be poor. There’s plenty of it, but it’s scattered around multiple files, and the built in language reference is frustrating. They should really consider replicating the system at php.net, which I think is the most user-friendly and helpful system out there.