Django

Nato dall'esigenza di due sviluppatori, Adrian Holowaty e Simon Willison, di trovare un'alternativa valida ai framework offerti dal mondo PHP, Django è conosciuto ed apprezzato per l'alta efficienza che permette di mettere in campo durante la fase di sviluppo.
Compatto, modulare, ben supportato dalla community, rappresenta una ottima scelta per chi decide di muoversi nel mondo Python, linguaggio ormai entrato a pieno titolo tra quelli giornalmente utilizzati per lo sviluppo di applicazioni web (ma non solo), molto spesso di taglio enterprise.
Tra le caratteristiche principali di Django ci sono il robusto ed efficiente sistema di ORM (Object Relational Mapping), attraverso il quale si può lavorare sui dati delle applicazioni senza preoccuparsi della loro rappresentazione, oppure l'efficace ed essenziale sistema di gestione e generazione delle form (da sempre un elemento non troppo scontato nel web).
Oltre a tali funzionalità base, disponibili già a valle di una procedura di installazione relativamente semplice, la community ha sviluppato senza sosta tutta una serie di estensioni (chiamate "applicazioni", nel mondo Django), che moltiplicano di diversi ordini di grandezza l'insieme delle funzionalità supportate:
- support LDAP
- OAuth
- supporto REST
- e-commerce
- interfacce / supporto GIS
- blogging
e queste sono solo alcune delle "perle" regalate dalla community al framework.
Una delle caratteristiche più interessanti di Django è la possibilità di diventare, a sua volta, un componente di architetture ben più ampie e complesse: sia per il linguaggio di programmazione con cui è sviluppato, sia per la possibilità di essere "servito" attraverso uno stack WSGI; in molti progetti importanti, Abstract ha utilizzato Django & Satchmo per la gestione di commercio elettronico, con Plone per la gestione dei contenuti, e Diazo come frontend a servire al volo pagine web progettate in modo completamente slacciato dai contenuti.
Nei casi più estermi, in tali archietture sono presenti anche strumenti come Cassandra o Solr, per l'indicizzazione massiva di contenuti esternamente alla piattaforma.