WxWidgets
# WxWidgets

In informatica, wxWidgets (conosciuto una volta con il nome di wxWindows) è un toolkit grafico multipiattaforma e open source, cioè una libreria di componenti elementari per costruire un'interfaccia grafica (GUI).

wxWidgets è distribuito secondo "una licenza LGPL modificata, ma approvata dalla OSI, in termini più permissivi". Il progetto è stato iniziato nel 1992 da Julian Smart, personaggio di spicco della comunità, che è ancora sviluppatore.

wxWidgets permette a un programma di essere compilato ed eseguito su numerose piattaforme informatiche con poche o nessuna modifica; le principali sono Windows (compreso Windows Mobile), Apple Macintosh, Linux/Unix (per X11, Motif e GTK+), OpenVMS e OS/2. È in fase di sviluppo una versione embedded.

La libreria è implementata in C++ ed esistono binding per numerosi linguaggi di programmazione, tra cui Python (wxPython), Perl e Ruby. Per la lista completa, con collegamenti ai rispettivi siti di progetto, consultare la lista di collegamenti esterni in fondo a questo articolo.

wxWidgets è un toolkit nativo: invece di emulare il disegno dei componenti usando le primitive grafiche delle diverse piattaforme, wxWidgets fornisce un sottile strato di astrazione verso i componenti nativi. In altre parole, il codice wxWidgets preferisce usare un componente nativo per quella piattaforma, invece di reimplementarlo usando widget emulati. Questo porta a un'interfaccia molto più veloce e simile a quella nativa rispetto a toolkit come Swing, usato da Java.

wxWidgets non è solo un'interfaccia grafica, ma ha anche primitive per il collegamento ai database attraverso ODBC, per la comunicazione interprocesso, per il networking ed altro.

## Cambio di nome da wxWindows a wxWidgets

Il 20 febbraio 2004 gli sviluppatori di wxWindows hanno annunciato che il progetto avrebbe cambiato il nome in wxWidgets, dopo le pressioni fatte da Microsoft su Julian Smart affinché rispettasse il termine windows, registrato nel Regno Unito.

## Software che utilizza wxWidgets

* aMule - un client multipiattaforma per la rete peer-to-peer eDonkey
* Audacity - un editor audio open source
* GNUmed - software libero multipiattaforma per la gestione di dati medici
* AOL Communicator, su aolepk.com. URL consultato il 3 giugno 2006 (archiviato dall'url originale l'11 giugno 2006).
* BitWise IM - un instant messenger multipiattaforma
* Code::Blocks - un IDE per C/C++, open source
* CodeLite - un IDE per C/C++, open source
* wxFormBuilder - uno strumento per la creazione di GUI (con output in C++)
* TortoiseCVS - client CVS per Windows, open source
* Chandler - personal information manager
* E-TextEditor - editor multipiattaforma (simile al TextMate del MacOS)
* Editra - editor multipiattaforma, open source
* FlameRobin - interfaccia multipiattaforma di amministrazione per database tipo FireBird, open source
* Money Manager Ex - software multipiattaforma per la gestione del bilancio familiare, open source
* FileZilla - un client FTP, open source
* Hollywood - un linguaggio di programmazione (utilizza wxWidgets nel suo plugin RapaGUI)
* Kirix Strata - uno strumento per l'analisi interattiva dei dati
* Mindscript - un IDE open source
* Xara LX - un programma di grafica vettoriale su cui si sta effettuando il porting utilizzando le wxWidgets
* wxDevC++ - un IDE open source basato sul Bloodshed Dev-C++
* Unicode Dictionary - un programma gratuito per la visualizzazione di dizionari Unicode
* Osiris SPS - un programma gratuito per la creazione di portali web distribuiti tramite p2p e autonomi dai comuni server.
* Cafu Engine - motore 3D grafico e "game development kit", open source
* Ultraedit - Text editor e Hex editor
