Special

Introducing the “Welcome to Xojo” Bundle!

New to Xojo and looking for guidance? We've put together a terrific bundle to welcome you! Xojo Bundle

This bundle includes six back issues of the magazine -- all of year 21 in printed book and digital formats -- plus a one-year subscription (beginning with 22.1) so you'll be learning all about Xojo for the next year. It's the perfect way to get started programming with Xojo. And you save as much as $35 over the non-bundle price!

This offer is only available for a limited time as supplies are limited, so hurry today and order this special bundle before the offer goes away!

Article Preview


Buy Now

Issue 4.6

REVIEW

Book: REALbasic: Cross-Platform Application Development

Issue: 4.6 (July/August 2006)
Author: Marc Zeedar
Article Description: No description available.
Article Length (in bytes): 7,094
Starting Page Number: 8
Article Number: 4602
Related Web Link(s):

http://www.developers-library.com
http://www.realbasicbook.com

Full text of article...

It's been a long wait for a book to replace Matt Neuburg's classic-but-dated REALbasic: The Definitive Guide, but I believe Mark Choate's new book, REALbasic: Cross-Platform Application Development, has done it.

Most significantly, Mark's book covers REALbasic 2005, which is a huge step forward as REALbasic has changed so much since Matt's book was last updated that his book is barely useful.

Second, Definitive was more of an encyclopedia than a tutorial, which was not ideal for beginners. While Mark's style is on the dry side, his book takes more of a tutorial approach. But his coverage is comprehensive, resulting in a book that's still a good reference for those with more RB experience.

At first I was worried when I read in the intro that Mark intended the book for both beginners and advanced users -- rarely does shooting for two targets at once succeed with either -- but he does a surprisingly good job.

The main reason is that instead of building multiple example projects to show off each technique or concept, something most programming books do, with the result that each tiny app feels wimpy and unfinished, mere shells instead of complete projects, Mark concentrates on creating a single main application (an RSS reader) that cleverly makes use of many REALbasic features: user interface, styled text, preferences, files, networking, threads, XML, databases, and more. The result is an extended tutorial that is excellent for the beginner, but one that covers advanced features experienced programmers will find helpful (especially in areas of unfamiliarity).

Especially appropriate is Mark's approach that assumes some programming knowledge. He doesn't talk down to the reader, but assumes you've been using Visual Basic or Java or a scripting language, and thus his detailed explanations about how REALbasic works don't seem chiding but welcome hand-holding (i.e. "Unlike Java, RB works like this..."). His writing style isn't particularly exciting, but it is readable, and his explanations are clear and well-done (I've run into portions of other RB books that were so technical they were incomprehensible).

Some of this detail advanced users will want to skip (unless you like reading about basic datatypes like integers), but it's useful background for beginners and for those coming from a different language, and it makes a good reference section for when you have a need (for instance, you might read the section on variants when you have a project that uses them).

Another positive is that Mark shows a variety of demonstration code. Most is simple, just a few lines illustrating what he's discussing, but it helps to see different kinds of code, especially code not necessarily related to the larger project (the RSS reader application).

The book's title -- Cross-Platform Application Development -- is slightly misleading. It doesn't mean the book focuses on cross-platform development, but rather that that's what REALbasic does. The book is really just a general programming book on how to use REALbasic.

That said, Mark comes from a cross-platform environment and the book is the best I've seen on demonstrating and explaining cross-platform programming techniques. For instance, there's a detailed section covering the differences between Mac OS X, Linux, and Windows file systems (with nice summarizing tables for quick reference later).

I learned some subtle things, like how modal windows in Windows and Linux have built-in close buttons while Mac OS X ones do not -- meaning that a Mac-based programmer might not expect the user to be able to close the window on their own or that a Windows-based programmer might not realize a Mac user would have no way to dismiss the dialog unless a "close" PushButton is added to the window.

As for content, the book covers a massive amount: the language of REALbasic, classes and objects, events, cross-platform development, user interface, XML and Regex, shells, networking and Internet classes, graphics, databases, and scripting.

Unfortunately, not all topics are given the same depth of coverage. For instance, databases -- which really need a book of their own -- are given a meager 40 pages (about the same as console programming and the shell class). Some topics, like QuickTime, are not covered at all.

This means you cannot purchase Cross-Platform and assume it will cover the topics you need help with or that it covers the topic with enough depth to satisfy you (especially if you're an advanced user). If you're concerned, I'd recommend you research the book before buying, possibly even taking the trouble to find it in a brick-and-mortar store (shocking, I know) and flipping through it first.

Of course the above is true of almost any general programming book; REALbasic's features and many uses are much too broad to be covered in a single volume.

Still, if I could only have one REALbasic book, this would be it: for most RB users this book covers the majority of what you need to get started and to keep going. It offers content geared toward those new to REALbasic as well as more experienced users. It's definitely ideal for those stuck on one platform who want to branch out, or those coming from another language, such as Visual Basic.

End of article.