Por qué deberías de Aprender a Desarrollar en Django y Python en general
- Andrés Cruz
El desarrollo web es uno de los campos con mayor potencialidad y mayor cantidad de tecnologías, hay una cantidad inmensa de tecnologías como PHP, Python, Node, Go, Dart, y si entramos en alguno de estas tecnologías que muchos de ellos son lenguajes, tenemos un gran abanico de tecnologías como:
- PHP: Laravel, CodeIgniter
- Python: Django, Flask, FastAPI
- Node: Electron, Express
- Dart: Flutter Web
Y estos por nombrar algunas tecnologías, pero tenemos muchísimas más y cada día van saliendo más y más tecnologías y en este inmenso mar, se encuentra Django y te estás preguntando sí Django es la tecnología para tí, si realmente vale la pena aprender a desarrollar en Django, en este artículo, te voy a dar mis motivos por lo que considero Django una tecnología central en la cual, podemos no sólo dominar un framework robusto, estable y con mucho tiempo en el mercado, si no, las ventajas agregadas al aprender a programar en Django.
Es un campo dinámico y apasionante, y elegir el framework adecuado puede marcar la diferencia en tu carrera como desarrollador. Django, un framework web de Python, ofrece una serie de ventajas que lo convierten en una excelente opción para aprender y construir aplicaciones web. En este artículo, explicaremos por qué deberías considerar aprender a desarrollar en Django.
¿Qué es Django?
Antes de comenzar a exponer razones y ventajas de Django, vamos a hablarte desde las bases y definir que es el framework llamado como Django; Django, al igual que todas estas tecnologías web famosas, es un framework gratuito, que al usar Python, tenemos todo el ecosistema Python a nuestra disposición, como sus paquetes, modularización del lenguaje y eficiencia, es un framework rápido, aunque su servidor dependiendo del servidor puede ser ineficiente al trabajar de manera síncrona si no se configura correctamente.
Es un framework con un increíble potencial, ya que, aparte de poder crear los famosos CRUDs o apps administrativas e integrar cualquier tecnología mediante la CDN, también podemos crear aplicaciones asíncronas, ideales para chats o para cuando queremos comunicar de manera full duplex el cliente con el servidor y tener una comunicación eficiente; la mayoría de las tecnologías webs no te permiten este tipo de comportamientos de base, y Django sí.
Así que, en definitiva, Django es un framework todo en uno en donde podrás seguir escalando a cualquier tipo de aplicación
Ventajas de Aprender Django
Hablemos sobre las ventajas que teenmos al momento de desarrollar en Django:
- Django cuenta con muchas funcionalidades de base, es un framework que sigue la filosofía de Baterías incluidas, lo que significa que trae todo lo necesario de base para para crear las aplicaciones webs tradicionales y de todo tipo.
- Tiene una estructura modular, gracias a Python que está basado en módulos, esto también es migrado a Django, está dividido en aplicaciones en donde un proyecto puede tener múltiples aplicaciones que son independientes entre sí y facilita la modularidad y reutilización de código.
- Es un framework seguro, incluye un sistema de autenticación robusto, protección al XSS y CSRF.
- Es un framework modular y fácilmente escalable.
- Una gran comunidad y una documentación excelente en la cual, una pequeña parte de la misma se encuentra en español.
- Paquetes exclusivos para Django que no te dejarán mal parado, cuenta con paquetes extremadamente potentes como Django Rest Framework para crear todo tipo de de aplicaciones Rest Apis, con autenticación mediante tokens, sesión y de todo tipo, Django Channels para la comunicación full duplex entre otros, también con Django Admin que viene de base con la cual puedes crear CRUDs completos con pocas líneas de código.
- Estas son solamente algunas ventajas, pero existen muchas más.
- Es una tecnología estable, las versiones usualmente no traen consigo de que debemos de aprender a programar en el framework nuevamente, son cambios de variar versiones, correcciones de bug e incorporar nuevas tecnologías pero, sin sacrificar la sintaxis actual.
Escenarios Ideales para Aprender Django
En este blog, encontrarás muchos recursos gratuitos para aprender Django, desde vídeos en mi canal de YouTube, hasta publicaciones completas, tambien, cuento con cursos en Django y tambien con el libro más completo; por supuesto, como te comenté anteriormente, Django cuenta con una gran comunidad y en Internet podrás encontrar todavía más recursos, tutoriales y guías para aprender Django.
¿Cuánto tiempo se tarda en aprender Django?
Django es un framework inmenso, con muchas opciones como te he comentado, si eres nuevo en la programación o este es tu primer framework, puede que Django no sea la mejor opción para tí, podrías probar con Flask, del cual, te hablo en esta otra entrada:
Por qué Aprender a Desarrollar en Flask y/o FastApi
El problema que puede tener Django para iniciales es que, al ser un framework que viene con todo, como ocurre con Laravel, puede que al principio te sientas absorto con tantas cosas que inicialmente no son necesarias para aprender a programar, mientras que con Flask, al ser un microframework puedes ir de a poco, desarrollando desde 5 líneas de código hasta tener una aplicación completa, y lo mejor es esto, es que, los frameworks webs como Django, Flask o FastAPI tienen más parecidos que diferencias, por lo tanto, al aprender una de ellas, de cierta forma, se puede emplear entre estas tecnologías, aunque es claro decir que la sintaxis es distinta, pero, aun así, al ser Python y programación web, hay muchas similitudes entre ellos, más similitudes que diferencias.
¿Qué debo conocer antes de trabajar con Django?
Ya este punto te lo respondí un poco antes, pero mi recomendación es que Django no sea tu primer framework, si es tu primer framework en Python o simplemente es tu primer framework, te recomendaría que primero aprender algo más sencillo como CodeIgniter que es un framework de PHP tambien excelente o Flask que es un framework en Python.
También, claro está, tienes que conocer Python, de esto, sus ventajas, lo trataremos más adelante
Django es un framework del lado del servidor, así que, antes de dar tus primeros pasos con Django, debes de familiarizarte con el lenguaje para que luego puedes abordar temas que son propios del framework y con esto, no sentirte perdido, revisa la documentación oficial y ve si te vez programando en esta maravilla.
¿Por qué aprender Django? o ¿Vale la pena aprender Django?, qué habilidades debo de tener
La pregunta mejor sería PORQUE NO APRENDER DJANGO, ya te he dado un montón de razones y lo considero uno de los frameworks junto con Laravel más versátiles, seguro, escalables y agradables al momento de programar, con su estructura modular gracias a Python, lo hacen un framework todo en uno.
- También, tenemos a Python, Python es un lenguaje versátil, literalmente es el Doom de los lenguajes de programación, lo que quiero decir es que corre en todos lados, en los sistemas operativos más populares del mercado y no solo esto, podemos emplear
- Python para programar en prácticamente cualquier ámbito, desde videojuegos, pasando por aplicaciones de escritorio, por consola, aplicaciones webs claro está, inteligencia artificial, machine learning y un largo etc, es un lenguaje de programación que no te dejará en la calle y que tiene mucho potencial por lo tanto, teniendo Django como tecnología central, puedes aprovechar estos conocimientos en la programación en Python y que gracias a la modularización de Django, puedes llevar a otros ámbitos de la programación.
- Django es una excelente tecnología, y como comentamos antes, un punto muy fuerte es que al desarrollar en Django, programas en Python, Python web, pero a la final es Python y por lo tanto, aprenderás a programar Python en el proceso, lo que te trae todas las ventajas mencionadas antes, y si quieres iniciar un proyecto con relativamente varias pantallas y funcionalidades, Django es una excelente opción al traer todo incluido a diferencia de otros frameworks como Flask o FastApi.
- En definitiva, para programar en Django, debes de conocer sus peculiaridades, como está organizado, el MTV; como funciona el ORM, estos son aspectos que los puedes ir cubriendo de a poco, así que, no tienes que sentirte agobiado.
Quieres un proyecto funcional en unas pocas semanas, USA DJANGO, al tener tantas funcionalidades, podrás crear tu proyecto de ensueño en poco tiempo.
Lo malo de Django
Como todo en la vida, nada es perfecto, Django tiene algunos aspectos que debería de mejorar en sus futuras versiones, como comentamos antes, programar en Django si es tu primera vez, no es lo recomendado, al tener una estructura que inicialmente puede parecer compleja, también, tiene problemas en la convención de nombres para definir módulos como formularios, archivos de configuración rutas, entre otros, que en internet puedes conseguir muchas variantes de estos temas, complicando más así su entendimiento.
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter