From: adam AT appleby DOT com ("Adam Miller") Subject: Re: wintif 17 Oct 1996 12:50:59 -0700 Sender: daemon AT cygnus DOT com Approved: cygnus DOT gnu-win32 AT cygnus DOT com Distribution: cygnus Message-ID: <9610171703.AA20665.cygnus.gnu-win32@smtp.appleby.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Original-To: X-Msmail-Priority: Normal X-Priority: 3 X-Mailer: Microsoft Internet Mail 4.70.1155 Original-Sender: owner-gnu-win32 AT cygnus DOT com > > > Alternatively, can anyone give me good advice re. porting an > > application from X/Motif UNIX (g++) to Win32 using gun-win32 and some > > other tool/kit to slot in easily instead of X/Motif? > I've had some good success using Exceed by Hummingbird. Exceed is an X-server product that runs on NT. They supply a development kit with a motif, xt, x library. You compile your motif code on NT with their libraries and you can run the app locally with their X-server. Note that the app maintains the motif look/feel and can be quite discomforting to end users who might be expecting a native ms-windows app on their workstation. However, the Exceed library performs remarkably well. I ported a very large motif app from a Unix (mostly sun) platform to NT. This app had it's own widgets and subclassed many of the motif widgets. Exceed handled it rather well. Of course, Exceed doesn't account for any function calls that fall out of the realm of X, like any unix functionality. So, the scope is more limited than NuTcracker. The biggest problem with Exceed was their handling of XtAppAddInput, and the whole handling of sockets in general. The app I ported had many sockets open collecting realtime data (a stock market application). I had to rewire the handling of XtAppAddInput, spawn off a seperate thread to multiplex the sockets and pass the messages back to the thread running the X loop. I don't know if Exceed 5 addresses any of these problems, I had significant exposure to Exceed 4. I checked out NutCracker also, and at the time the licensing fees where not worth it. I think they've changed their approach. I understand they take the same tack as Hummingbird, supplying a motif/X library that works with their X server. They advertise that their X server can display the apps using an ms-windows look/feel. They also hinted that they were moving in a direction whereby the X-server would be more transparent, whereby the end user would not know that it was there. Using the Exceed approach, we had a hard time convincing customers that the application they were using was a native NT app. Every time we demoed the thing, people thought that we were just using an X server and running the app on a unix box. We chose the Exceed approach to maintain a very high profile account and to port the app to NT as quick as possible. If we had the time, it probably would have been better to rearchitect the application to NT, perhaps using wxWindows or something. The whole motif on NT approach ended up being counter productive to the whole business aspect of selling software. It was just too foreign for people to accept. The other approach was Bristol which goes the other way around, takes Win32/MFC code and allows it to be compiled on unix with a motif look/feel. However, that doesn't help musch when you have a large body of motif code you want to do something with on the NT front. The real solution, don't embed software design into limiting frameworks like Motif or Win32. If the business processing had been better divorced from the display presentation, the idea of porting to a totally disparate environment might not have seemed so painful. Adam Miller Appleby Technologies Inc. - For help on using this list, send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".