[Python] Python, gui e wsgi

Enrico 'Henryx' Bianchi henryx_b a yahoo.it
Gio 26 Feb 2009 00:13:56 CET


Zanon Samuele wrote:
> - Dove posso trovare un bel how-to per iniziare a programmare in
> python con interfacce grafiche (magari con qualche consiglio su quale
> libreria utilizzare)
La scelta di un toolkit grafico non e` una cosa semplice ed indolore,
bisogna tenere conto di vari fattori e dei vincoli a cui si va incontro.
Personalmente, ritengo che seguire questi criteri possa aiutare parecchio:

- Tenere bene in mente la piattaforma target. Ritengo che questa sia il
criterio piu` importante, in quanto permette di fare delle scelte mirate
e di non andare alla cieca. Per fare un esempio, se intendo sviluppare
sempre e solo GUI per Windows, e` inutile che perda del tempo nello
studio del toolkit PyGTK, ma mi conviene concentrarmi sul toolkit
pywin32 che, tra le altre cose, oltre a farmi ottenere un risultato piu`
integrato nella piattaforma, mi permette di creare GUI piu` articolate
rispetto ad un toolkit generico. Se invece intendo sviluppare su piu`
piattaforme, mi conviene vedere quale sia il toolkit che mi permette di
coprire con buoni risultati tutti gli ambienti che mi interessano (e.g.
PyQT mi permette di coprire Windows e Os X, mentre PyGTK attualmente
copre il sistema della mela solo in maniera non ufficiale).
- Verificare le funzionalita` offerte dal toolkit. Alcuni toolkit, come
ad esempio PyQT e WxWidgets, sono dei veri e propri framework le cui
funzionalita` spaziano dalla creazione delle GUI alla gestione delle
connessioni di rete. Inoltre, e` da tenere bene in mente anche la
varieta` di oggetti messi a disposizione per la creazione
dell'interfaccia. Per fare un esempio, Tkinter non ha un componente per
la creazione delle tabelle, componente che e` invece presente negli
altri toolkit.
- Considerare la licenza di distribuzione del toolkit. Questo e` un
criterio basato sulle questioni di principio ed opportunistiche.
Attualmente, i toolkit grafici in circolazione vengono rilasciati con
tre tipologie di licenza:
  - GPL;
  - LGPL, BSD o similari;
  - Proprietaria.
E` normale che questo comporta una serie di pro e di contro, con il
quale bisogna sempre tener conto. Ad esempio, se il mio scopo e` creare
un applicativo di cui non intendo distribuire i sorgenti, allora non
posso scegliere un toolkit la cui distribuzione e` regolata dalla
licenza GPL. Di contro, anche se rispetto ad un toolkit liberamente
distribuibile potrebbe essere piu` conveniente, non e` per nulla
vantaggioso distribuire applicazioni FLOSS per il cui sviluppo si e`
utilizzato un toolkit distribuito con licenza proprietaria (a meno che
non si e` matematicamente certi del recupero della spesa sostenuta per
l'acquisto della licenza del toolkit).
- Scegliere in base alla resa grafica che ci soddisfa (questo criterio
ovviamente lo si applica sui toolkit multipiattaforma). Il criterio si
spiega da solo: perche` dovremo usare Tkinter quando ci piace PyQT?

Queste sono le mie considerazioni, personalmente le ritengo piu` che
valide, senza considerare che sono un buon modo per prendere una
decisione in tal merito (ovviamente nessuno ti vieta di fregartene di
quello che dico e di fare come ti pare). Per dei tutorial, puoi partire
dal sito di Python, in cui c'e` una scheda per ogni toolkit (almeno per
i principali) e varie risorse per il loro utilizzo

Enrico



Maggiori informazioni sulla lista Python