Django es el framework web líder basado en Python, con una comunidad amigable y cientos de bibliotecas, es una de las mejores opciones para desarrolladores con altas exigencias y plazos ajustados.
Cuando doy mis seminarios de codificación a estudiantes universitarios, me gusta comenzar con un juego. Primero, les pido que expliquen un concepto (como "marcos web"). La primera persona que lo haga bien recibirá una pequeña recompensa. Como era de esperar, después de que hago la señal, docenas de rostros se sumergen en sus teléfonos, tabletas y computadoras portátiles en busca de la respuesta en Google. Normalmente obtenemos un ganador después de unos minutos.
Luego les pido a mis alumnos que pongan todos sus dispositivos en modo avión y hagan una segunda ronda con un concepto diferente. Obviamente, sin un acceso rápido a Internet, se ven obligados a salir a buscar acceso a Internet. En promedio, se necesitan entre 10 y 15 minutos para obtener una respuesta.
Finalmente optamos por una tercera ronda, otro concepto, pero esta vez sin utilizar internet. Por supuesto, esto significa buscar en la biblioteca, lo que lleva 30 minutos o más.
Después de la entrega de recompensas, hablamos un poco sobre el experimento. La mayoría de los estudiantes piensan que estoy tratando de mostrarles que las cosas eran mucho más difíciles cuando el acceso a Internet estaba restringido o no existía, y sí, hay algo de verdad en eso, pero lo que estoy tratando de señalar es una cuestión de tiempo.
La forma en que medimos el tiempo no ha cambiado en unos cientos de años, pero sí la forma en que lo experimentamos. Parece que cada día el mundo se mueve un poco más rápido y los segundos son más valiosos que nunca. Trabajamos más rápido, consumimos más rápido, nos movemos más rápido. Como un chef experimentado, eliminamos quirúrgicamente actividades innecesarias y que consumen mucho tiempo para que podamos pasar un tiempo más productivo y de calidad.
Sigamos con esta metáfora por un minuto. Si somos chefs y nuestro plato es una aplicación web, entonces un framework web es el cuchillo desollador. Al automatizar las actividades de desarrollo web más tediosas y que consumen más tiempo, reducimos los gastos generales, preparamos mejores platos y los llevamos a la mesa más rápido.
Para perfeccionistas como yo, confiar en bibliotecas y plantillas estandarizadas para un marco web puede parecer incorrecto. Siempre hay una vocecita en el fondo de tu cabeza que te dice que estás haciendo trampa o que podrías hacer un mejor trabajo si hicieras todo desde cero.
Y hay algo de verdad en eso, pero por otro lado, una construcción personalizada requiere tiempo y recursos que quizás no tengas. Por lo tanto, si opta por un marco web, necesitará una tecnología confiable en la que pueda confiar, que sea lo suficientemente personalizable como para que pueda agregar su toque personal sin sacrificar los beneficios de los procesos automatizados.
Para mí, cuando tengo que desarrollar sitios web basados en bases de datos, este framework web es Django.
¿Qué es Django?
Django es un marco web de código abierto desarrollado íntegramente en Python por Adrian Holovaty y Simon Willison, y lleva el nombre del legendario guitarrista de jazz Django Reinhardt. El marco se desarrolló orgánicamente en 2003, cuando los autores dieron el salto de PHP a Python.
Después de modificar el marco durante algunos años, la compañía World Online decidió lanzar el marco bajo una licencia BSD de 3 cláusulas en 2005. Luego, en 2008, se creó la organización sin fines de lucro Django Software Foundation (DSF) para mantener Django. y promover su uso. Esto hace que Django tenga 15 años al momento de escribir este artículo.
Un marco web bastante venerable desde cualquier estándar, gracias a DSF y una comunidad enorme y activa, el marco continúa recibiendo actualizaciones periódicas.
¿Por qué utilizar Django?
¡Porque está hecho en Python! Bromas aparte, Python no sólo es el lenguaje más popular del mercado actual, sino que también es muy fácil de aprender, leer y mantener propiedades que Django ha heredado de una forma u otra.
Podemos ver esto en acción en dos de los principios centrales de Django: la reutilización de componentes y la filosofía de "no repetirte". Django promueve el uso de la menor cantidad de código posible y la reutilización de activos para minimizar el tiempo entre el diseño y la implementación.
¿No te gusta cómo Django hace algo? En la mayoría de los casos, puedes personalizarlo con Python. Por ejemplo, si no está satisfecho con la interfaz administrativa, puede reemplazarla con unas pocas líneas de código.
Por supuesto, lo mismo podría decirse de otros frameworks basados en Python como Flask, pero hay más razones por las que Django es tan bueno:
- Comunidad amigable y bibliotecas extensas: debido a que Django tiene la reputación de ser el trampolín para nuevos desarrolladores web, la comunidad que lo rodea tiene la reputación de ser una de las más amigables que existen. Como tal, los usuarios de Django tienen acceso a una multitud de paquetes para su trabajo, incluido el marco REST de Django (para crear API) y Django CMS para administrar el contenido del sitio web.
- Soluciones listas para usar: Django viene con muchas soluciones fáciles de configurar, como un mapeador relacional de objetos para que pueda describir el diseño de su base de datos en Python o una interfaz administrativa con todas las funciones que proporciona una interfaz centrada en el modelo. eso es muy fácil de usar.
- Seguridad sólida: las herramientas de seguridad de Django permiten a los desarrolladores proteger sus proyectos contra ataques cibernéticos. Estas herramientas incluyen secuencias de comandos entre sitios, falsificación de solicitudes entre sitios e inyección SQL. Además, el uso de un marco web es otra capa de protección, ya que depende del código que ha sido validado por una comunidad, evitando posibles riesgos de seguridad creados por la codificación Python.
- Está maduro: con más de una década de experiencia, Django ha pasado por numerosas revisiones y se ha utilizado para todo tipo de aplicaciones web, como tiendas online, sitios de noticias e incluso redes sociales. Cualquiera que sea su proyecto, es probable que haya un tutorial, documentación o un hilo de Stack Overflow que pueda consultar en busca de inspiración.
Entonces, ¿cuál es el truco?
Ningún framework web es perfecto, e incluso Django tiene muchos problemas que un perfeccionista debe entender antes de usarlo:
- Rendimiento lento para aplicaciones pequeñas: Django es un marco enorme y poderoso que fue diseñado originalmente para desarrollar proyectos web complejos. Como tal, todas las características que lo acompañan pueden afectar negativamente a aplicaciones muy pequeñas que se ejecutarían a un ritmo rápido con marcos menos intensivos como Flask.
- Sin solicitudes múltiples: los marcos más modernos mejoran el rendimiento de una aplicación web al permitir que cada proceso maneje múltiples solicitudes. Desafortunadamente, Django se creó antes de que esto fuera la norma. Como tal, un desarrollador tendrá que encontrar formas para que los procesos individuales manejen múltiples solicitudes (o forzar una solución por fuerza bruta)
- Está estrechamente acoplado: aunque Django se vende como una solución débilmente acoplada, esto era cierto hace más de una década, pero ya no. En comparación, otras estructuras permiten componentes con un acoplamiento más flexible.
¿Cuál es el veredicto final?
Dentro de sus limitaciones, Django es uno de los frameworks web Python más populares y robustos disponibles, si no el más popular (aunque los desarrolladores de JavaScript y PHP todavía lideran el grupo). Desde todos los puntos de vista, es una herramienta potente y optimizada que ofrece exactamente lo que promete desde el primer momento.
Para proyectos más pequeños, es mejor que utilices Flask como alternativa. La mayoría de los desarrolladores de Python no tienen problemas en conocer ambos marcos y elegir el mejor según el tamaño y el alcance del proyecto.
Para los desarrolladores que desean un producto de alta calidad con plazos ajustados, Django es un marco potente, escalable y personalizable que cuenta con uno de los lenguajes más versátiles del mercado.
Si te gustó esto, asegúrate de consultar nuestros otros artículos sobre React.
- ¿Qué puede hacer un buen desarrollador de Python para ayudar a su empresa?
- Cómo contratar un programador Python
- ¿Python es bueno para el desarrollo de software?
- JavaScript vs Python: una comparación y cómo elegir
- Las 9 mejores bibliotecas de Python para el aprendizaje automático
Fuente: BairesDev