[PIPython] wx vs all the others [WAS: no subject]
Massimo Cecconi
massimo.cecconi
Gio 10 Mar 2005 15:24:36 CET
O_o .... ma se un'enciclopedia vivente?? :):) ....complimenti!!
Senti volevo chiederti due cose:
cosa intendi per pythonica???
nel finale hai parlato di threads giusto?? bene ecco a me serve proprio
cercare di capire come funzionano perchè dalla documentazione ufficiale
non sono riuscito ad imparare nulla!!!! poi la reputo scarsa e poco
chiara (la doc).....
grazie
Tornando a questa discussione io oramai mi sono orientato sulle wx
perchè personalmente reputo scomodo il file xml che non riesco a
modificare opportunamente a mano qualora ce ne fosse la
necessità.......nonstante Glade è sicuramente più completo di wxGlade ad
esempio oppure di wxDesigner (che sto provando in questi giorni)
naturalmente è assolutamente un parere personale e sindacabile in toto
:):):)
Valentino Volonghi aka Dialtone ha scritto:
> Giovanni Porcari wrote:
>
>> Ciao a tutti
>>
>> dopo una lunga indecisione per la scelta di una GUI sto imboccando la
>> strada di wx.
>> Mi sembra un buon prodotto e ben mantenuto.
>> Ho letto però recentemente dei messaggi in lista di apprezzamento di
>> pygtk e quindi
>> mi ritorna qualche dubbio.
>> Vorrei quindi chiedere cortesemente ai supporter delle due librerie
>> di perdere qualche minuto
>> del loro tempo per esprimere le ragioni della loro scelta e spiegare
>> i punti di forza e debolezza
>> rispettivi. Credo che una ML serva anche a questo ;)
>> Dimenticavo: per me la piattaforma principale è OSX.
>> Ho valutato anche QT ma non mi ha convinto. Andrebbe messo in conto ?
>>
>> Ringrazio anticipatamente chi vorrà contribuire con il suo prezioso
>> parere ;)
>
>
> wx e` una buona libreria ma con un'API decisamente brutta e poco
> pythonosa. Ha dalla sua il vantaggio di poter girare, quasi
> immodificata, su molte piattaforme. Questo comporta pero` anche che
> sia il piu` lento di tutti i toolkit esistenti in quanto si appoggia
> sulle librerie presenti nel sistema (Carbon, GTK, GTK2, MFC e via
> dicendo). Un poco carente di documentazione e attualmente e` in
> scrittura la nuova versione stabile.
>
> pygtk e` MOLTO piu` piccolo di wx (wx sono 16MB contro i neanche 10 di
> gtk2+pygtk). Gira anche lui su molte piattaforme ma sotto OSX
> necessita dell'uso dell'X11 di apple. Questo significa che, sotto OSX,
> risultera` piu` lenta delle wx. L'architettura delle GTK+ e` di gran
> lunga la migliore architettura tra tutti i toolkit grafici anche se
> l'API non e` particolarmente pythonica. Esistono pero` alcuni
> pacchetti 'aggiuntivi' che possono renderla decisamente piu`
> pythonica. Come wx (e meglio di wx) dispone del tool per creare
> interfacce grafiche usando un file XML in formato glade (il nome di
> wxGlade infatti deriva da questo glade). Il miglior designer di UI in
> pyGTK e` gazpacho, un prodotto molto recente sviluppato da Lorenzo Gil
> Sanchez (maintainer delle pygtk) scritto in python e molto flessibile.
> Le GTK+ inoltre supportano perfettamente unicode e i font con
> scrittura da destra a sinistra. Si possono inoltre scrivere widget
> nuovi direttamente in python oltre che creare e gestire segnali nuovi,
> sempre usando python. Non so pero` quanto di questo sia disponibile
> anche con le wx. Un po` povere di widget complessi su piattaforme
> diverse da GNOME (dove hanno librerie anche per masterizzare), ad
> esempio non hanno un data grid se non quella scritta dagli autori di
> gazpacho che non saprei dire quanto sia portabile. Documentazione
> sovrabbondante sia in italiano che in inglese con grandissima
> ricchezza nella raccolta di FAQ.
>
> QT ottime librerie, la loro API e` decisamente piu` pulita e pythonica
> di tutte le altre due. Hanno pero` una licenza decisamente pessima,
> particolarmente pessima per prodotti commerciali. Le QT4 (che
> usciranno durante l'anno) avranno un'architettura molto molto simile
> alle GTK+2 e una licenza migliore per windows. Come le wx e le gtk+
> girano su tantissime architetture ma diversamente dalle GTK+, e
> analogamente alle wx girano perfettamente sotto OSX senza necessita`
> di utilizzare X11. Sono ricchissime di widget, particolarmente di
> widget data driven. Anche queste gestiscono benissimo unicode e sono
> fornite con un designer di ottima qualita`. Non credo che queste
> abbiano la possibilita` di creare l'interfaccia grafica usando XML
> anche se il file generato dal designer e` appunto un file XML che
> andra` parsato con pyuic che generera` il codice python necessario.
>
> Inoltre mi sento di dover citare il progetto piu` promettente. Prende
> spunto da wxpython nell'appoggiarsi alla libreria sottostante, ma e`
> scritto interamente in python e dall'autore di pyrex. PyGUI e`
> indubbiamente il miglior toolkit disponibile con la sfortuna che Greg
> Erwing non ha molto tempo da dedicargli e non ha ancora molti widget.
> Si tratta, a mio parere, del toolkit migliore per sviluppare
> applicazioni data driven.
>
> Inoltre ancora, per OSX esiste l'ottimo pyObjC da usare assieme a
> Interface Builder, specialmente nella versione ora in sviluppo, offre
> tantissime funzionalita` utilissime per creare software nativo per
> OSX. Anche questo e` un ottimo toolkit per gestire applicazioni data
> driven essendo molto simile, come concetti, a Glade. L'API e` molto
> pythonica anche se e` un po` condizionata dal suo doversi
> interfacciare con objective c.
>
> Bisognerebbe dare una possibilita` a un po` tutti i toolkit per averne
> un'idea chiara. Tutti quanti (a parte PyGUI sfortunatamente) sono
> pronti per realizzare applicazioni perfettamente funzionanti e di
> qualita`. Alcuni necessitano di uno sforzo di progettazione superiore
> come wx, altri risultano piu` scomodi da usare sotto OSX come pygtk.
>
> Un ultima menzione a riguardo dell'integrazione con twisted:
> Il migliore in assoluto sono le gtk. che si integrano perfettamente
> con twisted.
> Quindi le qt e cocoa che funzionano con il 'supporto', infine le wx
> che necessitano di girare in un altro thread per funzionare
> correttamente, una ricetta per usare twisted e le wx in 2 thread
> indipendenti e` presente nel cookbook di python sul sito della
> activestate.
>
More information about the Python
mailing list