Chi sviluppa programmi desktop non può non aver mai sentito parlare di wxWidgets (prima chiamato wxWindows), una libreria open source che semplifica notevolmente lo sviluppo di applicazioni desktop multiplatform grazie ad un layer di astrazione ad oggetti ben organizzato e funzionale.
Moltissimi sono i progetti sviluppati con questa libreria, di ormai indubbia stabilità : basta dare un'occhiata alla pagina Who uses wxWidgets per averne un'idea.
La libreria è sviluppata in C++ e può quindi essere utilizzata direttamente con questo linguaggio. Per chi invece necessiti di sfruttare le potenzialità di wxWidgets con altri linguaggi, sappiate che ormai sono presenti wrapper per questa libreria per moltissime piattaforme. Andiamo dallo spesso trattato wxPython a wxNET, il wrapper per l'omonima piattaforma Microsoft. Addirittura c'è chi si è preso la briga si sviluppare wrapper per linguaggi funzionali, quali wxOCaml e wxHaskell. Purtroppo alcuni dei progetti sono stati solamente iniziati da programmatori con buone intenzioni ma non sono stati mai portati a termine data la mole di lavoro impressionante che richiede il porting di wxWidgets (che conta qualche centinaio di migliaia di righe di codice): è il caso di wxPHP, per esempio, o di wxJS, arrivato ad un buono stadio ma mai completato del tutto.
Consiglio caldamente di provare la libreria ed i suoi tanti figli. Io mi sono trovato molto bene, e continuo tuttora ad utilizzare wxWidgets sia per lo sviluppo hobbistico che professionale. Oltretutto pian piano si sta affermando anche nel mondo embedded grazie a sviluppatori volenterosi che stanno ultimando i porting verso queste piattaforme ... un ottimo strumento.