Like its distant relative Microsoft Visual Basic, Satellite Forms is many things, including these:
Satellite Forms' Programming Model
If you're one of the millions of people familiar with Microsoft Visual Basic, you'll be able to pick up Satellite Forms very quickly. In fact, the languages are so similar that I won't bother to go into details on the syntax specifics. (Satellite Forms' own documentation points the new programmer to "any good bookstore" for programming books on Visual Basic!) Suffice it to say that the constructs you've grown to know and love (well…not many love VB but you get the point) are alive and well with Satellite Forms. Variables are declared using the dim keyword, lines of code have no terminating character (such as the semicolon used in Java and C), and methods of objects are called using the dot (.) notation, as in Object.method().
Programming in Satellite Forms is event-driven, meaning that all code is run based on some event triggered by the user, the application, or the underlying operating system. Sample events that are often handled include Form.AfterLoad(), called after a form is first loaded, and Control.OnClick(), called when a control is selected with a user's stylus. Related properties and methods can be contained within an object, and a basic object model is included. This model includes the App object, the Control object, the Extension object, the Field object, the Form object, and the Table object. Just like Visual Basic, multiple objects can be grouped together into a collection. The object model includes the Controls, Extensions, Fields, Forms, and Tables collections.
Database Access Capabilities
While it's possible to build virtually any type of PalmOS application using Satellite Forms, it's predominantly used to build forms-based data-display and acquisition applications for mobile corporate users. The Satellite Forms development tools and process center around three primary processes:
-
The identification and retrieval of data from a desktop or enterprise database
-
The viewing and editing of that data on a handheld device
-
The syncing (a commonly used term for the data synchronization process) of the edited data back to the original desktop or enterprise database via the Satellite Forms conduit
NOTE
Some explanation of the term conduit may be required here. A conduit is a piece of software that runs on a desktop client or enterprise server, usually in the form of a DLL or shared object. This software performs the task of retrieving data from the handheld computer (a PalmOS device, in the case of Satellite Forms) and updating the data in the data store. The Satellite Forms conduit is distributed as an ActiveX control; developers can build applications using this control by trapping the HotSyncStatus event that's fired when a user presses the HotSync button on his or her docked device.
Databases can be identified or created at design time through the use of the data editing/import tools within the App Designer. Whatever the choice, Satellite Forms takes a snapshot of the targeted data and saves it within one or more local dBASE-formatted files. The developer must either write custom code that copies the data from these files back to the original database on a HotSync or make use of an enterprise sync tool such as Pumatech's Intellisync Anywhere (currently used by Yahoo! Mobile and other large organizations).