Cross-Platform GUI Development Tools

And why they are not all they are cracked up to be...

"Why don't you just code the GUI version of Kermit 95 using a cross-platform GUI development system? Then we could have it for Windows and OS/2 at the same time." If it were that easy, of course we would do it that way. In fact, we have some experience with this -- the Kermit 95 Dialer was written using a third-party cross-platform GUI development system. And for precisely that reason, some people complain that it is too big and sluggish.

But Kermit 95 itself could not be written this way -- communications software must be fast and responsive, and of course must have access to device drivers and OS features that are not accessible from cross-platform GUI development systems. OK, so what about IBM's Open32 support in Merlin?

Open32 APIs only support Win32 Window and File APIs. This leaves big gaps:

Lowest common denominator programming looks ugly. Cross platform development means coding to the lowest common denominator of the platforms. The resulting programs never satisfy anyone because none of them takes advantage of the platform-specific features they wanted in the first place.

IBM's Open Class Libraries are only supported on their compilers which run only on Intel operating systems. PowerPC and Alpha users would then be left out in the cold. Only Microsoft develops compilers for non-Intel Win32 systems. And IBM Open Class has not been ported to the Microsoft Visual C++ compiler, due to license restrictions.

To our knowledge the only two packages that have ever been developed using IBM's Open Class Libraries and the Open32 APIs are:

  1. Netscape for OS/2 2.2
  2. Lotus SmartSuite
The development of both these products was paid for by IBM, and both are a year and a half behind the Windows versions in functionality.