wxWidgets

Un article de Wikipédia, l'encyclopédie libre.

WxWidgets
Description de l'image WxWidgets.svg.

Informations
Développé par Vadim Zeitlin (d), Robin Dunn (d) et Václav Slavík (d)Voir et modifier les données sur Wikidata
Dernière version 3.2.4 ()[1]Voir et modifier les données sur Wikidata
Dépôt github.com/wxWidgets/wxWidgetsVoir et modifier les données sur Wikidata
Assurance qualité Intégration continueVoir et modifier les données sur Wikidata
Écrit en C++Voir et modifier les données sur Wikidata
Système d'exploitation Microsoft Windows, GNU/Linux, macOS et type UnixVoir et modifier les données sur Wikidata
Type Class library (d)
Widget toolkit
Bibliothèque logicielle
Composant de base d'interface graphiqueVoir et modifier les données sur Wikidata
Licence WxWindows Library License (d) et licence publique générale GNUVoir et modifier les données sur Wikidata
Site web www.wxwidgets.orgVoir et modifier les données sur Wikidata

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, avec pour différence cependant qu'une compilation statique n'impose pas que le programme soit également sous licence LGPL.

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

Sous le nom « wx », wxWidgets est la base de l'interface utilisateur des applications développées avec C++BuilderX, de Borland.[pas clair]

Historique[modifier | modifier le code]

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 Motif[2].

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)[modifier | modifier le code]

La bibliothèque originale wxWidgets est écrite en C++ mais il existe de nombreux bindings vers les langages de programmation courants :

Certains sont davantage développés que d'autres et les plus populaires restent wxPython, wxPerl et wxBasic[réf. nécessaire].

Notes et références[modifier | modifier le code]

Annexes[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Sur les autres projets Wikimedia :

Liens externes[modifier | modifier le code]

Projets associés[modifier | modifier le code]

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 :

  • (en) Wiki officiel
  • (en) wxGuide : il s'agit d'un guideline pour développer des applications wxWidgets
  • (en) wxCode : ce site rassemble des exemples de code et des classes associées au projet
  • (en) wxoGuide : un guide pour développer des applications multiplate-forme bien pensées