XP on Rails Extreme Programming Blog

3Jan/081

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

Tagged as: , 1 Comment
22Dec/070

La scelta del framework PART 1

Nel precedente post ho annunciato il tema della nuova applicazione.

Ora resta soltanto da definire il linguaggio di sviluppo…

Come ho potuto notare durante l’implementazione di questo blog, Rails è senza dubbio un framework molto valido per sviluppare applicazioni web di piccola media complessità: la metodologia di sviluppo agile promossa da questo framework permette infatti di rilasciare applicazioni di qualità con poco sforzo e tempo.

Inoltre, la grande quantità di plugin forniti dalla comunità di Rails, permetterebbe di soddisfare pienamente le richieste della mia nuova applicazione, partendo dal supporto di tag, l’autenticazione degli utenti, la definizione dei ruoli, fino alle interfacce REST.

Rails sembra dunque essere il candidato ideale per lo sviluppo di applicazioni web ma…

… ma sono curioso di sapere cos’altro il mondo mi mette a disposizione.

Eliminando di partenza il caotico e abbastanza odiato PHP, mi chiedo:
Python, cosa mette a disposizione?

Le alternative per il web messe a disposizione da Python sono:

* Turbogears
* Pylons
* DJANGO
* innumerevoli framework

Una scelta veramente vasta, pronta a soddisfare ogni esigenza…

Nel prossimo articolo entrerò nel dettaglio dei frameworks pytonici e svelerò quale sarà il framework che mi accompagnerà nella mia nuova avventura di sviluppo.

Tagged as: , No Comments