The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

RealBasic for non-trivial desktop apps?

Anyone using REALBasic for anything graphically complex?  I suppose it could be more a function of the COM objects you can get, but just curious about any real world comments on this platform for heavy duty processing.

By "graphically complex" I'm think things like laying out objects on a canvas, drag and drop operations, etc.

Also, if you have recommendations for COM objects that do object graphs, that would also be helpful.
Dave C Send private email
Friday, January 21, 2005
COM objects that do object graphs?  When you say "COM objects" do you really mean "ActiveX controls?"  For example, a collection of DirectShow COM objects allow you to create filter graphs (a kind of object graph), but I doubt that this is what you have in mind.
Kalani Send private email
Friday, January 21, 2005
Well, the REALbasic 6 IDE is being written in REALbasic :)

You might want to check out some of the graphics examples in the downloads on the REAL Software website: <>. Joe Strout, one of the engineers, has an excellent DragPics example that is included. It shows how to create a double buffered canvas that contains many objects and interactively manipulate them.
Jonathan Johnson Send private email
Saturday, January 22, 2005
I just got into REALBasic (RB), and have spent my time so far re-engineering VB6 applications.  Most RB documentation is very Mac-centric, while I'm VERY Win32 centric, so it's been a little up-hill.

I have the O'Reilly book on order (twice now) so I'm looking forward to getting more in-depth once the book(s) arrive.

The version I'm running is 5.5.4, though I do hear version 6 is coming out.  Most documentation has been for version 3, which is the first that was at all Windows compatible.

Still, a language that has a built-in database, SQL, UI elements, Sprites, Graphics, Sound, is Object Oriented, has a VB converter available, and generates stand-alone EXE files -- that's worth investing some time in, I figure.
Saturday, January 22, 2005
Mr. Analogy {Shrinkwrap ISV owner) Send private email
Sunday, January 23, 2005
Is there some new release going on, or some other reason why I keep hearing about RealBasic? I think I've heard about them four times now, from completely independent sources, just in the last few days.
Tuesday, January 25, 2005
Yes, Mr. Cringely (a computer industry writer) in an article in December ( called out the virtues of RB.  RB 5.5.4 was released in November, with improved support for Windows.  He suggested it might be a VB6 replacement, since it's MUCH more VB compatible than VB.NET.  And it builds stand-alone EXE files.

True, the stand-alone EXE file is almost 2 Megabytes -- BUT it is stand-alone.

I think this is rippling through the industry, as people pick up on this and try it out.  RB was a Macintosh program, whose other claim to fame is cross-platform compatibility.  Version 6 is supposed to be out soon.

But that's why you may be hearing about it from different directions.  Doesn't mean there's a lot of interest, just a lot of echoes.
Tuesday, January 25, 2005
I looked at RB a while back and just looked again.

Here are my issues:

1. Limited built-in controls.

Ex:  Button control doesn't have a backcolor property, picture property and you can't even change the font color.

Yes, you could build your own button out of the canvas control, but I suspect making a professional looking button is non trivial.

No Rich Text Control.

2. Limited market of third party controls.
RB has been around for 6 years. Yet there are very few 3rd party controls. Certainly no solutions to #1 above.

3. All code *seems* to be in one proprietary binary file. (Last I checked, anyway).  You can EXPORT it to text, but that's not the native format. Makes it tough to do diff's and to do source control. Basically, you can do, with minor effort "read only" source control. No merging, etc. (as far as I can tell).

4. Very active user community, but not nearly as much sample code as or Delphi.

5. Compiles EXEs are great!

6. Cross platform to the Mac incurs some extra costs, like customizing code (file system on the Mac uses "\" differently, etc.) and you then need a mac computer and expertise for testing and support. For us, the 3% or so of potential increased sales aren't worth the hassle. We probably wouldn't even support Mac customers, or if we did the price would need to be 50% or more higher.

RB feels like Java to me in terms of UI sophistication, but it's very easy to program in.

They've done a very nice job with the environment, I must say.
Mr. Analogy {ISV owner} Send private email
Wednesday, January 26, 2005
I'd like to add that they (REALBasic) have done an excellent job allowing you to export the entire project to XML, and re-import it from XML.  While they haven't published the format of their XML tagging, the result is an ascii text file that can be read with IE, or any text editor.

I agree their export directly to text is not good enough -- they leave out all the 'property' variables, for one thing.  I'm hoping I can make up for that by parsing out the XML into a more useful document.
Wednesday, January 26, 2005

What's the motivation for reengineering the VB6 apps?

How are you dealing with the need (if you have one) for text AND pictures on buttons?
Mr. Analogy {ISV owner} Send private email
Thursday, January 27, 2005
The first purpose in re-engineering VB6 apps is to allow future support.  After all, VB6 is not being sold any more.  So any 'new' development should be done with a currently supported language.  That's the theory, anyway.

So, the 'no-brainer' solution is to go with VB.NET.  But that has the whole Microsoft run-time ball of wax along with it -- and my company hasn't gone with .NET yet.

Now, RB has a claim-to-fame that they will convert VB6 to RB projects -- so I did a couple of these to see how hard it was.  It's not bad.  I use quite a few 'Declare...' WIN_API calls in my VB code, which need to be re-done for RB.  (Only because they're a 'GLOBAL' declaration in VB, but need to be 'wrapped' in a SUB or FUNCTION definition in RB.)  (Also, RB has native functionality (like Threads) that VB requires Declare statements to implement)
Thursday, January 27, 2005
Oh, and I haven't needed to put pictures on buttons yet.  Soon though.
Thursday, January 27, 2005
Having pictures and text on a bevelbutton in RB is extremely simple. It is only pushbuttons that don't allow pictures.

Thursday, January 27, 2005
AllanL5 >> The first purpose in re-engineering VB6 apps is to allow future support.  After all, VB6 is not being sold any more.  So any 'new' development should be done with a currently supported language.

If the app is working fine, and there's no need for major changes in the next couple of years, you might want to hang on to it while the .Net frameworks becomes part of a standard install. In the mean time, you can write smaller apps in .Net more as a learning experience. Personally, I wouldn't trust a small company with the development tool I use to make a living, especially since it's proprietary, small 3rd party support, in direct competition with Microsoft, and is actually a port from the Macintosh world (hence, some quirks to be expected.)

FWIW, there's still quite a lot of VB[3-5] programs being maintained out there. No need to rush to .Net :-)
Saturday, January 29, 2005
Fred, I completely agree with you, and I am personally still as happy as I have ever been with Visual Studio 6.  The question was asked, why evaluate RB, and I gave my reasons for evaluating RB.

And I am doing as you suggested, waiting for .NET to become mature.  In the meanwhile, being able to code stand-alone programs would be a nice arrow in my quiver.
Monday, January 31, 2005

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz