]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/book/chap_intro.tex
made wxCondition::Signal() queue the signals generated while there were no waiters...
[wxWidgets.git] / docs / latex / book / chap_intro.tex
index 9e1be01e8b1922fcc1ce9be38644337dbd71a742..132a143725060e84b6d8e5e968ac453a241f05ca 100644 (file)
@@ -9,8 +9,8 @@ Not so long ago, it seemed as though Microsoft was on course to
 take over the desktop for good with the Windows range of
 operating systems. Unix was retreating to server territory and
 had all but given up the fight against NT. Apple was sickening
-and it seemed almost common sense that the quirky Mac had had
-its day.
+(in the non-derogatory sense of the word!) and it seemed almost
+common sense that the quirky Mac had had its day.
 
 At the start of the new century, the picture has changed quite
 dramatically. Linux is advancing from its position of strength
@@ -19,7 +19,7 @@ desktop, where the high price of Windows gives it an advantage.
 Apple has made an impressive comeback and is revamping its own
 operating system. The embedded market continues to explode and
 has given rise to new niches for specialist operating systems.
-The keyword bow is diversity, when the best guess of a few years
+The keyword now is diversity, when the best guess of a few years
 was that Microsoft would conquer all. More than ever,
 application developers need to keep their options open and
 targeting one platform only can be a recipe for commercial (or
@@ -85,24 +85,23 @@ Hardy which needed to run on Windows as well as X-based Unix
 workstations. The existing commercial cross-platform tools were
 deemed too expensive for an in-house experimental project, so
 the only alternative was to build one. wxWindows (w for Microsoft
-Windows, x for the X Windowing System) started off with support for XView and MFC 1.0, and
+Windows, x for the X Windowing System) started off with support for Sun's XView
+and Microsoft's MFC 1.0, and
 AIAI allowed it to be released to the Internet. As it became
 clear that XView was doomed, a Motif port was written. Borland
 C++ users began to request a version that was not dependent on
 MFC, so the Windows port was rewritten to use the native Windows
 API. Over time, a small but enthusiastic community of wxWindows
-users was established and a mailing list set up. Contributions
-and fixes were sent in, the largest contributions being the Mac
-and Xt ports. wxWindows gradually picked up more and more users
-from all over the world: commercial, government, and - most
-gratifying of all - company users who found that wxWindows
-offered a better product, and better support, than the
+users was established and a mailing list set up. Many contributions
+and fixes were sent in. wxWindows gradually picked up more and more users
+from all over the world: academic, government, and corporate users
+who found that wxWindows offered a better product, and better support, than the
 commercial products they had looked at or used.
 
 During 1995, Markus Holzem released his port of wxWindows to Xt,
 the X toolkit. This meant that software could be written that
-would work on X systems without the need for installing Motif,
-which is a commercial product.
+would work on X-based systems without the need for installing Motif,
+then still a commercial product.
 
 In 1996, Julian left AIAI to pursue freelance consultancy, and
 there were few new releases. The seemingly unstoppable advance
@@ -112,52 +111,58 @@ tired and in need of a serious rethink. At the start of 1997 it
 was make or break time - call it a day and move onto other
 things, or commit to re-engineering wxWindows with an API that
 was flexible enough for current and future user interface
-trends, with more 'widgets', and better use of C++. After an
-exchange between Julian Smart and Markus Holzem (the author of
-the Xt port), it was decided that it was worthwhile. Julian
-would do the Windows port, Markus the combined Motif/Xt port,
-with both contributing to the generic parts. wxWindows 2 API
+trends, with more sophisticated widgets, and making better use of C++.
+After a short debate, the effort was relaunched
+with Julian concentrating on the Windows port, and Markus on the combined Motif/Xt port,
+with both contributing to the common and generic parts. wxWindows 2 API
 ideas and code started to take shape.
 
 During 1997 an effort to produce a standard Linux desktop
 environment was underway - GNOME. Its widget set was GTK+, built
 on top of X11 and it looked as though GTK+-based apps were to
-become the standard in the Linux universe. Its one major problem
-GTK+ was C-based, and only a thin (and unportable) C++ wrapper
+become the standard in the Linux universe. Its one major problem:
+GTK+ was C-based, and only a thin (and unportable) C++ wrapper
 existed for it. In August 1997, Wolfram Gloger made a suggestion
 that wxWindows 2 should be ported to GTK+ - Robert Roebling had
 initial reservations, but in general supported the idea. He
 became the prime mover for wxGTK and alphas were made available
 at the beginning of 1998. In May 1998 the Windows and GTK+ ports
 were merged and put into a CVS repository made available to all
-contributors to wxWindows.
+contributors to wxWindows: a decision that has accelerated the development
+effort tremendously. At this point Vadim Zeitlin became a prime
+mover on the Windows port and revamped much of the container
+and collection support.
 
 Markus Holzem had to drop out of the wxWindows 2 effort in early
 1998, but Julian Smart started a new wxMotif port. The idea of
 an Xt port was dropped, since there remain two possibilities for
-free Unix programming with wxWindows: wxGTK, and wxMotif with
+free Unix programming with wxWindows: wxGTK, and wxMotif using
 the Motif clone Lesstif.
 
 In September 1998, Stefan Csomor started a new version of the
 wxMac 2 port based in part on Greg Whitehead's initial work.
-Several releases have been made and the code will be integrated
-into the main CVS stream in Summer 2000.
-
-David Webster and Stefan Neis are working on an OS/2 port, and
-interest has been expressed in ports to other systems, such as
-BeOS.
-
-wxWindows 2.1.11 saw the bundling of Vaclav Slavik's impressive
-wxHTML classes, with subsequent enhancements including
-print/preview ability, and a helpview application and help
-controller class for cross-platform HTML help. wxHTML gives
-applications easy access to enviable formatted text viewing and
-reporting capabilities.
-
-During 2000 wxWindows will adopt Vaclav's XML resource system
-as a replacement for the WXR system; this will allow much
-greater flexibility and portability with support for
-sizers and many more controls than WXR.
+In 1999 wxMac became ready for prime-time and Stefan has
+made it ready for MacOS X.
+
+Also in 1998, Vaclav Slavik burst onto the wxWindows scene with his
+exciting wxHTML module that can now provide applications with (to name but a few) HTML help, superb
+About boxes, and report viewing and printing facilities. Vaclav has
+also written an enhanced resource system for wxWindows based on XML,
+that supports many more wxWindows features than the old WXR-based system.
+
+Since 1998 Robin Dunn has been completely rewriting the old Python/wxWindows
+marriage and now wxPython is another force to be reckoned with in the
+development community.
+
+%David Webster and Stefan Neis have been working on an OS/2 port, and
+%interest has been expressed in ports to other systems, such as
+%BeOS.
+%
+Development on wxWindows is concentrating on achieving more modularity,
+additional sophisticated GUI components, and compatibility with
+a wider range platforms. The wxStudio IDE project promises to
+make wxWindows development much easier and introduce wxWindows to people
+used to rapid application development environments under Microsoft Windows.
 
 \section{How to use this book}
 
@@ -166,3 +171,10 @@ as usual, the ordering reflects a progression from basic concepts
 to more advanced ones, so the first few chapters at least
 should be read consecutively for best effect.
 
+Complete programs illustrating concepts in many of the chapters can be
+found in the accompanying CD-ROM, along with wxWindows itself and lots
+of extra, cool stuff.
+
+We all hope that you enjoy reading this book and, most importantly,
+have fun using wxWindows to build great-looking, multiplatform applications!
+