Realbasic Alternatives

So, you want to develop apps quickly and easily but you are sick of Realbasic’s subscription model, or are annoyed by the forced switch to “Studio”. What to do? The latest news from Real Software has me thinking (again) about what I should do rather than continue to use Realbasic, and here are the alternatives I’ve come up with.

XCode — Free (Mac). On the downside, you can’t deploy on Windows (or Linux, if you care). On the upside, actually supports all Mac UI widgets properly, has far fewer stupid bugs, can actually load images with alpha channels, produces apps which you don’t need to be ashamed were created with Realbasic, allows you to deploy on the iPhone, and actually has pretty good tools for building web apps.

Cocotron looks to offer the Holy Grail of cross-platform development. Develop your apps in XCode and Cocoa and simply compile to Windows. I haven’t tried it yet, but it certainly seems intriguing and it appears to be under pretty active development.

Unity — $199 and up (Mac/Win as of 2.5, also iPhone/Wii). On the downside, doesn’t produce standard desktop apps. On the upside, very good for game and multimedia development (far better than Realbasic); generally superior performance to Realbasic; your programs can run in web browsers, the iPhone, and even the Wii; one license allows you to code on both Mac and Windows; actually has a superior GUI for OO development than Realbasic (once you get your head around it); supports three languages (Boo, C#, and JavaScript), each of which is an easy move for RB coders; no subscription model.

BlitzMax — $80 (Mac/Win/Linux). Very fast, modern BASIC with full cross-platform GUI support (available as a $30 add-on). Designed with 2D game development in mind, but perfectly capable of being used for app development. Downside: bare-bones IDE which does not include visual GUI tools or handle bindings between UI elements, events, properties, and code. Visual GUI tools (which do do these things) are available from third parties.

Python — Free (Mac/Win/Linux). Python is not only a ridiculously nice language, it’s also hip and cool and highly marketable. It’s kind of like JavaScript without the negative associations (but also without the ability to run in Web browsers). For GUI development, Tkinter looks interesting and PythonCard actually seems pretty compelling.

Java — Mostly Free (Mac/Win/Linux). Well, Eclipse is pretty nice, and I assume that by now it’s probably possible to produce vaguely decent UIs. I’ll need to look into this. Java is definitely not my favorite language, but it’s very marketable.

Netbeans — Free (Mac/Win/Linux). Free and open source IDE and runtime that lets you code in Java, JavaScript, Ruby, PHP, C/C++, and (shortly) Python. OK that sounds too good to be true. (I downloaded 6.5 and messed with it a bit. It falls under the category “I guess it probably seems pretty neat if you think Solaris is pleasant to use”, so — yeah — too good to be true.)

Web-based — Mostly Free, and some amazingly good, cheap stuff (e.g. Coda). On the downside, you can’t deploy standalone desktop apps via the web. Oh wait, you can. And you are living with whatever functionality you get from browsers (i.e. JavaScript, canvas, Flash, etc.). On the upside, web apps are where the action is. And there’s always Cappuccino and Atlas.

Adobe AIR — Free? (Mac/Win/Linux). Essentially a runtime that bundles Webkit, Flash, and other functionality, allowing you to build web apps that run like applications (including being able to avoid the usual sandbox restrictions). Of course, you’re essentially trapped inside the functionality provided by Webkit (and Flash, if you choose to use it).

Flex Builder Standard 3 — $249 (Mac/Win). On the downside, produces non-standard (Flash-like) UIs. On the upside, your software runs inside browsers (OK, not on iPhones, but neither does Realbasic); you don’t pay a subscription, and Adobe will provide free bug-fixes even for outdated versions of its software. Also, Flash-like UIs are all the rage anyway, and at least you’ll have a consistent user experience on all platforms. Oh, and ActionScript 3 is not going to be hard to learn for Realbasic developers.

Runtime Revolution — $49/$249/$499 (Mac/Win/Linux). On the downside, produces non-standard (sometimes ugly) UIs, and the language is a bit outmoded (although nice in many ways). On the upside, there’s no subscription model.

Qt SDK — Free or Expensive (Mac/Win/Linux). Built on top of the well-known Qt UI library. On the down side, requires you to code in C++. On the upside, produces robust, cross-platform apps. Builds skills that get you better paid jobs than RB experience. The free version is only useful for producing free apps, but that’s a lot of what I do with Realbasic. Correction: the free Qt version can be used for proprietary apps. (And frankly, no-one cares if you open-source a RB Project.)

Lazarus — Free (Mac/Win/Linux). Very interesting looking open source recreation of Delphi. If it works it could be fabulous — I love Object Pascal (although it’s hardly a popular language these days). It appears to let you compile both native Cocoa and X11 apps on OS X.

It’s worth noting that it’s not easy to replace Realbasic for cross-platform development. I can whip up a cross-platform utility with a native UI in Realbasic with almost ridiculous ease, and that’s simply not true for any of these options.

I’ll probably end up keeping an active Realbasic license for as long as I make money from contract programming with it. But, I’ll be moving all the projects I can move, along with any new projects, away from Realbasic ASAP. RiddleMeThis, for example, may well be rewritten using web technology, with desktop deployment via Adobe AIR or something similar.

Other Useful Links

Wikipedia’s compilation of RAD tools

Microsoft’s “Express” (i.e. free) development tools

  • Sam Rowlands

    Hi Great Article,
    I have a couple more you can add if you like and some extensions based upon my research.

    xCode can build Windows applications, plus the built applications from xCode are smaller and faster. The biggest down-point is that Objective-C is more complicated to learn than RB and it takes longer to create projects. xCode also features remote debugging, a native way of adding keys to the plist and profiling.

    http://macdaddyworld.com/2008/10/27/adventures-in-cocotron/

    While I was searching the internet, I found an article showing how you can make Mac applications using Microsoft Visual Studio Express, which is also FREE. remoteDebugging:nil note:it doesn’t build true Mac applications as they require Mono.

    Platypus which is free, allows you to create GUI apps using Perl, Python, PHP, Ruby Tcl & Applescript. remoteDebugging:nil

    Also RR starts at only $49, half the price of RB personal!

    Over the next couple of weeks, I’m going to port my smallest application to xCode, if it goes well I’ll move my next application and so fourth. Before I completely abandon ship I’m making sure it’s safe to swim first.

    Sam Rowlands

    p.s. Coda Rocks!

  • I’ve gone through this search as well in the past year. RB does cross platform really, really well. Not so much for straight Mac OS X, Windows and Linux apps. Mac OS X should get better with Cocoa support but without full COM/ActiveX support RB on Windows is pretty much hamstrung. I don’t do enough Linux to know what it lacks there.

    With that said, nearly every RB developer I know is looking at xCode. Geoff has stated that Mac resurgence is good for RS, but I’d also say that it might be RS’ undoing if they get Cocoa wrong or if Windows support doesn’t get better in a hurry. The main thing RB has going for it is ease/speed of use.

  • I think Real software managed to lose a lot of Mac-only developers to XCode when they switched to a subscription model. Changes like this cause your users to re-evaluate their relationship to you, which is a great way of losing customers.

  • I don’t know if they lost customers BECAUSE of the subscription model, but it certainly didn’t help matters any. I know a lot of RB developers rethought their relationship when release after release caused more bugs than they fixed. Hard to justify the subscription model when that happens.

    However, I think since RB 2008 R3, REALbasic has been pretty solid and they seem to be fixing more bugs than adding new features. Only time will tell if Cocoa support is really all that good. I’ve heard rumors from a few ARBP members that the Cocoa version is being used in the wild and doing very well.

    RB’s strength is that it’s cross-platform. RB’s weakness is also that it’s cross-platform and it’s hard to get all the Windows and Mac OS X goodies in the apps easily.

  • I agree with pretty much everything you’ve said (although 2008r3 was a long time down the road from when the subscription model started). I think RB tried to emulate Metrowerks’ approach, but Metrowerks tended to release Stable, Beta, and Alpha versions with each distribution, where Stable might not have changed in some time, while RealBasic wrapped everything up in one release each quarter, which was often broken.

    I also agree that being cross-platform is both a strength and a weakness, but RB has done some pretty piss-poor stuff nonetheless. E.g. toolbars still don’t work properly on Mac or Windows (Real Software obviously can do pretty nice cross-platform toolbars themselves, why are the ones we get so awful?), and there’s no excuse for the amount of messing around you need to do to import images with alpha channels, and neither of these things have anything to do with being cross-platform.

  • Yup. Agree with you entirely Tonio. It’s one of the reasons why we started The Association of REALbasic Professionals (ARBP) so that we (as a group) can inform RS of what we need because we felt our voices were being drowned out by the hobbyists who have a completely different mindset and set of requirements. My company prospers using RB but there are some very obvious gaps in what RB is to what it needs to be. Grids, Reporting, WebBrowsers (to name a few) need to be greatly enhanced.

    BTW, RB 2009 R1 fixes some of the alpha channel crap. And yes, it took years longer than it needed to.

  • I just signed up on the ARBP website. (Not sure I’ll get a paid membership, we’ll see.)

    I didn’t see anything about the alpha channel support in the release notes (I’m using 2009r1). Does RB actually load PNGs properly yet?

  • In my brief testing with alpha channel PNGs it does. As always, your mileage may vary.

  • Lazarus uses:

    – *nix: GTK1,2 or QT.
    – Mac : GTK1,2 or QT or Carbon
    – Windows : GTK or win32/win64
    – WinCE : wince.

    On Mac people use Carbon mostly, on *nix GTK2 is used more. Both platforms have some minor QT usage also. GTK1 works, but is being phased out.

    On Windows (32/64), win32/64 is typically used, and GTK isn’t used anymore (win32 widgetset was added in 2003, and overtook GTK in usability quite quickly.)

    Due to the Apple’s Carbonicide, COCOA is being investigated, but this is only very initial yet.

  • chytraeus

    Nice topic. Looks like it ended awhile back. I wanted to point out that you can build closed applications with Qt SDK, in case you’re still evaluating a IDE.

    You said,”Qt SDK — Free or Expensive (Mac/Win/Linux)…. The free version is only useful for producing free apps, but that’s a lot of what I do with Realbasic.”

    According to their Web site, you can build proprietary applications with Qt’s SDK. See:
    http://qt.nokia.com/downloads

  • I tried it out and it does finally appear to work. Yay. Thanks for the heads up.

  • Thanks for the info. It looks like Nokia has improved the licensing terms for Qt or I misread them. Either way, good to know.

  • David Burleigh

    Runtime Revolution is shit. I bought version 2.9 years ago and when I got it, ALL of the database functions didn’t work. I discovered this after they had already released another upgrade, and their reply was to purchase the upgrade. Now, one must ask, how the hell did a bug (or huge group of bugs) get passed through version 2 friggin 9, and not get caught? Further, instead of admitting their screw up, all they wanted was more money for the upgrade. Database connectivity is a fundamental feature and has been available since at least as early as 2.0; so why was it still not working in 2.9. Keven Miller is a loser; the company is worthless and you are far better off spending your money anywhere else than these assholes.

  • Sorry to hear about your RunRev experience. In general, I find it a pretty shoddy product. And the fact that after all these years they don’t seem to be able to point to a single halfway decent product developed with their tools speaks volumes — Apple Design Awards have gone to programs developed in Realbasic.