Go to 'Home' Go to 'Products' Go to 'Tutorials' Go to 'Company' Go to 'Contact'

Much of the work in porting an application to another platform is repeated every time you go through the process. In order to speed this process up, and reduce the amount of cross platform understanding required to do basic things, Goblin was written in a manner that creates abstractions of common operations. These abstractions take the form of code based calls that work on both Windows and MacOS, hiding the OS specific requirements from the engineer (but not preventing them from being accessed) and creating a single code base to run on both platforms.

The File System is a great example of the difference between how the MacOS and Windows environments work. Goblin gets around having to understand this by providing its own abstract File System that works on either platform. Rather than requiring the engineer to understand files on both platforms, a set of common access tools allow the application to locate, open, read from, and write to files as required. The system deals with folder references, shortcuts, and absolute and relative path references on both platforms.

Back to the top



Windowing

Goblin's base application and window classes handle the construction of your app's window on both platforms. By creating a Goblin app, you have created for you a system that handles all of the OS specific message handling and window construction routines. If you want access to platform specific messages, you can get them, but the commonly used ones have already been handled by your application class and translated in to Goblin common messages for you to process.

Functions such as minimizing on Windows are implemented in a logical manner on the MacOS (hiding, in that case) and accessed via a single Goblin call. Window Invalidation is handled by the rendering pipeline so that you know that your interface will remain updated and visible on both platforms without the addition of any platform specific window invalidation code.



Data

In order to make sure that data access works identically on both platforms, Goblin creates abstractions for many common data types. Sized data types such as int8 and int32 (8 and 32 bit integers respectively) ensure that when you create a data object you know how big it will be regardless of platform, and the same code based name is used for the data on both.

Other, more complex data types such as strings, points, and rectangles have Goblin versions that allow you to use common code across platforms.

Back to the top



Single Codebase

The aim of the toolkit is to make sure your engineers only have to write one application. A single code base works on both platforms without requiring any platform specific code to produce the application. In addition, your resource files work on both platforms so that your app looks the same regardless of where it's being run. The toolkit tries to make cross platform development transparent.

Back to 'Goblin'



Copyright 2003 Ambient Design Ltd - So There

- Home - Products - Tutorials - Company - Contact Us - Top -