2009-09-28 14 views
8

Recientemente he usado Django para un sitio web muy pequeño al estilo CMS. Estaba tan impresionado con lo rápido y fácil que fue desarrollar un proyecto de Django, que ahora estoy considerando usarlo para un proyecto significativamente más grande.¿Se debería usar Django para sitios grandes y complejos?

Sin embargo, antes de entusiasmarme con la idea, solo quería ejecutarla por alguien que realmente ha desarrollado un gran sitio web de Django (con muchas características y alto tráfico).

Teniendo en cuenta que recientemente he usado principalmente C# Asp.Net - ¿Hay algún error que deba conocer?

Respuesta

5

Se va a depender mucho de exactamente lo que quiere decir con "grandes" y "complejo".

En cuanto a "complejo", eche un vistazo a Pinax. Gran cantidad de funciones, todas creadas a partir de simples aplicaciones de Django, unidas entre sí, y todavía se considera un marco que usarías como un comienzo para construir un sitio de software social. Pero estoy seguro de que todavía se puede encontrar una versión de "complejo" que no encaja bien con la arquitectura de Django.

Manejar grandes cantidades de tráfico y grandes conjuntos de datos es una cuestión diferente. En última instancia, si creces lo suficiente, Django no lo manejará. Pero realmente, tampoco lo hará cualquier marco. Jacob-Kaplan Moss (uno de los desarrolladores de django) tiene a great article que describe la historia del desarrollo web que condujo hasta donde está Django. Él hace una buena defensa de por qué Django o cualquier otro marco no puede sobresalir tanto en el desarrollo rápido y escalabilidad masiva, pero por qué todavía vale la pena comenzar con uno. Básicamente, no hay dos sitios de alto tráfico que tengan los mismos problemas de escalabilidad: todos necesitarán un enfoque personalizado que sea específico para el tipo exacto de datos y tráfico con el que tienen que lidiar. Pero dado que es difícil predecir exactamente dónde van a estar esos cuellos de botella, es una buena idea comenzar con un marco de desarrollo rápido y comenzar a reemplazar los componentes cuando se encuentre con la necesidad.

5

Como se mencionó, realmente depende de lo que realmente significa "grande" y "complejo". Si planea construir otro eBay, la respuesta es "probablemente no".

Esta pregunta se realiza en un lote. Francamente, hay muchas respuestas por ahí. This thread es bastante bueno. También hubo una presentación muy concurrida en DjangoCon este año en Scaling Django. Depende de usted diseñar su sitio para que se amplíe, independientemente de la tecnología que utilice.

Mi respuesta sería: Si su sitio va a superar Django (o cualquier otro marco, para el caso), es enorme éxito y es probable que tenga el capital suficiente para contratar a un equipo gigantesco para reescribir la totalidad cosa.

Cuestiones relacionadas