wxWidgets (anciennement wxWindows) est une bibliothèque graphique libre utilisée comme boîte à outils de programmation d'interfaces graphiques multiplateforme. À la différence d'autres boîtes à outils qui tentent de restituer une interface utilisateur identique sur toutes les plateformes, wxWidgets restitue des abstractions similaires, mais avec l'apparence native de chaque environnement cible, ce qui est moins dépaysant pour les utilisateurs finaux. wxWidgets est disponible entre autres pour Macintosh, GNU/Linux et Unix, Microsoft Windows, OS/2, ainsi que pour du matériel embarqué sous GNU/Linux ou Windows CE

wxWidgets est diffusé sous licence wxWidgets License, similaire à la licence LGPL.

Quelques exemples de logiciels qui utilisent la boite à outils wxWidgets : Audacity, Filezilla, iMule ou KiCad.

Historique wxWidgets fut créé en 1992 par Julian Smart, un chercheur en intelligence artificielle. Celui-ci avait besoin d'une bibliothèque multiplate-forme pour lui permettre de programmer sous Unix et Windows. Les outils multiplate-formes existants étaient jugés trop chers, Julian Smart en commença un nouveau : wxWindows (w pour Windows, x pour X).

Au départ, le projet supportait XView mais lorsque Sun en arrêta le développement, ce support fut abandonné au profit de Xt et MotifHistory of wxWidgets.

Une communauté se créa autour de la bibliothèque et il y eut de nombreuses contributions pour les ports Unix et Mac.

En 1996, wxWindows fut repensé pour s'adapter plus efficacement au futur et pour obtenir une API claire et moderne. wxWindows 2 était né. Un port pour GTK+ fut créé.

Les ports continuèrent leur évolution, des widgets importants furent ajoutés comme wxHTML et diverses classes non graphiques.

En 2000, un port wxUniversal fut créé, il s'agit d'un port fournissant des widgets à des systèmes qui n'en ont pas. Cela permit notamment de créer un port X11 : wxX11 qui permet de programmer sans avoir besoin de GTK+ ni de Motif.

Depuis le , wxWindows a été renommée wxWidgets afin d'éviter tout conflit de marque avec la firme Microsoft.

Bindings (liaisons) La bibliothèque originale wxWidgets est écrite en C++ mais il existe de nombreux bindings vers les langages de programmation courants : Python - wxPython Perl - wxPerl BASIC - wxBasic Lua - wxLua OCaml - wxCaml JavaScript - wxJavaScript Java - wxJava ou wx4j Ruby - wxRuby Eiffel - wxEiffel Haskell - wxHaskell C#/.NET - wx.NET Euphoria - wxEuphoria D - wxD PHP - wxPHP Erlang - wxErlang Hollywood - RapaGUI

Certains sont davantage développés que d'autres et .

Notes et références

Annexes Articles connexes

Liste de bibliothèques d'interface utilisateur Qt GTK+

Liens externes Site officiel Tutoriel en français Forum wxWidgets en français Site d'entraide francophone

Projets associés En plus des nombreux bindings de wxWidgets et des nombreuses applications qui utilisent cette bibliothèque, il existe divers projets associés destinés aux développeurs : Wiki officiel wxGuide : il s'agit d'un guideline pour développer des applications wxWidgets wxCode : ce site rassemble des exemples de code et des classes associées au projet wxoGuide : un guide pour développer des applications multiplate-forme bien pensées

Catégorie:Widget Catégorie:Logiciel libre sous licence LGPL Catégorie:Logiciel pour Unix Catégorie:Logiciel pour Windows Catégorie:Logiciel pour macOS Catégorie:Logiciel pour OS/2 Catégorie:Logiciel sorti en 1992