5 Motivi Per Cui Django Stenta A Diffondersi
Negli ultimi anni, tra i framework per lo sviluppo di applicazioni orientate al web, si è fatto un gran parlare di Django che sembra aver fatto breccia nel cuore e nella mente di molti sviluppatori per svariate ragioni. Premesso il fatto che se Python è stato scelto da Google come unico linguaggio se volete che le vostre applicazioni possano essere ospitate sui web server dell’azienda di Mountain View tramite Google AppEngine, e che Django è l’unico framework per cui viene fornito un specie di supporto un motivo ci sarà, io sinceramente trovo ancora un pò scomodo e non vantaggioso come molti sostengono in giro, sviluppare applicazioni web con questo framework MVC.
Ecco sostanzialmente le ragioni per cui non trovo Django così fantastico come si dice in giro.
Installazione tutt’altro che semplice
Il primo grande ostacolo che si trova è proprio l’installazione che è tutt’altro che elementare sia in locale (su Windows e su Mac) che in remoto sul vostro web server. Se infatti siete degli amanti di MAMP, WAMP, XAMMP e simili che fino ad ora vi hanno permesso di testare in locale i vostri script in PHP e MySQL, troverete non poche difficoltà nell’installazione non tanto di Django quanto del modulo di MySQL per Python e sinceramente senza l’appoggio di un database vi potete divertire ben poco a sviluppare applicazioni che abbiano un senso.
Passando all’installazione lato server i problemi non sono minori, anzi. Se non avete la possibilità di accedere via ssh al vostro spazio web potete anche sognarvi di usare Django per le vostre applicazioni web. Se per esempio siete su Dreamhost e quindi avete questa possibilità, l’installazione è tutt’altro che semplice come potete leggere nel wiki. L’ideale sarebbe quindi avere un VPS (Virtual Private Server) se non addirittura un server dedicato, ma non tutti purtroppo se lo possono permettere.
Documentazione tutta in Inglese
Se siete degli sviluppatori o pseudo tali e non avete una buona conoscenza dell’inglese (almeno quello volgarmente detto tecnico) vi consiglio di darvi all’ippica perchè siete tagliati fuori. In ogni caso anche se siete poliglotti e l’inglese per voi non è un problema, scommetto che avere della documentazione scritta in italiano non vi dispiacerebbe vero? Ecco un’altra nota dolente: la documentazione ufficiale è tutta in inglese.
Il Django book è davvero un’ottima risorsa, però almeno all’inizio per prendere confidenza con il nuovo ambiente di sviluppo leggere qualcosa in italiano non farebbe affatto male. Purtroppo a parte qualche tutorial e qualche guida su come risolvere i problemi più comuni, in italiano non si trova praticamente niente.
Vi consiglio pertanto un bel corso di inglese prima di iniziare.
Hosting difficile da trovare
Come detto in precedenza per installare Django ci vuole per forza di cose un accesso SSH, quindi non potrete ospitare i vostri capolavori su un qualsiasi spazio web. Specialmente in Italia, se avete un normalissimo contratto di hosting, magari a basso prezzo, non potrete installare il framework MVC (che io sappia a parte UnBit non ci sono altri provider che offrono normali servizi di hosting Django-ready). Quindi o vi toccherà emigrare all’estero presso Dreamhost o altri celebri provider che fanno dell’overselling il loro cavallo di battaglia oppure dovrete seriamente pensare di mettere mano al portafogli e prendervi un VPS o se proprio potete spendere un bel server dedicato.
Performance eccezionali?
Ok, ma per la vostra idea geniale ci vuole una realizzazione efficientissima altrimenti la vostra applicazione web 2.0 sarà lentissima quando milioni di persone la utilizzeranno contemporaneamente: ecco perchè vi serve Django!!!
A me la storia delle prestazioni fantasmagoriche di Django non convince troppo. Rispetto a PHP sarà pure più efficiente ed ottimizzato… ma come potete leggere nei punti sopra, quasi sempre le applicazioni sviluppate con Django sono ospitate o su VPS o su server dedicati che magari usano Lighttpd se non LiteSpeed impostazioni di cache a livello di MySQL che rendono le query verso il database, tutto questo sommato alla possibilità di cachare le pagine tramite Django le molto rapide ecc ecc…
Provate ad hostare le vostre applicazioni fatte in PHP (tanto per fare un esempio) su un VPS o un server dedicato come sopra e… se non programmate con i piedi le prestazioni non saranno molto differenti.
CodeIgniter & Co.
Ok l’ultimo mito che è rimasto da sfatare è la semplicità con cui si programma in Django che non è paragonabile a nessun altro framework. Quando si guarda uno screencast e le cose le fa un altro è tutto semplice. Se poi le cose sono degli esempietti stupidi sono ancora più semplici.
Django è un framework MVC (Model-View-Controller) come ce ne sono a decine in giro per i linguaggi più svariati. Se non sapete da dove iniziare la vostra applicazione, il fatto che avete a disposizione Django non vi aiuterà molto. Rispetto a framework pesanti come Ruby On Rails o Symphony ha sicuramente il suo perchè e sicuramente vi aiuterà a sviluppare applicazioni più snelle e più veloci. Sempre se riuscite ad installarlo, sempre se avete dove installarlo, sempre se riuscite a sviluppare in locale e poi mettere tutto online ecc ecc
Ora dico io: ci sono degli ottimi framework MVC come CodeIgniter che vi offrono la stessa semplicità di sviluppo, più o meno le stesse basi da cui partire ma non dovrete diventare matti nel trovare una soluzione per installarlo in locale piuttosto che su un servizio di hosting che non prosciughi le vostre tasche.
Perchè andarvi a complicarvi la vita con Django?
Forse adesso non parlo con cognizione di causa perchè mi ha fatto diventare matto per installarlo in locale e poi in remoto e non sarò riuscito ancora ad apprezzarne i vantaggi… però a tutt’oggi definirlo il Visual Basic per il Web mi sembra un paragone abbastanza pittoresco. D’altronde Django solo per installarlo necessita di 3 giorni di ferie: io Visual Basic lo ricordo di molto più semplice utilizzo o sbaglio?
Spero di avere qualche sostenitore. Voi come la pensate?
@ @rchie
L’installazione di Django non è affatto difficile se il sistema che hai a disposizione è “pulito”. Io purtroppo o per fortuna mi occupo un pò di tutto, di sviluppo web ma anche di programmazione a più basso livello, e il mio sistema operativo è tutt’altro che pulito.
Quindi dal mio punto di vista Django è molto bello e facile per chi è alle prime armi e può quindi permettersi di prendere la prima guida in inglese che si rova in rete e seguirla passo passo installandoselo e incominciando a smanettarci.
Ma quando hai anche una virgola che non combacia con i requisiti che deve avere il sistema per l’installazione allora le cose si complicano e non di poco e far convivere Python con tutto il resto a cui non puoi rinunciare diventa molto ma molto difficile.
Anche per un addetto al settore.
O comunque diventa molto più difficile di altre soluzioni più “datate” ma molto più versatili ed in grado di convivere in qualsiasi ambiente.
Poi ripeto, provando Django effettivamente permette un sviluppo di applicazioni molto agevole e permette di realizzare soluzioni web-oriented in maniera molto semplice, ma a che prezzo?
@Dario
Interessante il servizio di hosting francese che hai segnalato. Quasi quasi lo prvo appena ho un pò di tempo, sono curioso di sapere come funge.
Ottima segnalazione
In locale su un pc è tutto semplice perché hai la pass di root.
In remoto, se non viene offerto già installato, o hai una account ssh con privilegi amminstrativi (vedi i casi dei VPS e dei dedicati) oppure è un percorso tortuoso (vedi wiki di Dreamhost)
Comunque, forse può fare piacere sapere di questo servizio francese:
http://www.alwaysdata.com
Supporta sia Django che Rails ed ha un pacchetto base gratuito. Non l’ho provato e quindi non so aggiungere altro.
Ciao
Ciao Davide non vorrei “offenderti” ma non è che la tua è solo cattiveria verso Django? Leggendo il tuo post sono rimasto non poco perplesso, mi sono detto veramente questo tizio ha trovato Django tremendamente difficile da installare? Uno studente di ingegneria?
Io sono un semplice hobbista che sta cercando di imparare un pochettino di programmazione(ho 42 anni non ho mai programmato in vita mia)Python mi è sembrato tra i più semplici per me,quindi guardo anche un pò più in la, eppure sono riuscito a primo botto ad installare Django sia su WinXP, che su Ubuntu 8.04(installazione in locale) senza nemmeno usare apt-get. A conferma di quanto dico tra qualche giorno sto per postare sul mio blog(a conferma che sono un vero niubbo informatico) un mini tutorial su l’installazione di Django saluti.
Lascia un tuo commento!
Rimani aggiornato
Abbonati ai miei Feed RSS
Articoli | Commenti
oppure ricevi gli aggiornamenti via e-mail:
Scopri cosa sono e come usare i Feed RSS
La tua pubblicità qui? Scopri come...
In prima pagina
Commenti Recenti
Ciao a tutti, ho installato leopard sul...
grazie mille, ora provo...
Davvero una Grande Cosa, ma davvero il...
Per quanto mi riguarda oltre a statistiche...
Ciao, complimenti per il video molto ben...
ciao sono interessato ad un invito fonera...
MERAVIGLIOSO!! dopo notti passate a caricare un file...
In locale su un pc è tutto...
Ciao Davide non vorrei "offenderti" ma non...
Senz'altro necessario per chi ne ha necessità...
Meta
Scelti a caso
Più commentati
Qualche scatto
Tutto il materiale è coperto da Licenza Creative Commons | Per maggiori informazioni.
Articoli (RSS) | Commenti (RSS) | Torna su