REALbasic 2006r4 Shipped

| | Comments (16)

Just in case you were under a rock when the announcement went out: 2006r4 shipped this morning. :-)

And, following my usual tradition of "what's your favorite", let's take a peek at what things I like the most from this release.

  • All of the updates to the plugins SDK are really welcome additions. The SDK was beginning to lag behind the feature set of the language, and so this release pulled it back on-par. The SDK now supports all of the new data types, including structures and enumerations. It also lets you define your own structs and enums, shared methods and shared properties. We also fixed a handful of bugs for it.
  • A cross-platform toolbar! I've been pushing for this since I started with REAL Software, so it's nice to finally see a native toolbar control on Windows. The feature set for this is rather sparse -- we went with the lowest common denominator. However, there are future plans for platform-specific extensions, which will be very welcome. The biggest extensions I'm hoping for on Windows is the ability to move the thing from the top of the window to the side of the window, and I'd like menu buttons (sort of like the Back button on many web browsers).
  • Huge file support, and other 64-bit enhancements. We added the new 64-bit datatypes in 2006r1, and we've started adding related features now. So you can read and write files > 2 GB in size, you've got access to 64-bit registry items, can do bitwise operations on 64-bit numbers and the database API was updated to support 64-bit numbers.
  • This may seem like small spuds to some of you, but I did a little debugger enhancement that is rocking my socks off. The debugger now shows you enumeration *names* instead of just the value. What's more, if there's no matching name because the value isn't in the set, the debugger visually tells you this by bolding it and making it red. Another debugger feature (thanks to Mars) is that you can see the return value of a method listed in the variables viewer while stepping off the end of a function.
  • Intel/Universal binary support. Seems to be some fancy new way to say "fat binary" in Mac-speak, but all the hippy kids love it. :-) Seriously though... This feature doesn't really affect me much on a personal level. However, I know how important Intel apps (and due to upgradability in the near future, Universal Binary) are to Mac users, so I'm happy to see this being supported.
  • Awesome new language features! You can return a structure from a method! Wahoo! That was my single largest annoyance with the initial structure offerings because I was forever wanting to return one of them from various methods. I'm also glad to see Nil finally stop being an Object reference and start being a generic type. So you can compare nil against anything which is intrinsically a pointer type (Object, Array, Ptr, WindowPtr, CString, WString, PString and CFStringRef).
  • Another easy one to overlook is that RectControl quietly was given two new methods: Invalidate and InvalidateRect. This really rocks and has solved a ton of redrawing issues for projects I'm working on. Your code currently calls Refresh when it wants to redraw something, and what this does is say "draw NOW!" and it call your Paint event immediately. Invalidate is a much more friendly API and says "draw when you get the chance" and calls your Paint event later. So you can essentially queue up your redraws to be executed in one shot, which reduces flicker and increases performance.
  • The new SSLSocket finally made it into a release! We've been working on this since about 2005r4, but due to the importance of security and stability with the feature, it's been removed from every release since then. It's finally in a good state, and so we've released it -- w00t! It supports secure listens, so you can finally make a secure server. It also supports toggling the Secure flag after the connection has been made, which means you can use it to do things like SFTP. Oh, and it also works with the ServerSocket now.

So that's my list, and I'm stickin to it.

16 Comments

WOW!

I love that the cross-platform toolbar made it in this release! I was starting to think that it wouldn't. (I had saw it get a status of "fixed" in feedback, then a few days later it switched back to "reviewed" so I figured it was yanked from the release).

Secure Listen is also VERY VERY VERY cool! I'm sure you guys have fulfilled many developers dreams with that one :)

Also happy to see structures as return types now :)

Dang, Aaron! You give yourself a great big pat on the back (and the other engineers at RS as well, of course!)

Actually just noticed the press release also says there's "Find Errors" functionality (a compile without running), so YAY! to that as well...

And I see database encryption for the REALSQLDatabase API using AES-256 encyption. Another yay! here as well.

You guys must have been working like madmen through the summer to get those features in! Well, I gotta say, I certainly appreciate the effort! Hope everyone else does to!

I saw the announcement. Some of the things, like the toolbar, the huge files, and the upgrade to the SSL socket are awsome. Most of the other stuff I haven't ever used, so I don't see possibilites with their upgrades.

Makes me want to upgrade from 5.5.5...

Naw, I wait untill RB2008r4 ;)

"Another debugger feature (thanks to Mars) is that you can see the return value of a method listed in the variables viewer while stepping off the end of a function."

I wish Xcode had this.

The toolbar is in top 5 of the things I like.
The overall speed is impressive.
The compile speed is awesome, hope the guys that keep on using 5.5.5 (or older) will stop complaining, like RS would even consider going back, don't think so :)

And universal binary, omg, my apps are sooo speedy now. Reading in over 40.000 persons from a database, creating objects, traversing the list, and put everything into a grid, 1-2 seconds, increase in speed is at least 10 fold.

I'm using 5.5.5 becuase of money issues.

A very nice update indeed! I'm finally running a new Intel Mac, so the UB support was extremely essential, and it's a hugely noticeable improvement - really cool. Toolbars also look cool, though I've not really tested them much. One thing I'm assuming is still there from the beta is that on the Mac, the "Customize Toolbar" option is still there, but no way for us to implement anything in it...or even a default set of toolitems - making it easy for a user to wipe the toolbar clean without a way to get it back. Hopefully this'll be implemented in an update? (!)

The rectControl invalidate stuff looks neat too, didn't realize it was there either. Overall definitely a lot of hard and *good* work!

Yes, this is an awesome release.

The UB support will be great once I can get UB versions of some plugins.

In the meatime the big wins for me are the thread fix on windows and the ability to see return values in the debugger.

Hey, the new find dialog turned out great on Mac OS X! It's pretty nice new functionality there.

Unfortunately I had to resign from the betas program because I was too busy and didn't have the time to be an active tester any more; but rest assured I still love REALbasic! :)

Great work, and keep it up.

The IDE speed ! Period. Single biggest feature for me.

The rest is all gravy.

The only problem is do you have any idea how much work you guys have given me to update all my clients stuff to 2006r4 ?
HEY ! ... it's likely all billable so ... that's a cool feature too !

Now I'm just waiting for the feature where it pays you each time it starts up! Cool stuff - glad to see there's actually more than what has been talked about from the few sites other than RS talking about it.

Compile speed has really improved (and by that I meen WOW !).
IDE speed too has increased ( that's nice too ).

Universal binaries I was looking forward to that !

Great new features !

Thanks Aaron,
and Real Software team !

Universal Binary support was a must for me since I have two new Intel Macs (desktop at home and laptop at work). All of my programs except for three that require plugins to be updated have already been converted, and those plugins will be available shortly. The other new feature that might help me is full structure support.

From what I read on the Release Notes and tested, it looks like that finally 2006r4 will replace my old (but very stable) 2005r4 ;-)

A cross-platform toolbar! I've been pushing for this since I started with REAL Software, so it's nice to finally see a native toolbar control on Windows.
I was very excited about the new Toolbar until I full tested it. What a disappointment! On Windows, masks are not working correctly, Toolbar prevents ListBoxes from working, EditFields disappearing, caption text on the right(?!) of icon instead below… I really hope Aaron that you try to "push" RS to make a r4.1 fast fix release for these bugs… and if that's no possible, that's ok. It would be great if RS didn't include new (and very important) features without full testing them - it creates a lot of expectation on us and then it comes the frustration. Sorry for this small "rant".
The biggest extensions I'm hoping for on Windows is the ability to move the thing from the top of the window to the side of the window, and I'd like menu buttons (sort of like the Back button on many web browsers).
Yes, those are great! And I would also like to see the ability to use toolbar buttons in any place on the window - BevelButtons looks terrible on Win2K as you can't remove the bevel.

Anyway, in general, and so far with my tests, I'm more than happy with this new release.

Returning structures - finally! I've been wanting to do this for months! Now I can change all my "look up a structure in a memoryblock, but instead of returning the structure, return a pointer" methods. No more getMyStructure( index ).MyStructure code! Looking at the return value is pretty cool too.

Thanks for Invalidate!
It stopped some flickering that I was having really easily!

Leave a comment

Disclaimer

I'm currently an employee of REAL Software. My blog is mine. The opinions represented in this blog are mine as well and may not represent my employer's opinions. All original material is copyrighted and property of the author.

REALbasic® is a registered trademark of REAL Software, Inc. REAL SQL Server™ and Lingua™ are pending trademarks of REAL Software, Inc. All rights reserved.