>
MENU
128px-usbdrive_iconsvg

Tips&Tricks: Formattare l’USB key da riga di comando

lvs-150

Postfix in alta affidabilità e massima performance con heartbeat,...

11 settembre 2008 Visualizzazioni: 551 Focus

Django: lo sviluppo web per perfezionisti

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

twittergoogle_pluslinkedinmail
  • http://yeahnowow.com ynw

    E’ un traguardo importantissimo, peccato che arrivi così tardi e che la transizione di applicazioni precedenti alla 1.0 non sia proprio trasparente.

  • subcom

    e perchè mai dovrebbe prendere il posto di RubyonRails? Così tanto per citare una combinazione di parole molto ricercata e ricevere un po’ di visite in più???

  • http://www.albertobottarini.com alberto

    Assolutamente no!

    Esistono diversi gruppi di motivazioni.
    Dal punto di vista di linguaggio bisogna dire che python è senza dubbio più performante e diffuso di Ruby (basta chiedere a google per trovare N blog e benchmark che giudicano python più veloce).
    Dal punto di vista strettamente relativo ai framework web Django presenta alcune caratteristiche e feature che attualmente in Rails non ci sono (per esempio l’admin automatico che non può essere minimamente paragonato allo scaffolding, i template organizzati gerarchicamente e la estendibilità tramite il concetto di “applicazione” e “progetto” secondo me più modulare rispetto ai seppur ottimi plugin per Rails).
    Per ultimo, non per importanza, la facilità di integrazione di Python/Django con Apache (che rimane il server web più diffuso) grazie al mod_python che non può essere paragonato ancora a mod_rails.

  • pitonenostrano

    “la prima major release di quello che prenderà il posto di Ruby On Rails” ma non diciamo cretinate! mi piacerebbe! e anche molto che fosse così ma non lo sarà mai.

    Programmo Python da 5 anni e per i primi 3 anni ho programmato in pthon per lavoro. non mi piace ruby ma questo articolo vuole mettere in luce quello che non è vero.

    rails è arrivato prima, si è diffuso meglio, e anche in italia ci sono sempre più aziende che utilizzano rails. non te lo diranno mai! ma lo usano eccome.

    * Il framework è completamente aderente alle specifiche Open Source ed è rilasciato con licenza BSD.

    Quasi tutti i framework di ultima generazione sono open source. anche rails.

    * 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.

    4 anni fa poteva essere una novità diciamocelo, rails è arrivato prima.

    * Una delle funzionalità più importanti presenti in Django è sicuramente la componente ORM (object-relational mapping)

    si in effetti mi piace un mondo :))) anche usato fuori da django. activerecord (di rails) è perà molto più semplice da usare per i meno esperti. e ha molti plugin davvero carini che non mi dispiacerebbe venissero implementati anche per django.

    * il vero fattore vincente di Django è la sua modularità, possibile tramite l’integrazione di diverse applicazioni all’interno di un unico progetto.

    verissimo, che io sappia sonlo MERB ha lo stesso concetto di modularità. ma davvero non è la carta vincente

    la vera carta vincente per un progetto open source è la capacità di diffondersi e di attirare utenti (in questo caso programmatori) e SOLDI. da questo abbiamo da imparare molto da rails.