PRO'S AND CON'S
PRO'S OF USING CROSS-PLATFORM GUI'S
- most cross-platform GUIs let you develop multi-platform application interfaces faster, and make the subsequent maintenance of the user interface easier since:
- there is only 1 set of source code (for the interface) to deal with
- it is the cross-platform GUI itself that handles the integration of the user interface with each target platform
- there is less need for the developer to have platform-specific expertise since the toolkit itself takes care of the specific details
- using a cross-platform GUI lets the developer get a head-start on application development since they don't need to wait for the platform-selection decision
- some cross-platform GUI's extend the functionality of a platforms' standard GUI
- for example, not all window systems have keyboard shortcuts for selecting menu options - such as "alt-F" for invoking the file menu
- with cross-platform GUIs based on the superset philosophy, this functionality can be extended to all systems
- an example of this: Open Interface extends this very functionality for the OPEN LOOK platform
- a developer can get a consistent look and feel for an application across ALL platforms
- products developed using a cross-platform GUI, have a potentially increased lifetime AND an increased target customer group
- for example, if you were to develop a package for platform X only, the lifetime of your product could be prematurely limited by the lifetime of platform X
- so, if you use a PIGUI to develop your product, it could be available for platforms X, Y and Z. Now, all 3 of these platforms would have to die before your product is forced into a premature death as well
- furthermore, you can now market your product to the users of all 3 platforms rather than just the users of one single platform
- increases the ability to re-use application components across platforms
CON'S OF USING CROSS-PLATFORM GUI'S
- performance degradation: most cross-platform GUI's slow the execution of the code, however there are some execeptions
- for example, Motif and OPEN LOOK applications developed with Open Interface are more responsive than applications developed with their native toolkits
- cross-platform GUI's using the common denominator philosophy cause a loss of the major features of a particular platform (ie. development is limited to the features set provided by the PIGUI)
- if platform X has widgets 1 - 10 and platform Y has widgets 5 - 15, the cross-platform GUI toolkit would only offer the intersection of these two sets (ie. widgets 5 - 10; widgets 1 - 4 and 11 - 15 would not be available for use with the PIGUI)
- the problem increases as the number of supported platforms increases
- not all cross-platform GUI's guarantee a precise native look and feel
- this problem is not as common in layered toolkits, such as XVT since the cross-platform GUI is built on top of the native toolkit; however, the native look and feel can be limited when the common denominator approach has been taken (i.e. 100% functionality may not be available)
- loss of native look and feel is more common in toolkits such as Open Interface that offer the superset of widgets and widget functionality since the developer can use any widget with any platform
- less expertise is available since there are fewer people who know how code any specific PIGUI than there are people who know how to code a platform-specific GUI
- however, this will only improve with time
- complexity of developing the application's user interface can increase
- specific details unavailable