wxWidgets
wxWidgets software | |
---|---|
Genere | Libreria software (non in lista) |
Sviluppatore | Sviluppatori wxWidgets |
Ultima versione | 3.2.5 (13/05/2024) |
Ultima beta | 3.1.3 (28/10/2019) |
Sistema operativo | Multipiattaforma |
Linguaggio | C++ |
Licenza | Licenza wxWidgets (licenza libera) |
Sito web | www.wxwidgets.org/ |
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"[1]. Il progetto è stato iniziato nel 1992 da Julian Smart[2], personaggio di spicco della comunità, che è ancora sviluppatore[3].
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
[modifica | modifica wikitesto]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[4].
Software che utilizza wxWidgets
[modifica | modifica wikitesto]- 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[5]
- 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
Note
[modifica | modifica wikitesto]- ^ 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. Licenza, su wxwidgets.org. URL consultato il 29/08/08.
- ^ About the wxWidgets Project [collegamento interrotto], su wxwidgets.org. URL consultato il 29/08/08.
- ^ About Julian Smart, www.anthemion.co.uk, su anthemion.co.uk. URL consultato il 29/08/08.
- ^ Name change, su wxwidgets.org. URL consultato il 29/08/08.
- ^ (EN) GNUMed, su wiki.gnumed.de. URL consultato il 28 marzo 2017 (archiviato dall'url originale il 14 maggio 2011).
Voci correlate
[modifica | modifica wikitesto]- wxHaskell per Haskell
- wxEiffel per Eiffel
- wx.NET per C#/.NET
- wxGlade GUI designer per wxWidgets.
- WxPython
Altri progetti
[modifica | modifica wikitesto]- Wikimedia Commons contiene immagini o altri file su wxWidgets
Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Sito ufficiale, su wxwidgets.org.
- Repository sorgenti di WxWidgets, su github.com.
- (EN) WxWidgets, su Free Software Directory.
- (EN) Annuncio del cambio di nome, su wxwidgets.org. URL consultato il 5 maggio 2019 (archiviato dall'url originale il 23 luglio 2008).
- (EN) Componenti aggiuntivi per wxWidgets, su wxcode.sourceforge.net.
Binding verso altri linguaggi
[modifica | modifica wikitesto]- (EN) [1] binding wxBasic per il BASIC
- (EN) [2] binding wxPerl per il Perl
- (EN) [3] binding wxPython per il Python
- (EN) [4] binding wxRuby per il Ruby
- (EN) [5] binding wxLua per il Lua
- (EN) wxJS Archiviato il 6 febbraio 2006 in Internet Archive. per JavaScript
Documentazione di riferimento
[modifica | modifica wikitesto]- (EN) Cross-Platform GUI Programming with wxWidgets - probabilmente il primo libro pubblicato che copre interamente ogni aspetto di wxWidgets.
- (EN) Drawing and Printing in C++ with wxWidgets - Questo capitolo introduce il concetto di device context, generalizzando il concetto di una superficie da disegno come una finestra o una pagina stampata. Discute le classi di device context disponibili e il set di strumenti di disegno che wxWidgets fornisce per gestire caratteri, colori, disegno di linee e riempimenti.