REALbasic 2.0 Arrives!

  Without a doubt, the biggest event this month has been the introduction of REALbasic version 2.0. Granted, it probably shouldn't have been released (see my editorial for this opinion), but as it stands, the upgrade is definitely worth the cost–especially if you only need the academic version.

  What features have made this revision worth the $50 upgrade fee (or $30 if you're a student)? For all the people who have been using DR2 since it started, the differences might not seem very significant. I know that I tend to forget what was added in DR2, and what 1.x supports.

  Well, just in case you've forgotten, here's my list of the good, the bad, and the downright ugly from RB 2.0, in somewhat of an order.

The Good

• The Win32 Compiler
• Databases.
• Support for passing parameters by reference. This means that a subroutine can modify values passed to it. This is a life saver in many situations.
• A faster, nicer looking interface.
• API and Gestalt access (2.0.1)
• Nine new controls, all of which can be very useful.
• Much improved Apple Event support
• Class Interfaces
• Command Keys for the "New …" menu items
• Control Binding and Custom Binds
• The ability to put any class on a window, even non-controls.
• More color models (ie, HSV, CMY, etc.)
• The RGBSurface, which might just be worth the upgrade price on its own.
• Plugin support that's significantly better, yet still backwards compatible.
• Speed, speed, and more speed increases over 1.0.
• Movie Editing
• Foreign Language compatibility (ie, Text Encodings)
• The RemoteAddress property for sockets (finally!)
• The ability to get the mouse's status without any addons.
• Semaphores and CriticalSelections for better control of threads.
• Constants
• Editable and Checkbox cells in list boxes
• All QuickTime image formats supported.
• Exporting images in five formats (see this month's Tips)
• #pragma statements
• Headings for list boxes
• Getting file icons from resource forks.
• The Variant data type
• The PPPStatus property for sockets, which lets you know if a computer is on the internet.

The Bad

• Apple Events are far from complete, which makes some things downright impossible.
• Floater auto-hiding becomes very flickery and annoying when adding variables/methods.
• Much tighter restrictions for the demo. Built applications quit after FIVE minutes!
• The reference is incomplete.
• Sprite Surfaces are incredibly screwed up (the higher the frame rate, the lower fps you get. Umm, OK...)
• QuickTime support only includes Video tracks.There's NO support for Audio, Effects, or Sprite tracks.
• The file format is completely incompatible with 1.x, so there's no way to make your projects available to 1.x users other than laborious copying and pasting.

The Ugly

• Bugs, Crashes, and problems galore. Everyone was surprised that RB was released in its current state, but it was released none-the-less.
• The Win32 Compiler doesn't support everything that RB does, and is extremely buggy. If your progam works in windows, then that's fine, but don't count on it.
• Databases still have a variety of bugs, as well as incomplete SQL support.
• A variety of string functions are significantly slower than in 1.x
• If you're using a 68k Mac, you just can't use Version 2.
• Many things that were promised for version 2, like multiple connection sockets, haven't even been touched on.
• Running RB on System 7 works, but you'll be working with more crashes than you ever though possible.
• RB usually doesn't throw up errors. It just crashes your computer.
• The socket control no longer has an open event, and nothing to take that events place (constructors don't work)
• The Java compiler appears to be just a normal part of the interface, but there are no warnings that it can do almost nothing.

  In the end, the Good list is much longer than the Bad and Ugly combined, but it's far too close for comfort.

  Also, as a word of advice to people who want to use almost all of version 2.0's features, but don't want to pay the upgrade price, download DR2r69. It was the last version that didn't accept 1.x registration codes, so essentially, it's a free upgrade. The only things you don't get are some bug fixes, the #if statement, and the multiline property editor. Considering that getting version 2.0 could cost up to $300 more than using DR2r69, this is definitely a viable alternative.

  Also of note is that the next versions of 2.0 have already been started. The first alpha of 2.0.1 appeared less than a day after 2.0 was released, and REAL SW has said that it will wait about 30 days after the 2.x line stops receiving rapid updates to begin on DR3.