La scelta del framework PART 2
Nello scorso post stavo analizzando i framework Python per lo sviluppo di web applications.
Devo dire che Python mette a disposizione dello sviluppatore web una vasta gamma di framework, piu’ o meno completi e complessi.
Senza dubbio, veramente interessante e’ Turbogears, megaframework che unisce in un’unica applicazione framework per l’accesso al dato (SQLObject o SQLALchemy); per il routing (CherryPy); per la parte di view (Kid, Genshi). A tutto questo si aggiunge un sistema di autenticazione gia’ incluso nel “pacchetto”, tools di amministrazione e scaffolding, tools per il testing.
Tutte queste caratteristiche mi hanno fatto adottare in principio Turbogears come framework di riferimento, ma poi alcune considerazioni mi hanno fatto rinunciare all’idea:
* Turbogears si trova in questo momento in un periodo di transizione, dalla versione 1.x alla 2. L’upgrade determinera’ l’adozione di SQLAlchemy, CherryPy e Genshi come framework di default, e la retro compatibilita’ non e’ assicurata (i tools di amministrazione funzionano solo con SQLObject e Kid).
* L’utilizzo delle API di Turbogears, ottimamente costruite sopra il framework CherryPy mi sembrano troppo costrittive alla tecnologia, a scapito di possibili espansioni o evoluzioni dei framework sottostanti.
* Un’interfaccia di tipo RESTful non e’ facilmente applicabile.
A questo punto, Django sembrava una valida alternativa. La critica sul web pare approvarlo e consigliarlo come il Rails su Python (ovviamente a grandi linee). In questo caso pero’ mi sono scontrato su quello che ritengo il peggior difetto di Rails, cioe’ essere un framework monolitico. Non avere possibilita’ di scelta mi fa sentire troppo vincolato. Magari, in un fututo, penso di dare un’occhiata piu’ profonda a questo framework.
Scartate le grandi applicazioni, non mi rimaneva altro che iniziare a costruire l’applicazione con i framework che preferivo. La mia scelta e’ dunque ricaduta su:
* SQLAlchemy per la parte di ORM
* CherryPy per il routing
* Genshi per la parte di view
* MochiKit per il javascript
May 5th, 2011 - 19:17
http://www.thoughts.com/reversephonedirectorypage/reverse-phone-directory-find-out-if-your-wife-is-cheating-on-you reverse phone directory