Novell Home

REALbasic Cross-Platform Application Development (Book Review)

From Developer Community

REALbasic Cross-Platform Application Development by Mark S. Choate
Published by Developer's Library
ISBN 0672328135

Reviewed by Richard Smith

Introduction

While software development on Microsoft Windows products and Apple's Macintosh have long been considered much easier than development for Linux, all of that has changed in the past couple of years with the emergance of REALbasic from Real Software. Developers on Linux now have a tool that provides the same drag-and-drop development paradigm that Windows and Mac users have long considered the standard. Yet even with it's simplicity, REALbasic brings many of the features a developer expects from a language/IDE. REALbasic is object oriented, it is statically typed and it supports extensions to itself.

On to the book


This book takes the typical tutorial style of presentation of the content, in that it begins with the very basic requirements of REALbasic development, covering data type, how to do declarations, the use of variables and constants and the basics of building modules. Coverage of the way REALbasic handles program flow explains how a developer controls what his/her application does based on many of the standard loop and conditional methods familiar from most programming languages.

After these basic principles have been covered the author covers just how REALbasic is object oriented with in-depth discussions of classes and the standard OO topics of inheritance, overloading, encapsulation, scope and garbage collection. For a anyone new to software development, this section will server as very good primer on object oriented programming, covering these topics with very good examples.

Now the book swings into the topic that will catch most people's attention when they see the books' title, Cross Platform Application Development. Mr. Choate spends the first part of this section explaining the three platforms REALbasic covers, Windows, Macintosh and Linux. This section contains some very good explanations of the difference between the three platforms and how to deal with them either via setting for the compiler within the REALbasic IDE or within your program's code. two major areas covered here are file and directory handling and differences in how each platform handles the user interface.

Next the books spends many pages covering program windows and the many controls that REALbasic provides by default for building the user interface within those windows. A number of examples are provided to explain how to configure and program many of the standard controls such as listboxes and pushbuttons. All of these discussions are related to the author's goal of designing a desktop application.

Since a primary goal of this book is cross-platform development, the next topic is XML and how to use it for processing input and output within REALbasic programs. The XML section is completed with examples of using regular expressions and how apply styles to your program's text displays.

The following section of the book covers REALbasic console application development and how to build console applications that will run on multiple platforms. REALbasic is an excellent choice for creating user friendly front-ends for utility programs typically written to be run on a command-line. With today's ever increasing reliance on easy-to-use interfaces, this feature is a real strong one for REALbasic and Mr. Choate explains how to effectively front Subversion, a popular version control tool, with a REALbasic front-end. Developers can take this information and use it to simplify and consolidate the numerous small little utility programs many of us have created and use on a daily basis.

The database section that follows is one that many developers will find very useful. There are examples of creating and working databases, not only within your code, but also ways to do databases without even coding. While the latter is useful for many simple, single users applications, anyone planning to build any type of a multiuser database will find the examples on building, populating and managing databases using your program code very helpful. Also covered is SQL and how a developer might go about using a databases built-in SQL language rather than the SQL interfaces provided by REALbasic.

Section Nine in the book takes a close look at network and internet programming using REALbasic's Networking classes. Given that so many applications today require networking in some form, whether it is a basic function of the application or used from something as simple as automating application updates via the internet, this section will be very important to most developers. A simple HTTP server application is used to illustrate how these classes provide many of the features required for feature rich network applications.

The book closes out with sections of graphics and extending REALbasic, along with how to use RBScript (a subset of the REALbasic language) to script applications such as Microsoft Office. This latter feature will be very useful to the many Office users who have long extended Office as a platform for many useful programs.

Conclusions

Anyone interested in REALbasic should find this book of use. The book would be of particular use to any Visual Basic developer who was considering making a change in development tools that would allow for cross-platform development. While perfect port of Visual Basic applications is not always possible, REALbasic does provide some degree of portability for existing VB code. This book will also be a great resource for anyone new to software development who would like to have as many options for target platforms as possible with one tool.

Novell® Making IT Work As One

© 2009 Novell, Inc. All Rights Reserved.