|
Considerations |
|
When developing Applications for the Desktop (using any coding environment) there are some differences to the way Projects should be structured and planned when compared to Web based Projects. For the most part, Web based use of the SWF format does not involve communicating or manipulating system information on the end users PC. All of the functions called are usually internal to the SWF and therefore coding can be quite straightforward with the same results from any browser, or any system.
However, when developing for the desktop, there are a number of factors which must be considered, particularly for more complicated application development. For example, when trying to retrieve information from the Users System (such as System Paths, File & Folder Names etc) the speed at which the result is returned can be dependent on a number of factors unique to the system, including CPU speed, available RAM and speed of Hard Drive. Whilst the differences are most likely a matter of milliseconds, it can still be important to account for this to ensure maximum compatibility of your Application.
This is just one of the considerations that ANY Application Developer must take regardless of which coding environment they have opted to use. Whilst Zinc™ v2 requires zero investment of time to learn and integrate the 800+ Commands, a small investment of time is required to understand the intrinsic differences between coding for the web, and coding for the Desktop.
We have compiled a list of considerations below which are often overlooked by first time Desktop Developers:
| • | System & File Paths |
Most path references online are relative and there is no need to use absolute paths. However, when coding for the desktop, it is always advisable to use absolute paths for a number of reasons. Firstly, there is no knowing where exactly the user will decide to launch the compiled Application from. It could be from a CD, it could be from the Hard Drive. The second reason is that the internal SWF isn't ever physically available on the users Hard Drive (it is contained within the EXE shell) and therefore doesn't "know" what it's current location is and, more importantly, doesn't know what is relative to it. For this reason, all paths should be appended with the property mdm.Application.path which contains the current location of the EXE File.
| • | External System Commands |
When executing a command which does anything involving a process outside of the SWF, care must be taken to allow sufficient time for the action to successfully complete. For example, retrieving 1000 records from an Access Database might take less than a second on a more recent system, but could take a couple of seconds on an older machine with a slower CPU and less recent Operating System.
| • | Windows & Mac OSX |
With Zinc™ v2.5 (and the Mac OSX Plug-In) you can build applications for both Windows and Mac OSX from a single source SWF. However, aside from characteristic differences there are also programming differences to consider when developing cross platform Projectors. For example, path references are different on a Mac OSX to Windows and care must be taken to use the correct format for the correct Platform. For more tips on Cross Platform Development, please visit the MDM Support Form.