On Fri, 18 Aug 2000, Pablo De Napoli wrote:

> I think that one good idea for writing a port of lyx to win 32 would be
> using a GUI that can be used both on unix and Windows.
> 
> One option would be gtk (but not gnome)
> 
> Other option would be the Fast ligth toolkit (see http://www.fltk.org)
> which is a free (LGLP'ed) toolkit compatible with Xforms. I think that
> whith a little effort we may write an fltk frontend (I will try, but I'm
> not promising anything)

I continuously monitor the market for portable toolkits across platforms.
At this point, and we have not moved for a few years, the only viable
toolkits for Windows (IMO) are the native C Windows 32 interface, the
Microsoft C++ MFC interface, and Qt.

Qt for Windows is per-pay, and not very common. MFC is also per-pay, but
at least the most common platform, since Visual Studio is the de-facto
leading compiler on the Windows platform.

The problem with fltk, WxWindows, GTK, and the rest of the free portable
toolkits are that they are not polished enough. The quality is simply not
high enough, and most often, the toolkits originated in a Unix setting,
and was then more or less professionally ported to Windows in a more or
less "proof-of-concept" manner.
In other words: They are simply too buggy, and/or de-facto unsupported.

I think we should port to MFC, because this is the most common toolkit on 
the Windows platform when it comes to C++. It is important to me that 
the Windows port will appeal to programmers with a Windows
background, rather than to the much smaller group of programmers with a
Unix background that has an interest in a Windows port.
Finally, in my experience, you are very productive with this toolkit.

When all of that has been said, I would like to stress that we do not have
to make an exclusive decision. The framework is being build such that
multiple ports can co-exist. The idea is to let Darwin play: Death of the
least fit.

My personal feeling is that FLTK, Gtk for Win32 and WxWindows are not fit
enough, but I'm not Darwin, and you can prove me wrong. In particular, a
port with GTK for Windows would be relatively easy when the GTK for Unix
port is done, and at that point, it might be very fit, because the
developer crowd behind GTK is pretty large, and it would then only take
one or two programmers to keep the Windows port alive. Similarly for Qt,
but in this case, we have an addition requirement: Somebody has to have a
license for Qt for Windows to produce Windows binaries. (Maybe Troll Tech
would sponsor such a license to the LyX team at some point, who knows, but
this will not happend before we have a working Qt port.)

This argument about an easy port has been demonstrated to work with the
existing Win32 port that requires an X server.

But then it all boils down to this as my advice:

- Concentrate on the GTK and Qt for Unix ports first.
- If/when those are done, see if an easy port for Windows is possible.

- The alternative route is this:
  If you have the energy, try to do an MFC port, because once this is
  completed, it will be the most fit Windows port, and could even attract
  some Windows programmers.

- Forget about FLTK and WxWindows for now.

Greets,

Asger


Reply via email to