From Wikipedia, the free encyclopedia

Jump to: navigation, search
Developed by wxWidgets Developers and Contributors
Initial release 1992
Latest release 2.8.10 / 2009-03-17; 21 days ago
Written in C++
Operating system Cross-platform
Type Development library
License wxWindows Library Licence
Website http://www.wxwidgets.org/

wxWidgets (formerly wxWindows) is a widget toolkit for creating graphical user interfaces (GUIs) for cross-platform applications. wxWidgets enables a program's GUI code to compile and run on several computer platforms with minimal or no code changes. It covers systems such as Microsoft Windows, Mac OS X, Linux/Unix (X11, Motif, and GTK+), OpenVMS, OS/2 and AmigaOS. A version for embedded systems is under development.[1]


[edit] History

wxWidgets (initially wxWindows) was started in 1992 by Julian Smart at the University of Edinburgh.[2] He attained an honours degree in Computational Science from the University of St Andrews in the year 1986, and is still a core developer.[3][4]

On February 20, 2004, the developers of wxWindows announced that the project was changing its name to wxWidgets, as a result of Microsoft requesting Julian Smart to respect Microsoft's United Kingdom trademark of the term Windows.[5]

[edit] License

wxWidgets is distributed under a custom made licence, similar to the GNU Lesser General Public License, with an exception stating that derived works in binary form may be distributed on the user's own terms. This licence is a free software licence, making wxWidgets free software.[6]

[edit] Implementation

The wxWidgets library is implemented in C++, with bindings available for many commonly used programming languages, among them, Python (wxPython), Erlang (wxErlang), Haskell (wxHaskell), Lua (wxLua), Perl (wxPerl), Ruby (wxRuby), Smalltalk (wxSqueak), Java (wx4j) and even JavaScript (wxJavaScript). For a complete list, with links to the respective project sites, see the external references at the end of this article. There is also PLT Scheme, which uses an incompatible branch of wxWindows (version 1), created in 1995. The toolkit is deeply integrated with the language run-time (garbage collection, resource administration) unlike in other languages, which simply provide a library binding.

wxWidgets is best described as a native mode toolkit as it provides a thin abstraction to a platform's native widgets, as opposed to emulating the display of widgets using graphic primitives. Calling a native widget on the target platform results in a more native looking interface than toolkits such as Swing (for Java), as well as offering performance and other benefits.[citation needed]

The toolkit is also not restricted to GUI development, having a built-in ODBC-based database library, an inter-process communication layer, socket networking functionality, and more.

[edit] RAD tools and IDEs for wxWidgets

[edit] Applications built using wxWidgets

[edit] See also

[edit] References

  1. ^ "wxEmbedded: wxWidgets for embedded applications". Sourceforge.net. http://www.wxwidgets.org/docs/embedded.htm. Retrieved on 2007-04-23. 
  2. ^ http://wxwidgets.org/about/
  3. ^ About Julian Smart, www.anthemion.co.uk
  4. ^ Julian Smart, bookfayre.cz
  5. ^ Smart, Julian; Robin Dunn (August 2004). "Name change". Sourceforge.net. http://wxwidgets.org/about/name.htm. Retrieved on 2007-04-23. 
  6. ^ ""Licence" page on website". http://www.wxwidgets.org/about/newlicen.htm. "The wxWindows Licence is essentially the L-GPL (Library General Public Licence), with an exception stating that derived works in binary form may be distributed on the user's own terms." 

[edit] External links

Personal tools