JUG Sardegna supports Devoxx 2012
Vuoi ricevere uno zainetto? Clicca qui

Java User Groups
Java.net Partner
Get Firefox!

Wx Python In Action



Recensione di StefanoSanna

Sviluppare applicazioni con strumenti e framework multipiattaforma (o quantomeno in grado di semplificare il porting del codice da una piattaforma all'altra) consente di ampliare la propria offerta, ottimizzando il codice, riducendo i bug indotti dal porting e risparmiando sul costo complessivo di produzione del software. Lo sanno bene i programmatori Java, per i quali e' usuale che una applicazione ben progettata funzioni pressoche' senza alcuna modifica su piattaforme diverse. La core library, l'accesso al filesystem e alle risorse di rete, il frontend grafico, il modello multithreading: questi alcuni degli aspetti piu' critici che una libreria di classe multipiattaforma risolve.

Fatta questa premessa, e' il momento di presentare i protagonisti del libro "wxPython in Action". wxWidgets e' una libreria di componenti grafici multipiattaforma e multilinguaggi. Attualmente e' disponibile per numerosi sistemi operativi, anche se sarebbe piu' corretto dire che esite per diversi framework grafici: Windows (desktop e CE), Mac OS X, GTK+, X11 e Motif. Disponibile per numerosi linguaggi, tra cui C++ (linguaggio principale), Python, Perl, e C#/.NET, wxWidgets e' un progetto molto attivo e costantemente aggiornato. Curiosamente, i progetti di binding per Java si sono arenati alcuni anni fa, probabilmente perche' i framework grafici per questo linguaggio sono sufficientemente robusti e performanti da non richiedere ulteriore "concorrenza". Non ultimo, la onnipresenza della virtual machine rende superfluo lo sviluppo di ulteriori librerie crossplatform. wxWidgets e' distribuito con una licenza che e' di fatto una variante della LGPL.

Il secondo protagonista del libro e' Python, un linguaggio interessante e molto potente, i cui runtime e libreria hanno una forte vocazione multipiattaforma. Pur essendo piu' vecchio di Java e inizialmente sottovalutato nelle sue capacita', negli ultimi anni Python ha conosciuto una "seconda giovinezza"; merito della rapidita' di sviluppo, della capacita' di accedere rapidamente a funzioni native del sistema operativo, di integrarsi bene con ambienti complessi come Java (si pensi a Jython). La combinazione Python e wxWidgets e' particolarmente interessante, perche' consente di avvantaggiarsi della rapidita' di sviluppo di Python, delle prestazioni di wxWidgets e soprattutto della portabilita' di entrambi. wxPython (http://wxpython.org/index.php ) e' il binding di wxWidgets per Python, disponibile per le piattaforme Windows, Linux e Mac OS X.

Tanta potenza deve essere opportunamente dominata e il libro "wxPython in Action" di Noel Rappin e Robin Dunn ha come obiettivo guidare il lettore nell'acquisizione della padronanza della libreria grafica. Il libro e' organizzato in tre parti di circa duecento pagine ciascuna. Ogni parte rappresenta fasi successive e crescenti di padronanza del framework. La prima parte fornisce una introduzione a wxPython, mostrando alcuni semplici esempi che dimostrano immediatamente la potenza del linguaggio e del framework. Prima di entrare nel vivo della programmazione, gli autori offrono una panoramica delle potenzialita' di wxWidgets, le peculiarita' e le inevitabili limitazioni. La prima parte prosegue mostrando i concetti fondamentali alla base del framework e la gestione degli eventi generati dall'interfaccia grafica. Il testo evidenzia particolare cura nella redazione degli esempi di codice: semplici ma efficaci e soprattutto commentati attraverso inserti grafici che ne facilitano la comprensione anche a programmatori poco esperti del linguaggio. Gli autori illustrano PyCrust, una shell grafica scritta in wxPython, che facilita l'analisi di applicazioni basate su questo framework. La prima parte si conclude con l'analisi della struttura tipica di una applicazione complessa, lavoro che sara' utile per la compresione delle parti successive. La seconda parte presenta il cuore della libreria, scorrendone i componenti base e quelli via via piu' complessi. Apparentemente verbosa, questa parte del testo guida il lettore attraverso la scoperta di wxWidgets attraverso esempi mirati, che possono essere immediatamente riutilizzati nelle proprie applicazioni. Un intero capitolo e' dedicato alla gestione delle immagini. La terza parte presenta i componenti piu' complessi, tra cui tabelle, strutture ad albero, renderer HTML e accesso alla clipboard. Un capitolo e' interamente dedicato al sottosistema di stampa incluso in wxPython, che facilita l'accesso alle funzionalita' del sistema operativo. Questa terza parte si conclude con un approfondimento sulla gestione multithreading delle interfacce grafiche, tema particolarmente sentito anche in Java.



CONCLUSIONI: "wxPython in Action" e' un testo completo, ben strutturato, ricco di esempi e scorrevole. Per coloro che intendono utilizzare Python come linguaggio di programmazione, questo libro e' sicuramente la risposta efficace ai problemi di implementazione di una interfaccia grafica potente e funzionale.



PRO: oltre che mostrare le potenzialita' di wxPython, propone un approccio efficace alla progettazione delle interfacce grafiche.

CONTRO: davvero difficile trovare un difetto al libro di Noel Rappin e Robin Dunn. Assolutamente consigliato!

WxPythonInAction is mentioned on: Libri


VeryQuickWiki Version 2.7.8 | Admin
Copyright © 2003-20011 Java User Group Sardegna Onlus. - Java, the Java Coffee Cup Logo and the Duke Logo are trademarks or registered trademarks of Oracle corporation in the U.S. and other countries.