E’ di pochi giorni fa l’annuncio del rilascio della versione 1.0 di Django: framework per lo sviluppo di siti e applicazioni web scritto interamente in Python, uno dei linguaggi attualmente più innovativi e chiacchierati. Dopo un buon numero di versioni beta e di bugfix ha finalmente visto la luce la prima major release di quello che prenderà il posto di Ruby On Rails. Vediamo quali sono le novità.
Django si posiziona sicuramente tra i primissimi posti nella classifica dei molteplici framework web, soprattutto per via delle notevoli caratteristiche e funzionalità presenti rispetto ad altri strumenti di sviluppo. Analizziamoli insieme. Il framework è completamente aderente alle specifiche Open Source ed è rilasciato con licenza BSD.
Django è un framework completamente MVC (model-view-controller) e si basa sul concetto di DRY (don’t repeat yourself), paradigma molto apprezzato ultimamente dagli sviluppatori di tutto il mondo.
Una delle funzionalità più importanti presenti in Django è sicuramente la componente ORM (object-relational mapping) per facilitare e velocizzare la persistenza dei dati su database mappando le proprietà di un oggetto python all’interno di una tabella di un dbms relazionale. La generazione delle viste (ovvero dei file che compongono la response HTTP) è resa possibile tramite un template system modulare ed estendibile che utilizza uno dei concetti molto cari ai programmatori object-oriented ma poco utilizzato in ambito di presentazione dei dati: l’ereditarietà.
Django integra queste funzionalità, ormai diventate quasi d’obbligo in un framework web, con la possibilità di avere interfacce di amministrazione dinamiche, URL amichevoli ottimizzati per i motori di ricerca, una componente che facilita l’internazionalizzazione e molto altro: praticamente una manna dal cielo per chiunque sviluppi applicazioni web-oriented.
Ma quello che rappresenta il vero fattore vincente di Django è la sua modularità, possibile tramite l’integrazione di diverse applicazioni all’interno di un unico progetto. Grazie a questa caratteristica è possibile scomporre un progetto in sotto-componenti autonome (con propri modelli, controller e viste) per poterle riutilizzare in futuro in applicazioni simili. In quest’ottica Django presenta alcune applicazioni (presenti all’interno del package django.contrib) completamente funzionanti che posso essere utilizzate già da subito nei nostri progetti come per esempio un gestore di commenti o un cms.
Ora quindi non resta che puntare al sito ufficiale del progetto, scaricare il tarball e, grazie alla buona documentazione presente sul sito, iniziare a sviluppare. Buon divertimento!
di Alberto Bottarini - TuxJournal.net