2009-09-28 10 views
8

Ho recentemente utilizzato Django per un sito Web in stile CMS molto piccolo. Sono rimasto così colpito da quanto sia stato facile e veloce sviluppare un progetto Django, che ora sto considerando di usarlo per un progetto significativamente più ampio.Django dovrebbe essere utilizzato per siti grandi e complessi?

Tuttavia, prima di essere entusiasta dell'idea, volevo solo eseguirlo da qualcuno che in realtà ha sviluppato un sito Web Django molto grande (con molte funzionalità e traffico elevato).

Ricordando che recentemente ho utilizzato principalmente C# Asp.Net - Ci sono delle insidie ​​che dovrei sapere?

risposta

5

Sta andando a dipendere molto su esattamente che cosa si intende per "grandi" e "complesso".

Per quanto riguarda "complesso", dai un'occhiata a Pinax. Un sacco di funzionalità costruite tutte con semplici app Django collegate tra loro ed è ancora considerato un framework che avresti usato come punto di partenza per creare un sito di social software. Ma sono sicuro che puoi ancora trovare una versione di "complesso" che non si adatta bene all'architettura di Django.

Gestione di grandi quantità di traffico e insiemi di dati di grandi dimensioni è una questione diversa. In definitiva, se diventi abbastanza grande, Django non lo gestirà. Ma in realtà, neanche lo sarà il qualsiasi struttura. Jacob-Kaplan Moss (uno degli sviluppatori di django) ha a great article delineando la storia dello sviluppo web che ha portato fino a dove si trova Django. È un caso abbastanza forte per cui Django o qualsiasi altro framework non può eccellere sia per lo sviluppo rapido che per la massiccia scalabilità, ma perché vale ancora la pena iniziarne uno. Fondamentalmente, non ci sono due siti ad alto traffico che avranno gli stessi problemi di scalabilità: avranno tutti bisogno di un approccio personalizzato specifico per il tipo esatto di dati e traffico che devono affrontare. Ma dal momento che è difficile prevedere esattamente dove saranno questi colli di bottiglia, è una buona idea iniziare con un quadro di sviluppo rapido e iniziare a sostituire i componenti quando si incontra il bisogno.

5

Come accennato, dipende davvero da cosa significano realmente "grande" e "complesso". Se hai intenzione di costruire un altro eBay, la risposta è "probabilmente no".

Questa domanda viene posta un lotto . Francamente, ci sono un sacco di risposte là fuori. This thread è abbastanza buono. C'è stata anche una presentazione molto ben frequentata a DjangoCon quest'anno su Scaling Django. Spetta a te progettare il tuo sito in modo che risulti scalabile, indipendentemente dalla tecnologia utilizzata.

La mia risposta sarebbe: Se il vostro sito sta per diventare troppo grande Django (o qualsiasi altro contesto, è per questo), è enorme successo e probabilmente hanno abbastanza capitale per assumere un team gigantesca per riscrivere l'intera cosa.

Problemi correlati