<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2015-01-20 19:42 GMT+00:00 Giovanni Porcari <span dir="ltr"><<a href="mailto:giovanni.porcari@softwell.it" target="_blank">giovanni.porcari@softwell.it</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
</span>No guarda non è che non ci sia documentazione. Ce n'è tanta in rst, anche dentro ai sorgenti di genropy.<br>
Ci sono le docstring e ci sono vari documenti su vari aspetti della programmazione web con genropy.<br>
Però la qualità è molto modesta e non è nemmeno aggiornatissima. Per questo dico che non c'è.<br>
Nella mia testa una cattiva documentazione fa più danni di nessuna documentazione.<br></blockquote><div><br></div><div>Oh, io mi fido di quello che dici tu: se dici che non c'e', per me non c'e' ;)</div><div>Specie se dici che non e' aggiornata etc etc etc.</div><div><br></div><div>Insomma, il mio punto era che a volte basta una scintilla per fare partire le cose, tutto qui.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Ci sono poi gli screencast di francesco: anche qui lo sviluppatore viene guidato passo dopo passo<br>
con gli screencast e la relativa pagina di spiegazione a partire dall'installazione fino<br>
alla scrittura di un applicazione di fatturazione completa. Non è forse tecnicamente descrivibile<br>
come documentazione ma comunque chiunque abbia provato, per quanto ne so, è riuscito a fare tutto.<br></blockquote><div><br></div><div>E' certamente qualcosa di utile (si, probabilmente non e' documentazione). In Italiano immagino...</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
</span>C'entra perchè, se avrai la pazienza di dare un occhio alle famose lezioncine di interfaccia,<br>
esiste una nutritissima collezione di widget che usi da python, un sistema di eventi lato<br>
client e uno store da cui i widget attingono. Se guardi il codice di applicativi<br>
genropy e applicativi in wx o qt non ci sono molte differenze. Per questo ti dico<br>
la metafora template HTML e costruzione lato server è davvero lontana dalla nostra<br>
metodologia.<br></blockquote><div><br></div><div>Si, ora non voglio divagare... ma e' una metafora parecchio lontana anche da come vengono fatte molte applicazioni web oggi. Non so dirti se si possa dire "la maggior parte delle", ma sicuramente un gran numero.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
> Cioe'... e' vero che da un punto di vista sufficientemente alto Django e' un affare che ti fa pagine HTML dinamiche con una GUI smazzata in Javascript. Ma questo e' vero per *ogni* prodotto web. Cioe', la grana e' talmente grossa che non riesci a distinguere nulla: ovvero anche la distinzione che fai sotto dalla distanza a cui stai guardando Django va persa. Anche Genropy alla fine della fiera ti genera pagine HTML con pezzi di Javascript. Come Django, PHP, Rails.<br>
</span>No, su questo no concordo :).<br>
Sono certo che *ogni* prodotto tradizionale funziona così.<br>
Ma in altri casi, come nel nostro, la metafora è completamente diversa.<br>
Noi, all'atto della richiesta di una pagina, rendiamo una paginetta HTML minimale (di fatto sempre la stessa) la quale fa costruire<br>
nel browser un client scritto in javascript che instaura un canale con una sua controparte nel server. Questa 'macchina' metà<br>
in python e metà in javascript crea i widget, li popola dinamicamente, riceve i risultati delle query e inserisce i dati<br>
nei widget opportuni, cambia al volo le proprietà dei widget stessi a seconda della business logic.<br>
Una pagina tradizionale vive poche decine di secondi. Una pagina di genropy per gestire un archivio clienti<br>
può essere richiesta alle 9 di mattina e chiusa alle 6 di sera. L'unica cosa che avrà dovuto transitare nella<br>
giornata saranno i dati.<br></blockquote><div><br></div><div>Eh... ma oggi giorno tanto web e' fatto cosi'. Solo per citare uno dei prodotti piu' famosi, Angular. Single page, rich internet applications etc etc etc. Ci sono punti di contatto e differenze. Il problema e' che oggi il web e' "pagina dinamica" solo da un punto di vista superficiale. In realta', e' qualcosa di molto diverso in tantissimi casi.</div><div><br></div><div>Questo stavo cercando di dirti prima quando dicevo che se ti metti al livello in cui si puo' asserire che alla fine dei conti Django e' template renderizzato + javascript... qualunque cosa lo e'. Per il semplice motivo che spesso e volentieri Django serve applicazioni che sia dal punto di vista di chi le programma che da quello di chi le usa sono qualcosa di completamente diverso.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Come al solito i tuoi interventi sono precisi e pertinenti e ti ringrazio del tempo che hai speso per rispondermi.<br>
Se poi avrai quella famosa oretta per vedere le lezioni su <a href="http://sandbox.genropy.org" target="_blank">sandbox.genropy.org</a> mi piacerebbe sentire cosa ne pensi.<br></blockquote><div><br></div><div>Sigh.. ci sono andato solo per 10 minuti. Niente da dire, interessante, pulito, tutto bello. Poi un giorno se ci troviamo per una birra avrei alcune domande su scalabilita' e compagnia perche' sono curioso su alcune soluzioni tecniche come si comportano, se hai dati.</div><div><br></div><div>Comunque da utente genropy l'avevo usata parecchio veh... certo, sara' stata una versione piuttosto vecchia (parliamo di... beh, di Pycon, presente). </div></div><br clear="all"><div><br></div>-- <br><div class="gmail_signature"> .<br>..: -enrico-</div>
</div></div>