Andrea Giammarchi ha scritto: > Lawrence Oluyede ha scritto: >> Il punto è che in un fw è tutto più organico, tutto qui. Ma sembra che >> tu non voglia usare un fw a tutti i costi, mi sbaglio? > no, non sbagli, devo fare un qualcosa di portabile, non basato su alcun > framework, per fare questo devo evitare di basarmi a mia volta su un fw. >
Dai un occhio anche a Twisted. Twisted *è* un framework, ma non uno qualsiasi. Il problema è che vive in un mondo tutto suo (asincrono) ed è difficile adattare delle librerie sincrone. Twisted ha un server web (twisted.web ora in fase di riscrittura verso twisted.web2) interamente scritto in Python che ti da una flessibilità probabilmente senza pari. E le performance sono buone, appunto perchè sfrutta il modello asincrono. C'è anche un web toolkit, Nevow, piuttosto unico nel suo genere (a molti non piace). > >> Non è che hai un intero fw in memoria eh. Solo che mod_python è un >> layer sopra Apache e non mi è mai piaciuto molto. Preferisco qualcosa >> di minimale come CherryPy allora che è più Pythonico. > CherryPy è molto interessante, soprattutto perchè leggero e presumo > portabile senza richiedere Apache o altri webservers (vorrei testarlo su > CD o pendrive, sarebbe veramente divertente svilupparci sopra). > Il webserver serve, altrimenti come fai? Quello usato di default da CherryPy mi sembra sia il server HTTP presente nella libreria standard. > Apache invece è il webserver più usato e noto della rete e mod_python è > un sotto progetto della Apache stessa. Si, ma Lighttpd sembra stia avendo un discreto successo, ed è molto più leggero. E per interfacciarsi a Ligttpd si usa SCGI o FASTCGI. Ci sono un paio di package che implementano un server per questi due protocolli, offrendo una interfaccia WSGI (Python Web Server Gateway Interface v1.0, PEP 333, http://www.python.org/dev/peps/pep-0333/) WSGI è la chiave per la portabilità. > Questo mi porta a pensare che: > 1 - se devo imparare ora qualcosa su Python per il web, tanto vale > scegliere il progetto sulla quale investirei (o meglio investono) di più > (progetto ufficiale di un webserver che punta molto su questo stesso) > 2 - se devo creare una libreria portabile, tanto vale crearla su misura > per il modulo usato dal webserver più noto (per poi adattarla > eventualmente su altri fw, dove le cose sono parzialmente fatte) > 3 - se dovessi scegliere un webserver, già che sto imparando qualcosa, > sceglierei un server Linux con Apache e mod_python, che è "mission > critical ready" e che presumo a breve verrà sempre più sfruttato > Come ti è già stato detto, mod_python è a basso livello. Se la gente passa a Python da PHP è per usare qualcosa che funzioni meglio su larga scala. > Detto questo ho letto solo oggi che PSP sarebbe mod_psp, integrato da > non molto in mod python ... non so quindi quanto sia maturo / affidabile > performante, ma il fatto del C dietro l'intero modulo, mi fa pensare sia > la scelta migliore per semplicità e prestazioni, in grado di battersela > con C#, J2EE o altri, sicuramente kilometri sopra le performance > deludenti del PHP Guarda che come performance assolute Python non è meglio di PHP. Tempo fa qualcuno ha fatto dei semplici test. Occhio alla parola "semplici". In realtà un test per avere significato deve essere su una applicazione significativa. > (sto anche tentando di migrare dal PHP perchè mi sta > facendo imbestialire ogni giorno di più ... pensavo di passare a C# per > richiesta e presenza in rete ma C# è lievemente prolisso anche per le > cose semplici e non mi sta quindi molto simpatico) > > Ora non mi resta che trovare documentazione decente sul modulo, quella > ufficiale non è molto utile ... :-( > > Ogni link su classi, dettagli di configurazione o altro è bene accetto, > io mi ritrovo sempre nelle stesse pagine che dicono tanto e non > approfondiscono quasi niente. > Per prima cosa devi conoscere bene Apache. mod_python non mi sembra poi così complicato. Saluti Manlio Perillo
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python