[Python] Why do really need all these web framework?
Enrico Franchi
enrico.franchi a gmail.com
Mer 20 Apr 2011 15:52:47 CEST
Giorgio Zoppi wrote:
> vorrei aprire una discussione. In questi ultimi anni vi e stata una
> esplosione di framework per la programmazione web. Quello che non mi
> spiego, perche? Ce veramente
> bisogno di una cosi ampia scelta? Su cosa specializzarsi?
Io non so da quanto frequenti la community Python/Python web. Se la
frequenti da prima del boom di Rails (e conseguente di Django), ti
ricorderai che prima c'era la stessa cosa con i template engine e in
genere oggetti per web (che all'epoca chiamavamo comunque framework).
In parte perche' per scriversi il proprio ci andava veramente poco.
In Python e' cosi: ci vuole poco codice per fare le cose. E se sei
bravo, ce ne va anche meno, perche' essenzialmente ti affidi alla
meta-programmazione.
Questo vale anche per i framework full-stack che si fanno oggi: specie
se per un paio di componenti ci si appoggia all'esistente. Per dire, uno
dei pezzi piu' rognosi e' l'orm, ma basta appoggiarsi a sqlalchemy o
qualcuno che ci sta sopra ed e' fatta.
Perfino wsgi e' "quasi pronto" per lavorarci direttamente: aggiungerci
sopra uno strato minimo per fare la cosa giusta e' veramente rapido.
Quindi perche'? Perche' e' *semplice*. E' divertente. E si capiscono un
sacco di cose.
Io personalmente mi sono gia' scritto i miei due mini-frameworks (uno a
tempo record in un pomeriggio sopra CGI e faceva tutto quello che mi
serviva per quell'applicazione -- specifica -- che aveva appunto
requisiti di deployment bizzarri -- o cgi o php --). Questo anni fa.
Quindi "ho gia' dato" e mi sono divertito.
Per le mie esigenze userei Django oppure se devo fare cose esotiche
web.py (non web2py). Poi magari oggi riguarderi web.py vs. flask.
Qualche anno fa web.py mi era piaciuto molto: poche righe di codice, si
poteva leggere direttamente il sorgente e saltare la documentazione, e
in piu' di capivano un sacco di cose.
Ce ne e' bisogno? C'e' bisogno di centinaia di distro linux? Di una
decina di shell? Non so quanti browser "minori", filemanager, window
managers etc etc etc? L'open source funziona cosi'. I progetti che
"restano" sono poi pochi rispetto a tutto questo. E', volendo, un
approccio quasi darwiniano.
IMHO a *te* conviene guardarti i 2-3-4 piu' diffusi e scegliere fra
quelli. Eventualmente avere due o tre soluzioni note (uno super-leggero
per cose esoteriche, django per il resto, magari zope se ti piace).
BTW, hai visto quante diverse librerie ci sono in Java per fare le
diverse cose?
--
.
..: -enrico-
Maggiori informazioni sulla lista
Python