img Elegir Django

(Imagen: pexels.com/photo/arrows-box-business-chalk-533189)

En el presente post veremos algunas de las razones por las que este framework resulta tan interesante. Durante los últimos años su popularidad a crecido en forma sostenida, y cada vez son más los desarrolladores y empresas que lo adoptan como su principal herramienta de trabajo.

Esto es un breve resumen de lo que vas a encontrar aquí:

Qué es Django

Django es un framework web escrito en Python, es open source (de código abierto y gratuito), pensado para construir aplicaciones de cualquier complejidad en unos tiempos bastante acotados.

Tiene una comunidad muy amplia que está en continuo crecimiento.

Razones por las cuales usar Django

Los motivos principales para usar Django son:

  • Es súper versátil: Lo puedes usar para el propósito que quieras; en sus inicios se trataba de un framework para los portales de noticias y otras publicaciones informativas, estos sufren dramáticos cambios con frecuencia y se necesita de un sistema que permita ajustar la estructura con celeridad. Con el tiempo su popularidad creció y la comunidad le dio nuevos usos. Hoy encuentras desarrollos sobre este framework para prácticamente todo.

  • Django es un framework web de alto nivel escrito en Python: Eso es uno de sus puntos más fuertes ya que hereda las características y beneficios que nos da Python, como son el escribir código que es fácil de comprender y sobre todo te permite desarrollar rápidas y potentes aplicaciones.

  • Desarrollo rápido: Esto lo vuelve muy popular entre las startup y también empresas grandes. Los tiempos para tener funcionando el proyecto se reducen y eso impacta en los costos.

  • Viene con las baterías incluidas: Es una frase que se escucha a menudo al hablar de Python, la cual se puede aplicar sin problemas al framework Django. Todo lo necesario para el desarrollo ya esta implementado, las propias aplicaciones que trae son muy útiles y las puedes adaptar a tus necesidades. Además hay muchos módulos de terceros y están los propios paquetes de Python o los aportados por la comunidad.

  • DRY (Don't Repeat Yourself): No te repitas, o Una vez y sólo una. Filosofía aplicada por Django en la cual se evita la repetición de código. La duplicación perjudica la claridad, incrementa la dificultad en los cambios y aumenta la probabilidad de errores cuando el proyecto evoluciona.

  • Django es bastante seguro: Por defecto implementa las medidas de seguridad estándar de un framework completo y moderno, alguna de ellas son la protección contra CSRF (Cross site request forgery), Clickjacking por JavaScript, e incluye ademas protección contra SQL Injection entre otras. Es sorprendente como estas se manejan de una manera bastante sencilla.

  • Pensado para ser escalable: Otro punto interesante para las startup. Se puede espesar con una aplicación que cumpla con los requisitos mínimos y crecer de forma rápida. Siguiendo su diseño modular se pueden intercambiar funciones perfectamente.

  • Posee su propio ORM: Tener que hacer switch mental entre un lenguaje de programación y otro, pasar de un esquema declarativo a un paradigma orientado a objetos puede ser en verdad agotador durante el desarrollo. Uno de los objetivos del Object-Relational Mapping (Mapeo Objeto-Relacional) de Django es evitar tener que lidiar directamente con el código SQL . Esta interfaz para acceso a la base de datos permite hacer las consultas en código Python en lugar de SQL. Otra ventaja es el poder cambiar la base de datos por otra de ser necesario (realizando algunos ajustes).

  • Sistema plantillas autónomo: Antes que nada. ¿Que es el sistema de plantillas de Django? Es la forma que este nos proporciona para decidir como se mostrara el diseño final de la aplicación web. En la practica son archivos individuales con un lenguaje de etiquetas bastante simple, si entiendes HTML entendederas DTL (Django Template Language). A parte de ser fácil de comprender destaca: Que es independiente al resto del framework, por lo cual un web designer puede trabajar en paralelo al desarrollo del backend optimizando los tiempos. Es muy potente, permite aplicar filtros de formato u orden a los datos que recibe. Del mismo modo se pueden usar ciclos y condicionales sobre los objetos (datos). No mezcla código Python ni puede alterar la lógica de la aplicación lo cual es un punto a favor en la seguridad y el mantenimiento. Permite reutilizar codigo mediante herencia (plantillas padre) y incluir modulos (fragmentos de codigo reusables). Y si este sistema no te convence, lo puedes reemplazar por Jinja2, que es muy similar pero más potente tanto en funcionalidades como en velocidad. Este ultimo es utilizado en otros proyectos como Pelican y Flask, ademas de inspirar Twig.

  • Trae de serie el panel de Admin: El framework web incluye la herramienta panel de administración por defecto, esto evita una tarea repetitiva más al momento de levantar nuestro sitio. Y con tan solo un par de lineas de código este panel puede acceder directamente a nuestros modelos, los cuales a su vez manejan la base de datos, esto permite gestionar el contenido desde el instante mismo que comienza el desarrollo.

Quienes usan Django

Es utilizado por web con gran cantidad de trafico, en el sitio oficial del framework se mencionan: Mozilla Foundation, Disqus, National Geografic, Instagram, Pinterest y Open Stack entre otras empresas y entidades.

Una web que aglomera los sitios basados en Django es Djangosites.org, en el podrás encontrar proyectos de todo el mundo, muchos con enlaces al código fuente. También puedes ver interesantes estadísticas de las tecnologías utilizadas o sobre los servidores elegidos. Si lo deseas puedes compartir tus proyectos en este sitio con la comunidad y potenciales clientes.

Conclusión

Si nunca trabajaste con un framework de desarrollo web o buscas algo en que aplicar lo que aprendiste de Python, Django es un muy buena opción. La curva de aprendizaje no es demasiado empinada y se puede aplicar perfectamente el método de iterar mientras se va obteniendo experiencia con el, viendo primero a grandes rasgos como funciona y luego analizar en detalle cada parte de este.

Y si ya has usado otros framework web como Ruby on Rails o Symfony (PHP) notaras que Django es similar.

En ambos casos encontraras abundante material de estudio y una gran comunidad de apoyo.

Written by @EspiFreelancer with StackEdit.


Published

Last Updated

Category

Web developer

Tags

Contact