Développé par | Vadim Zeitlin (d), Robin Dunn (d) et Václav Slavík (d) |
---|---|
Dernière version | 3.2.6 ()[1] |
Dépôt | github.com/wxWidgets/wxWidgets |
Assurance qualité | Intégration continue |
Écrit en | C++ |
Système d'exploitation | Microsoft Windows, GNU/Linux, macOS et type Unix |
Type |
Class library (d) Widget toolkit Bibliothèque logicielle Composant de base d'interface graphique |
Licence | WxWindows Library License (d) et licence publique générale GNU |
Site web | www.wxwidgets.org |
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
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)
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 les plus populaires restent wxPython, wxPerl et wxBasic[réf. nécessaire].
Notes et références
- « Release 3.2.6 », (consulté le )
- History of wxWidgets
Annexes
Articles connexes
Liens externes
- (en) Site officiel
- (fr) Tutoriel en français
- (fr) Forum wxWidgets en français
- (fr) 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 :
- (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