Discussione:
Disegnare GUI per Python
(troppo vecchio per rispondere)
danilo
2005-04-10 21:24:45 UTC
Permalink
Salve,
ho appena iniziato a portare alcuni piccoli programmi di statistice che
utilizzo per lavoro in Python ma, essendo abituato a VisualBasic, non
riesco a trovare uno strumento facile per creare le interfacce grafiche in
tkinter o pygtk.

Ho provato con gazpacho e glade ma non sono riuscito a capire come
funzione l'utilizzo di libglade che mi sembra a dir poco macchiavellico.

Esiste una guida semplice per iniziare o devo convincermi che non esista
un sistema visuale facile e mi tocca programmare le interfacce in modalità
testuale.

Grazie per qualsiasi aiuto
Danilo
--
Using Opera's revolutionary e-mail client: http://www.opera.com/m2/
Lawrence Oluyede
2005-04-10 21:34:56 UTC
Permalink
Post by danilo
Esiste una guida semplice per iniziare o devo convincermi che non esista
un sistema visuale facile e mi tocca programmare le interfacce in modalità
testuale.
Prova a dare un'occhiata anche a questo:
http://www.linuxjournal.com/article/6586
--
Lawrence
Alessandro Pellizzari
2005-04-11 05:51:11 UTC
Permalink
Post by danilo
Ho provato con gazpacho e glade ma non sono riuscito a capire come
funzione l'utilizzo di libglade che mi sembra a dir poco macchiavellico.
Non ho mai usato VB, ma se somiglia anche vagamente a qtdesigner, ho
capito dove sta la tua perplessita`.

Il fatto e` che in GTK, di default, si lavora su layout liquidi, quindi
ogni widget tende a occupare tutto lo spazio a sua disposizione.
Devi quindi prima mettere dei contenitori (vbox, hbox o table, ma anche
notebook, separator e altro), e poi riempirli con i widget veri e
propri.

Questo sistema ha il grande vantaggio di adattarsi automaticamente alle
dimensioni dei font e della finestra impostati dall'utente, mentre, per
esempio, mi capita molto spesso con applicazioni qt o wx, di avere
finestre non ridimensionabili in cui i testi e i widget "escono" dalla
finestra e non sono attivabili.
Questo, programmando in GTK senza trucchetti, non e` possibile, e al
massimo la finestra si ingrandisce da sola per contenerli tutti, anche a
costo di uscire dallo schermo.

Certo, c'e` il modo di mettere i widget in posizione fissa, per esempio
creando un canvas dentro la finestra e posizionandovi i widget a mano,
ma non te lo consiglio.

Bye.
--
Alessandro Pellizzari
Fabio Pliger
2005-04-13 13:21:55 UTC
Permalink
Che io conosca di piu vicino al disegnatore di interfacce di VB c'è
PythonCard, che è un designer per costruire interfacce basate su wxPython
(wxWindows) (non è male... è bello perche ti crea due file separati, uno per
la gestione della tua GUI e l'altro per le tue classi/metodi... la pecca è
che non contiene una grande quantità di widgets.. quindi per usare widgets
non supportati devi metterci cmq mano nel codice..). Per wxPython ci sono
anche il wxGlade, col quale, personalmente, non mi trovo molto bene e
wxDesigner (non l'ho mai usato, ed è a pagamento, ma dalle features e dagli
screenshots dovrebbe essere carino). In teoria potresti usare anche il boa..
che io sappia..
Altri editor basati su tk o gtk non ne ho usati (oltre quelli che hai gia
citato)....
Cmq, una volta che ti abitui, la costruzione di interfacce diventa meno
complessa... e va a finire che spesso le crei da codice... (almeno questo è
quello che capita a me...)
ciao!
Post by danilo
Salve,
ho appena iniziato a portare alcuni piccoli programmi di statistice che
utilizzo per lavoro in Python ma, essendo abituato a VisualBasic, non
riesco a trovare uno strumento facile per creare le interfacce grafiche in
tkinter o pygtk.
Ho provato con gazpacho e glade ma non sono riuscito a capire come
funzione l'utilizzo di libglade che mi sembra a dir poco macchiavellico.
Esiste una guida semplice per iniziare o devo convincermi che non esista
un sistema visuale facile e mi tocca programmare le interfacce in modalità
testuale.
Grazie per qualsiasi aiuto
Danilo
--
Using Opera's revolutionary e-mail client: http://www.opera.com/m2/
Galy
2005-04-15 14:35:24 UTC
Permalink
[cut]
Si esiste un'interfaccia che ti permette di disegnare GUI like vba si
chiama boa.
Secondo me è la migliore che c'è per python. Non è proprio come vba ma è
quella che più gli assomiglia.
--
Galy
unknown
2005-04-15 15:40:42 UTC
Permalink
Post by Galy
Si esiste un'interfaccia che ti permette di disegnare GUI like vba si
chiama boa.
Non sono d'accordo.
E per me lascio parlare chi si e` gia` spiegato per bene recentemente:

http://fraca7.free.fr/blog/index.php?2005/04/04/10-a-word-about-guis

PS: stanno portando le GTK+ 2.6 su OSX in modo nativo, insieme a
gazpacho (designer) e Kiwi2 (piccolo framework che semplifica un sacco
di roba) le wx verranno spazzate via, convertitevi ora che siete in
tempo :).
--
Valentino Volonghi aka Dialtone
Now Running MacOSX 10.3.8
Blog: http://vvolonghi.blogspot.com
http://weever.berlios.de
Manlio Perillo
2005-04-15 16:00:38 UTC
Permalink
Post by unknown
Post by Galy
Si esiste un'interfaccia che ti permette di disegnare GUI like vba si
chiama boa.
Non sono d'accordo.
http://fraca7.free.fr/blog/index.php?2005/04/04/10-a-word-about-guis
PS: stanno portando le GTK+ 2.6 su OSX in modo nativo, insieme a
gazpacho (designer) e Kiwi2 (piccolo framework che semplifica un sacco
di roba) le wx verranno spazzate via, convertitevi ora che siete in
tempo :).
Senza fare polemiche, le GTK hanno il problema di essere
sviluppate/disegnate da una 'piccola' comunita'.
Certo, sono comode e funzionali, ma hanno dei limiti.

Proprio per questo motivo sto cercando di capire se valga la pena
passare all'html.
Un altra alternativa (ma da evitare) e' Python.NET (dato che se c'e'
una cosa (forse l'unica!) che la Microsoft sa fare sono le interfacce
grafiche. Temo purtroppo che l'API sia abbastanza brutta.


Non riesco proprio a capire perche' non si cerca di create uno
standard per l'interfaccia grafica.
Il mio ideale sarebbe:
1) XWindows
2) Interfaccia grafica, ma implementata come in Windows (basso
livello)
3) Sistema di widget object oriented, sviluppate nel linguaggio
preferito.



Saluti Manlio Perillo
Lawrence Oluyede
2005-04-15 16:19:39 UTC
Permalink
Post by Manlio Perillo
Senza fare polemiche, le GTK hanno il problema di essere
sviluppate/disegnate da una 'piccola' comunita'.
Cosa intendi per grande comunita` (a parte paragoni con MS), perchè la
comunita` GTK(compresi i bindings)/GNOME/GIMP sarebbe piccola?
Post by Manlio Perillo
Certo, sono comode e funzionali, ma hanno dei limiti.
Ovvio che hanno dei limiti come tutto, ma immagino che tu ti riferisca a
qualcosa di particolare, se no non ti seguo
Post by Manlio Perillo
Proprio per questo motivo sto cercando di capire se valga la pena
passare all'html.
??
Post by Manlio Perillo
Un altra alternativa (ma da evitare) e' Python.NET (dato che se c'e'
una cosa (forse l'unica!) che la Microsoft sa fare sono le interfacce
grafiche.
Questa fase sarebbe opinabile ma diamola per buona :D
IronPython ha una licenza un pò del piffero ed non è ancora per le masse
Post by Manlio Perillo
Temo purtroppo che l'API sia abbastanza brutta.
Mmm abbastanza, le WindowsForms sono un wrapper molto wrapper e un pò
meno framework su Win32
Post by Manlio Perillo
Non riesco proprio a capire perche' non si cerca di create uno
standard per l'interfaccia grafica.
Per il semplice fatto che non esistono standard univoci per tutto ciò
che sta in userspace in Linux
--
Lawrence
Manlio Perillo
2005-04-15 17:57:05 UTC
Permalink
Post by Lawrence Oluyede
Post by Manlio Perillo
Senza fare polemiche, le GTK hanno il problema di essere
sviluppate/disegnate da una 'piccola' comunita'.
Cosa intendi per grande comunita` (a parte paragoni con MS), perchè la
comunita` GTK(compresi i bindings)/GNOME/GIMP sarebbe piccola?
Comunita' (intendendo per lo piu' aziende), come quelle intorno a
standard come OpenGL e simili.
Post by Lawrence Oluyede
Post by Manlio Perillo
Certo, sono comode e funzionali, ma hanno dei limiti.
Ovvio che hanno dei limiti come tutto, ma immagino che tu ti riferisca a
qualcosa di particolare, se no non ti seguo
Problemi di portabilita' (a quanto ho letto in giro), prestazioni.
Poi ci sono anche alcune scelte sull'architettura che non mi sono
piaciute.
Aspetto grafico 'piacevole', che e' quello che piace agli
utilizzatori.
Purtroppo sono tra questi.
Non ho ancora trovato una interfaccia grafica scritta in GTK 'bella'
(ma anche funzionale) come quelle di Windows.

Per non restare sul vago.
WingIde sembra molto funzionale. Ma l'interfaccia di Visual Studio mi
sembra molto meglio.
Post by Lawrence Oluyede
Post by Manlio Perillo
Proprio per questo motivo sto cercando di capire se valga la pena
passare all'html.
??
In pratica utilizzare un web server + web toolkit (si chiamano cosi'?)
tipo Nevow per generare pagine html.

Il vantaggio e' che l'html ha dietro un comitato standard come w3.org.
Non lo conosco a fondo, ma cose come i Cascade Style Sheet mi sembrano
molto buoni.

Lo svantaggio e' che non mi piace molto l'idea di dover usare un web
server e di dover far usare all'utente un web browser.
Inoltre l'interfaccia non e' molto interattiva.
Ho sentito parlare di XUL ma non e' uno standard di w3.org.
Post by Lawrence Oluyede
Post by Manlio Perillo
Un altra alternativa (ma da evitare) e' Python.NET (dato che se c'e'
una cosa (forse l'unica!) che la Microsoft sa fare sono le interfacce
grafiche.
Questa fase sarebbe opinabile ma diamola per buona :D
IronPython ha una licenza un pò del piffero ed non è ancora per le masse
Quali sono i problemi della licenza?
Post by Lawrence Oluyede
Post by Manlio Perillo
Temo purtroppo che l'API sia abbastanza brutta.
Mmm abbastanza, le WindowsForms sono un wrapper molto wrapper e un pò
meno framework su Win32
La Microsoft ha l'abilita' di complicare le cose.
Non sono un esperto, ma da quando ho visto API come OpenGL o POSIX,
inorridisco quando vedo un programma Windows (bhe, inorridivo anche
prima!)
Post by Lawrence Oluyede
Post by Manlio Perillo
Non riesco proprio a capire perche' non si cerca di create uno
standard per l'interfaccia grafica.
Per il semplice fatto che non esistono standard univoci per tutto ciò
che sta in userspace in Linux
Saluti Manlio Perillo
unknown
2005-04-15 23:23:27 UTC
Permalink
Post by Manlio Perillo
Comunita' (intendendo per lo piu' aziende), come quelle intorno a
standard come OpenGL e simili.
Come ti ho detto nell'altro post, ci sono. IBM, Sun e HP come minimo.
Post by Manlio Perillo
Problemi di portabilita' (a quanto ho letto in giro), prestazioni.
Le GTK girano ovunque esista un Xserver. Praticamente ovunque. Dove non
esiste un Xserver e` questione di scrivere un nuovo componente in gdk
per permettere il disegno dei widget usando motori differenti.

Io le trovo velocissime e sono particolarmente leggere. Soprattutto
nelle ultime versioni che pre-calcolano la finestra spostata durante lo
scrolling ad esempio. Ci sono alcuni widget un po` lenti come la
ListView o la TreeView. Che sono lente finche` non si ottimizza
opportunamente.
Post by Manlio Perillo
Poi ci sono anche alcune scelte sull'architettura che non mi sono
piaciute.
Ovvero?
Post by Manlio Perillo
Aspetto grafico 'piacevole', che e' quello che piace agli
utilizzatori.
Esistono centinaia di temi e centinaia di motori di rendering per le
GTK. Ultimamente va di moda ClearLooks che e` _stupendo_. Con le GTK 2.8
grazie a Cairo saranno persino piu` skinnabili e belle. Consiglio di
guardare qua per capire come saranno le GTK+ 2.8:

http://www.gnome.org/~seth/blog/xshots
Post by Manlio Perillo
Purtroppo sono tra questi.
Non ho ancora trovato una interfaccia grafica scritta in GTK 'bella'
(ma anche funzionale) come quelle di Windows.
GNOME e` particolarmente meglio di Windows e personalmente lo trovo
anche migliore di OSX e ho usato tutti e 3. Ma...
Post by Manlio Perillo
Per non restare sul vago.
WingIde sembra molto funzionale. Ma l'interfaccia di Visual Studio mi
sembra molto meglio.
... Nonostante questo non vedo come l'esistere di interfacce 'belle' sia
un indice che il toolkit sia fatto bene.
Post by Manlio Perillo
In pratica utilizzare un web server + web toolkit (si chiamano cosi'?)
tipo Nevow per generare pagine html.
Il vantaggio e' che l'html ha dietro un comitato standard come w3.org.
Non lo conosco a fondo, ma cose come i Cascade Style Sheet mi sembrano
molto buoni.
Si... Che nessun browser supporta allo stesso modo degli altri... Per
non parlare dei browser piu` vecchi che non li supportano proprio, o
dell'accessibilita` e mille altre cose. Sfatiamo subito questo mito:
Scrivere bene pagine xhtml+css e` difficile, molto piu` difficile che
scrivere una cagosissima GUI in GTK+ per girare su tutti i sistemi
operativi del mondo (o in QT o in wx o altri ancora)
Post by Manlio Perillo
Lo svantaggio e' che non mi piace molto l'idea di dover usare un web
server e di dover far usare all'utente un web browser.
Inoltre l'interfaccia non e' molto interattiva.
Ho sentito parlare di XUL ma non e' uno standard di w3.org.
non solo non e` uno standard, ma e` compreso solo dai browser
gecko-based.
Post by Manlio Perillo
Quali sono i problemi della licenza?
Basta leggerla :).
--
Valentino Volonghi aka Dialtone
Now Running MacOSX 10.3.8
Blog: http://vvolonghi.blogspot.com
http://weever.berlios.de
Silver Drake
2005-04-18 09:13:41 UTC
Permalink
Aspetto grafico 'piacevole', che e' quello che piace agli utilizzatori.
Esistono centinaia di temi e centinaia di motori di rendering per le GTK.
Tra l'altro i temi GTK hanno sempre una pulizia notevole. Qualche giorno
fa ho visto un tema GTK (mi pare Industrial) convertito su QT e l'aspetto
rimaneva nettamente meno "ordinato", non saprei esattamente perché però.
Ultimamente va di moda ClearLooks che e` _stupendo_.
Per le GTK effettivamente è notevole, la versione per Metacity invece è
solo buona e sta venendo rapidamente peggiorata (personalmente trovo che
una finestra non massimizzata dovrebbe avere tutti gli angoli "stondati",
non solo quelli di sopra).
Con le GTK 2.8 grazie
a Cairo saranno persino piu` skinnabili e belle. Consiglio di guardare qua
http://www.gnome.org/~seth/blog/xshots
Bellissime, infatti. Unico dubbio sono i temi "differenziati":
Loading Image...

È vero che in questa immagine non c'è alcun tentativo di creare una
layout ordinato o simile, ma in ogni caso pulsanti di forme irregolari
sono decisamente poco usabili e più "lenti" da individuare.
Un uso migliore sarebbe questo:
Loading Image...
In cui si dà semplicemente un effetto di varietà senza cambiare la forma
o altre caratteristiche necessarie all'uso efficace dell'applicazione.
Purtroppo sono tra questi.
Non ho ancora trovato una interfaccia grafica scritta in GTK 'bella' (ma
anche funzionale) come quelle di Windows.
GNOME e` particolarmente meglio di Windows e personalmente lo trovo anche
migliore di OSX e ho usato tutti e 3. Ma...
Tra l'altro di tutte e tre mi sembra decisamente la più pulita e
ordinata (ma OSX l'ho visto pochissime volte).
Si... Che nessun browser supporta allo stesso modo degli altri... Per
non parlare dei browser piu` vecchi che non li supportano proprio, o
dell'accessibilita` e mille altre cose.
Diciamo che per operazioni molto lineari può essere effettivamente buono,
ma è molto limitante e costringe a portarsi dietro un server di qualche
tipo. In ogni caso, se si accettano una serie di costrizioni sui browser
da usare e sulle feature (ciao ciao javascript), è possibile realizzare
un'interfaccia che cambia relativamente poco da una piattaforma all'altra.

See you,
Silver Drake
--
http://www.silverdrakenet.it
Australian Largest Bed, coverband extraordinaire
http://www.silverdrakenet.it/platy/carpe.html
Lawrence Oluyede
2005-04-16 08:19:56 UTC
Permalink
Post by Manlio Perillo
Comunita' (intendendo per lo piu' aziende), come quelle intorno a
standard come OpenGL e simili.
tipo Sun e Novell quindi...
Post by Manlio Perillo
Problemi di portabilita' (a quanto ho letto in giro), prestazioni.
Il problema sussiste in buona parte solo su OSX e riguardo alle
prestazioni davvero non ti saprei dire... sa tanto di voce di corridoio
Post by Manlio Perillo
Poi ci sono anche alcune scelte sull'architettura che non mi sono
piaciute.
Brancolo nel buio, è anche vero che non sono un esperto GTK ma a me
l'idea che siano ad oggetti in C e non in C++ piace parecchio
Post by Manlio Perillo
Aspetto grafico 'piacevole', che e' quello che piace agli
utilizzatori.
Purtroppo sono tra questi.
Io qui ci metto un per fortuna, perchè KDE mi piace sempre meno :D
Post by Manlio Perillo
Non ho ancora trovato una interfaccia grafica scritta in GTK 'bella'
(ma anche funzionale) come quelle di Windows.
Cavoli... questa è ardua come posizione... te pensa che io potrei
dirti la stessa cosa nel senso opposto per buona parte delle app
Windows (anche direttamente builtin) nel sistema. Compariamo notepad
e gedit (tralasciando il fatto che quest'ultimo ha una tonnellata di
funzioni in piu`): il notepad cambia shortcut ad ogni edizione di Windows,
Gedit no. Gia` questo mi fa pensare su quanto possa essere migliore
una GUI windows. Dai un'occhiata a questi:
http://www.actsofvolition.com/archives/2001/december/windowsxprough
http://www.actsofvolition.com/archives/2004/february/gettingtoknow
Post by Manlio Perillo
Per non restare sul vago.
WingIde sembra molto funzionale. Ma l'interfaccia di Visual Studio mi
sembra molto meglio.
Mmm ho usato VS.NET per un bel pò e in effetti non fa schifo, ma non vedo
come WingIDE possa essere "molto peggio"
Post by Manlio Perillo
In pratica utilizzare un web server + web toolkit (si chiamano cosi'?)
tipo Nevow per generare pagine html.
Ah ok, ma è una cosa slegata dai toolkit desktop a meno che non vuoi
farti venire la malsana idea di incorporare smart client (come li chiama
MS) all'interno dell'html (vedi applet, vedi activex, vedi .NET e XAML)
Post by Manlio Perillo
Il vantaggio e' che l'html ha dietro un comitato standard come w3.org.
Non lo conosco a fondo, ma cose come i Cascade Style Sheet mi sembrano
molto buoni.
Si su questo non si discute ma scrivere app web non è come scrivere app
desktop, la questione è piuttosto diversa. Ci son dei punti di
"collisione" ma in generale son approcci piuttosto differenti, proprio
perchè l'obiettivo finale è differente. ps. non credere che sul web la
vita sia piu` facile, anzi
Post by Manlio Perillo
Lo svantaggio e' che non mi piace molto l'idea di dover usare un web
server e di dover far usare all'utente un web browser.
Mmm riguardo al WS, beh se è un app che gira in locale e mono utente puoi
anche incorporarlo nella tua app, in generale il problema del browser non
si pone molto perchè ormai chiunque ne usa uno. Avrai i tuoi grattacapi
per i vari tipi di browser :D
Post by Manlio Perillo
Inoltre l'interfaccia non e' molto interattiva.
Dipende da quanto ti spingi in la con Javascript e XmlHttpRequest :D
Puoi fare una tonnellata di cose, un esempio? Gmail di google
Post by Manlio Perillo
Ho sentito parlare di XUL ma non e' uno standard di w3.org.
Vabbè XUL è standard Mozilla, gli unici che in pratica non lo userebbero
sono i detentori di IE, ma se è un app in locale per intranet puoi vedere
se riesci a far usar loro Firefox. In generale nemmeno a me XUL esalta ma
ho visto app veramente buone in giro (tipo MAB di Fabio Serra)
Post by Manlio Perillo
Post by Lawrence Oluyede
Questa fase sarebbe opinabile ma diamola per buona :D
IronPython ha una licenza un pò del piffero ed non è ancora per le masse
Quali sono i problemi della licenza?
Diciamo che in generale son problemi di derivazione (aveva la BSD, ora
usa la Shared Source di MS, licenza non approvata da OSI proprio perchè
è un pò una presa in giro per l'OpenSource)
http://blogs.msdn.com/jasonmatusow/archive/2005/4/5.aspx
http://www.gotdotnet.com/workspaces/License.aspx?id=ad7acff7-ab1e-4bcb-99c0-57ac5a3a9742
Post by Manlio Perillo
La Microsoft ha l'abilita' di complicare le cose.
Ma no WinForms non è complicatissimo, solo che lo cestineranno
(in un futuro lontano) per Avalon
Post by Manlio Perillo
Non sono un esperto, ma da quando ho visto API come OpenGL o POSIX,
inorridisco quando vedo un programma Windows (bhe, inorridivo anche
prima!)
E` un controsenso rispetto a quello che hai scritto fino a ora o sbaglio?
--
Lawrence
Manlio Perillo
2005-04-16 09:36:34 UTC
Permalink
Post by Lawrence Oluyede
Post by Manlio Perillo
Comunita' (intendendo per lo piu' aziende), come quelle intorno a
standard come OpenGL e simili.
tipo Sun e Novell quindi...
Si.
Ma a quanto pare dietro GNOME ci sono alcune compagnie importanti.
resta il fatto che manca un comitato di standardizzazione.
Post by Lawrence Oluyede
Post by Manlio Perillo
Aspetto grafico 'piacevole', che e' quello che piace agli
utilizzatori.
Purtroppo sono tra questi.
Io qui ci metto un per fortuna, perchè KDE mi piace sempre meno :D
Post by Manlio Perillo
Non ho ancora trovato una interfaccia grafica scritta in GTK 'bella'
(ma anche funzionale) come quelle di Windows.
Cavoli... questa è ardua come posizione... te pensa che io potrei
dirti la stessa cosa nel senso opposto per buona parte delle app
Windows (anche direttamente builtin) nel sistema. Compariamo notepad
e gedit (tralasciando il fatto che quest'ultimo ha una tonnellata di
funzioni in piu`): il notepad cambia shortcut ad ogni edizione di Windows,
Gedit no.
Vero.
Notepad e' una schifezza, come anche, sembra, tutti i 'programmini'
inclusi nel sistema operativo.
Post by Lawrence Oluyede
Gia` questo mi fa pensare su quanto possa essere migliore
http://www.actsofvolition.com/archives/2001/december/windowsxprough
http://www.actsofvolition.com/archives/2004/february/gettingtoknow
Post by Manlio Perillo
Per non restare sul vago.
WingIde sembra molto funzionale. Ma l'interfaccia di Visual Studio mi
sembra molto meglio.
Mmm ho usato VS.NET per un bel pò e in effetti non fa schifo, ma non vedo
come WingIDE possa essere "molto peggio"
Mi sto riferendo solo all'aspetto grafico.
Post by Lawrence Oluyede
Post by Manlio Perillo
In pratica utilizzare un web server + web toolkit (si chiamano cosi'?)
tipo Nevow per generare pagine html.
Ah ok, ma è una cosa slegata dai toolkit desktop a meno che non vuoi
farti venire la malsana idea di incorporare smart client (come li chiama
MS) all'interno dell'html (vedi applet, vedi activex, vedi .NET e XAML)
Certo che no!
Post by Lawrence Oluyede
Post by Manlio Perillo
Il vantaggio e' che l'html ha dietro un comitato standard come w3.org.
Non lo conosco a fondo, ma cose come i Cascade Style Sheet mi sembrano
molto buoni.
Si su questo non si discute ma scrivere app web non è come scrivere app
desktop, la questione è piuttosto diversa. Ci son dei punti di
"collisione" ma in generale son approcci piuttosto differenti, proprio
perchè l'obiettivo finale è differente. ps. non credere che sul web la
vita sia piu` facile, anzi
Vero.
Il vantaggio e' che pero' l'html lo conosce molta piu' gente(?).
Quindi in linea di massima puoi relegare la definizione
dell'interfaccia grafica a qualcuno piu' esperto/pratico dei gusti
dell'utente.
Post by Lawrence Oluyede
Post by Manlio Perillo
Lo svantaggio e' che non mi piace molto l'idea di dover usare un web
server e di dover far usare all'utente un web browser.
Mmm riguardo al WS, beh se è un app che gira in locale e mono utente puoi
anche incorporarlo nella tua app, in generale il problema del browser non
si pone molto perchè ormai chiunque ne usa uno. Avrai i tuoi grattacapi
per i vari tipi di browser :D
Post by Manlio Perillo
Inoltre l'interfaccia non e' molto interattiva.
Dipende da quanto ti spingi in la con Javascript e XmlHttpRequest :D
Puoi fare una tonnellata di cose, un esempio? Gmail di google
XmlHttpRequest non lo conoscevo.
Post by Lawrence Oluyede
Post by Manlio Perillo
Ho sentito parlare di XUL ma non e' uno standard di w3.org.
Vabbè XUL è standard Mozilla, gli unici che in pratica non lo userebbero
sono i detentori di IE, ma se è un app in locale per intranet puoi vedere
se riesci a far usar loro Firefox. In generale nemmeno a me XUL esalta ma
ho visto app veramente buone in giro (tipo MAB di Fabio Serra)
Io aspettero' ancora un paio di anni.
L'idea del team Mozilla, quella di avere un web system 'completo', e'
davvero interessante. Magari verranno fatto sforzi per
standardizzarlo.
Post by Lawrence Oluyede
Post by Manlio Perillo
Post by Lawrence Oluyede
Questa fase sarebbe opinabile ma diamola per buona :D
IronPython ha una licenza un pò del piffero ed non è ancora per le masse
Quali sono i problemi della licenza?
Diciamo che in generale son problemi di derivazione (aveva la BSD, ora
usa la Shared Source di MS, licenza non approvata da OSI proprio perchè
è un pò una presa in giro per l'OpenSource)
http://blogs.msdn.com/jasonmatusow/archive/2005/4/5.aspx
http://www.gotdotnet.com/workspaces/License.aspx?id=ad7acff7-ab1e-4bcb-99c0-57ac5a3a9742
Post by Manlio Perillo
La Microsoft ha l'abilita' di complicare le cose.
L'ho letta velocemente, ma la cosa andrebbe approfondita; pero' non ne
ho voglia.
Quando si passa alle cose legali, e' sempre una giungla.
Post by Lawrence Oluyede
Ma no WinForms non è complicatissimo, solo che lo cestineranno
(in un futuro lontano) per Avalon
Post by Manlio Perillo
Non sono un esperto, ma da quando ho visto API come OpenGL o POSIX,
inorridisco quando vedo un programma Windows (bhe, inorridivo anche
prima!)
E` un controsenso rispetto a quello che hai scritto fino a ora o sbaglio?
Non proprio.
Io mi stavo semplicemente riferendo a come appare una interfaccia
grafica, non a come e' implementata.
In altre parole, mi riferivo ad un utente, non ad un programmatore!




Saluti Manlio Perillo
Lawrence Oluyede
2005-04-16 10:04:54 UTC
Permalink
Post by Manlio Perillo
Ma a quanto pare dietro GNOME ci sono alcune compagnie importanti.
resta il fatto che manca un comitato di standardizzazione.
Cosa devi standardizzare in GNOME?
Ci son gia` degli standard in GNOME, son quelli di HIG, quelli
di freedesktop e quelli di GNOME appunto :D Certo non sono
standard universalmente accettati ma io preferisco la situazione
attuale all'idea di avere una sola GUI Linux come si auspica qualcuno,
e poi secondo me GTK2.8 e il prossimo GNOME "spaccheranno" :P

Anche se a dire il vero pure QT4 promette bene (anche se un pò scopiazzato
:D)
Post by Manlio Perillo
Mi sto riferendo solo all'aspetto grafico.
Eh eh io son strano, mi piace sia Gnome che la GUI di Windows :D
Non allo stesso modo però...
Post by Manlio Perillo
Vero.
Il vantaggio e' che pero' l'html lo conosce molta piu' gente(?).
Quindi in linea di massima puoi relegare la definizione
dell'interfaccia grafica a qualcuno piu' esperto/pratico dei gusti
dell'utente.
Vero, ma puoi fare la stessa cosa per le gui... il designer passa un paio
di giorni a imparare come usare i vari Glade/Gazpacho e tu scrivi il
codice
Post by Manlio Perillo
XmlHttpRequest non lo conoscevo.
Dai un'occhiata qui:
http://del.icio.us/rhymes/xmlhttprequest
http://del.icio.us/rhymes/greasemonkey

Son alcuni link che ho trovato in giro :D

ps. Nevow con LiveEvil/LivePage supporta appieno questa tecnologia
Post by Manlio Perillo
Io aspettero' ancora un paio di anni.
L'idea del team Mozilla, quella di avere un web system 'completo', e'
davvero interessante. Magari verranno fatto sforzi per
standardizzarlo.
Ne dubito, finche` dall'altra parte ci sara` MS, piuttosto è probabile
che a breve questo diventi uno standard:
http://annevankesteren.nl/archives/2005/04/web-forms-2
Post by Manlio Perillo
Quando si passa alle cose legali, e' sempre una giungla.
Gia` è vero

ps. siamo super OT :D
--
Lawrence
unknown
2005-04-15 16:28:13 UTC
Permalink
Post by Manlio Perillo
Senza fare polemiche, le GTK hanno il problema di essere
sviluppate/disegnate da una 'piccola' comunita'.
Le GTK sono architetturalmente il meglio esistente attualmente nel
'reparto' dei toolkit visuali.

Per fare un esempio:
Leggendo le migliorie delle QT4 rispetto alle QT3 non posso fare a meno
di notare come 4 delle 5 'migliorie' siano gia` esistenti nelle GTK+ 2
da anni.
Ovviamente saranno implementate diversamente (C contro C++ con
preprocessore customizzato e template customizzati) ma non c'e` dubbio
che abbiano preso spunto.

Detto questo la comunita` piccola che gira dietro a GNOME e` quella che
ha strappato un contratto a Sun per il Java Desktop System.
Post by Manlio Perillo
Certo, sono comode e funzionali, ma hanno dei limiti.
Tutti hanno i limiti. Mi basta che siano comode e funzionali.
Post by Manlio Perillo
Proprio per questo motivo sto cercando di capire se valga la pena
passare all'html.
Sono due campi differenti che possono tranquillamente convivere, e
infatti convivono.
Post by Manlio Perillo
Non riesco proprio a capire perche' non si cerca di create uno
standard per l'interfaccia grafica.
Perche` prima bisognerebbe avere una base su cui partire comunque ai
sistemi operativi, cosa che non c'e`, e poi bisognerebbe essere tutti
d'accordo, cosa che non c'e`.
Post by Manlio Perillo
1) XWindows
2) Interfaccia grafica, ma implementata come in Windows (basso
livello)
3) Sistema di widget object oriented, sviluppate nel linguaggio
preferito.
Sei talmente vago che cio` che hai scritto si adatta a tutto.
Trovo nebuloso il punto 2 comunque, specialmente con il punto 1 (se
intendo il punto 2 in modo simile al tuo).
--
Valentino Volonghi aka Dialtone
Now Running MacOSX 10.3.8
Blog: http://vvolonghi.blogspot.com
http://weever.berlios.de
Manlio Perillo
2005-04-15 18:09:30 UTC
Permalink
Post by unknown
Post by Manlio Perillo
Senza fare polemiche, le GTK hanno il problema di essere
sviluppate/disegnate da una 'piccola' comunita'.
Le GTK sono architetturalmente il meglio esistente attualmente nel
'reparto' dei toolkit visuali.
Infatti sono quelle che 'uso' attualmente.
'Uso' tra virgolette perche' le ho installate, mi sono letto il
manuale, ma non ho ancora avuto modo di usarle.
Post by unknown
Leggendo le migliorie delle QT4 rispetto alle QT3 non posso fare a meno
di notare come 4 delle 5 'migliorie' siano gia` esistenti nelle GTK+ 2
da anni.
Ovviamente saranno implementate diversamente (C contro C++ con
preprocessore customizzato e template customizzati) ma non c'e` dubbio
che abbiano preso spunto.
Detto questo la comunita` piccola che gira dietro a GNOME e` quella che
ha strappato un contratto a Sun per il Java Desktop System.
Mi dai qualche link?
Pero' che rammarico sapere che Java ha alle spalle una azienda come
Sun che puo' permettersi queste cose, mentre Python...
Post by unknown
Post by Manlio Perillo
Certo, sono comode e funzionali, ma hanno dei limiti.
Tutti hanno i limiti. Mi basta che siano comode e funzionali.
Post by Manlio Perillo
Proprio per questo motivo sto cercando di capire se valga la pena
passare all'html.
Sono due campi differenti che possono tranquillamente convivere, e
infatti convivono.
Post by Manlio Perillo
Non riesco proprio a capire perche' non si cerca di create uno
standard per l'interfaccia grafica.
Perche` prima bisognerebbe avere una base su cui partire comunque ai
sistemi operativi, cosa che non c'e`, e poi bisognerebbe essere tutti
d'accordo, cosa che non c'e`.
Post by Manlio Perillo
1) XWindows
2) Interfaccia grafica, ma implementata come in Windows (basso
livello)
3) Sistema di widget object oriented, sviluppate nel linguaggio
preferito.
Sei talmente vago che cio` che hai scritto si adatta a tutto.
Trovo nebuloso il punto 2 comunque, specialmente con il punto 1 (se
intendo il punto 2 in modo simile al tuo).
In effetti sono stato troppo avaro!
Allora.
Quello che mi piacerebbe e' che:
1) XWindows diventasse multipiattaforma, come OpenGL.
Anzi, forse e' una pazzia, ma mi piacerrebbe che il server X (ridotto
di funzionalita') girasse sulla GPU.

2) Dato che XWindows non impone una interfaccia utente (per questo mi
piace, Windows in questo caso e' un casino immane), si deve definire
una interfaccia grafica e relativa API.
Nella mia piccola esperienza ho notato che sistemi cone GTK o Motif,
sono troppo ad alto livello. Infatti, prendendo ad esempio GTK,
l'utilizzatore non vede (quasi) piu' i windows message, ma solo slot e
callback.
Quello che intendevo era una API come quella di Windows.
Qualcosa che puo' essere implementato in kernel space, insomma.

3) Infine il terzo componente e' il sistema di widget.
Avendo alle spalle tutto il lavoro di cui al punto 2), diventa
flessibile scrivere un toolkit interamente in Python, sfruttandone
cosi' tutti i vantaggi.
Anzi, si potrebbe usare Twisted come base...



Saluti Manlio Perillo
unknown
2005-04-15 23:23:26 UTC
Permalink
Post by Manlio Perillo
Infatti sono quelle che 'uso' attualmente.
'Uso' tra virgolette perche' le ho installate, mi sono letto il
manuale, ma non ho ancora avuto modo di usarle.
Questo non e` un problema, nemmeno io le uso poi molto attivamente, ma
ne seguo lo sviluppo e mi tengo aggiornato su di loro.
Post by Manlio Perillo
Mi dai qualche link?
Pero' che rammarico sapere che Java ha alle spalle una azienda come
Sun che puo' permettersi queste cose, mentre Python...
http://www.sun.com/software/javadesktopsystem/details.xml

"""
A modern desktop environment, based on GNOME, that provides a colorful
and intuitive user interface that enables users to easily locate
documents, access menus, launch applications, and personalize their work
environment. It comes with an extensive set of tools and utilities. The
desktop will have a new unified, yet distinctive, Sun branded Look and
Feel.
"""

http://www.gnome.org/about/why.html

"""
GNOME is the desktop of choice for industry leaders like IBM, HP, and
Sun. Governments in places as diverse as Kenosha, Wisconsin, in the US,
Extremadura, Spain, and Beijing, China, have selected GNOME for their
desktops. With a large number of users, and a wide range of vendors, you
can be assured of availability and support for a long time to come.
"""
Post by Manlio Perillo
In effetti sono stato troppo avaro!
Allora.
1) XWindows diventasse multipiattaforma, come OpenGL.
Anzi, forse e' una pazzia, ma mi piacerrebbe che il server X (ridotto
di funzionalita') girasse sulla GPU.
E` difficile... XWindows e` un server e grosso e va aggiornato. Girare
sulla GPU e` un suicidio e ridurlo di funzionalita` una pazzia. Inoltre
XWindows e` gia` multi-piattaforma ma per windows, oltre alla versione
in cygwin ne esistono solo a pagamento. Per tutti gli altri OS, ma
proprio tutti, esiste gia`.
Post by Manlio Perillo
2) Dato che XWindows non impone una interfaccia utente (per questo mi
piace, Windows in questo caso e' un casino immane), si deve definire
una interfaccia grafica e relativa API.
Nella mia piccola esperienza ho notato che sistemi cone GTK o Motif,
sono troppo ad alto livello. Infatti, prendendo ad esempio GTK,
l'utilizzatore non vede (quasi) piu' i windows message, ma solo slot e
callback.
E questo in che modo sarebbe un problema? Magari e` tra le cose che non
hai letto, ma GTK permette di creare i tuoi segnali personalizzati.
Detto questo, astrarre e` sempre bene, specialmente quando e` fatto
bene.
Post by Manlio Perillo
Quello che intendevo era una API come quella di Windows.
Qualcosa che puo' essere implementato in kernel space, insomma.
Questo e` male. La GUI in kernel space e` male, se ne e` gia` parlato
troppo su icod, qua sarebbe OT. Detto questo: al massimo in kernel space
implementi le xlibs, non certo le GTK. Perche` in windows solo GDI e`
nel kernel non le MFC. Ma tutto cio` resta assolutamente inutile.
Post by Manlio Perillo
3) Infine il terzo componente e' il sistema di widget.
Avendo alle spalle tutto il lavoro di cui al punto 2), diventa
flessibile scrivere un toolkit interamente in Python, sfruttandone
cosi' tutti i vantaggi.
Anzi, si potrebbe usare Twisted come base...
Sinceramente: Twisted gia` usa glib come reactor ed e` il miglior
reactor tra i vari che supportano toolkit grafici. Inoltre pygtk
permette gia` ora di scrivere nuovi widget usando puro python.
Esempio:

import pygtk
pygtk.require('2.0')

import gobject
import pango
import gtk
from gtk import gdk

if gtk.pygtk_version < (2,3,93):
print "PyGtk 2.3.93 or later required for this example"
raise SystemExit

TEXT = 'A GtkWidget implemented in PyGTK'
BORDER_WIDTH = 10

class PyGtkWidget(gtk.Widget):
__gsignals__ = { 'realize': 'override',
'expose-event' : 'override',
'size-allocate': 'override',
'size-request': 'override',
}
def __init__(self):
gtk.Widget.__init__(self)

self.draw_gc = None
self.layout = self.create_pango_layout(TEXT)
self.layout.set_font_description(pango.FontDescription("sans
serif 16"))

def do_realize(self):
self.set_flags(self.flags() | gtk.REALIZED)

self.window = gdk.Window(self.get_parent_window(),
width=self.allocation.width,
height=self.allocation.height,
window_type=gdk.WINDOW_CHILD,
wclass=gdk.INPUT_OUTPUT,
event_mask=self.get_events() |
gdk.EXPOSURE_MASK)
self.draw_gc = gdk.GC(self.window,
line_width=5,
line_style=gdk.SOLID,
join_style=gdk.JOIN_ROUND)
self.window.set_user_data(self)
self.style.attach(self.window)
self.style.set_background(self.window, gtk.STATE_NORMAL)

def do_size_request(self, requisition):
width, height = self.layout.get_size()
requisition.width = width // pango.SCALE + BORDER_WIDTH*4
requisition.height = height // pango.SCALE + BORDER_WIDTH*4

def do_size_allocate(self, allocation):
self.allocation = allocation
if self.flags() & gtk.REALIZED:
self.window.move_resize(*allocation)

def do_expose_event(self, event):
self.chain(event)

x, y, w, h = self.allocation
self.window.draw_rectangle(self.draw_gc, False,
x + BORDER_WIDTH, y + BORDER_WIDTH,
w - BORDER_WIDTH * 2, h -
BORDER_WIDTH * 2)
fontw, fonth = self.layout.get_pixel_size()
self.style.paint_layout(self.window, self.state, False,
event.area, self, "label",
(w - fontw) / 2, (h - fonth) / 2,
self.layout)

gobject.type_register(PyGtkWidget)

win = gtk.Window()
win.set_title(TEXT)
win.connect('delete-event', gtk.main_quit)

w = PyGtkWidget()
win.add(w)

win.show_all()

gtk.main()
--
Valentino Volonghi aka Dialtone
Now Running MacOSX 10.3.8
Blog: http://vvolonghi.blogspot.com
http://weever.berlios.de
Lawrence Oluyede
2005-04-16 08:24:56 UTC
Permalink
Post by unknown
Inoltre pygtk
permette gia` ora di scrivere nuovi widget usando puro python.
Ecco questo non lo sapevo, da dove hai preso l'esempio :D ?
--
Lawrence
unknown
2005-04-16 11:42:30 UTC
Permalink
Post by Lawrence Oluyede
Ecco questo non lo sapevo, da dove hai preso l'esempio :D ?
Dagli esempi che ti arrivano assieme al sorgente di pygtk-2.4.1 :)
--
Valentino Volonghi aka Dialtone
Now Running MacOSX 10.3.8
Blog: http://vvolonghi.blogspot.com
http://weever.berlios.de
Lawrence Oluyede
2005-04-16 12:19:54 UTC
Permalink
Post by unknown
Dagli esempi che ti arrivano assieme al sorgente di pygtk-2.4.1 :)
Ahaha ok, vado a dare un'occhiata
--
Lawrence
Loading...