Laravel, CodeIgniter, Django, Flask, FastAPI... Son lo mismo....

Video thumbnail

¡Hola! En este post quiero abordar una pregunta común en el desarrollo web: ¿Vale la pena o es necesario aprender a desarrollar en varias tecnologías? Aunque nos enfocaremos en backend web, esta reflexión se aplica a cualquier área del desarrollo de software.

La pregunta específica es: ¿Se justifica aprender frameworks como Flask, FastAPI, Django, CodeIgniter, Laravel, Symfony, u otros similares?

1. El Valor de la Diversidad Tecnológica

Inicialmente, la respuesta es un rotundo SÍ. Aprender múltiples tecnologías te nutre enormemente como desarrollador.

A. Mitigar el Riesgo de Obsolescencia

Es bastante arriesgado enfocarse en una sola tecnología. Si esta desaparece o pierde relevancia (como ha pasado con el boom de jQuery en ciertos nichos), te quedas con pocas opciones laborales.

Recomendación General: En términos generales, sí te recomiendo desarrollar en múltiples tecnologías, especialmente si te enfocas en el desarrollo web del lado del servidor.

B. Selección del Mejor Framework por Proyecto

Conocer varias tecnologías te da un mejor abanico de opciones. Una vez que dominas varias de ellas (como yo lo hago con CodeIgniter, Laravel, Flask, FastAPI, y Django), puedes seleccionar el framework más adecuado según los requisitos específicos del proyecto:

  • Requisito del Proyecto    Opción Recomendada    Razón
  • Aplicación Sencilla (Blog)    CodeIgniter, Flask, Laravel    Django podría ser demasiado grande, y FastAPI se enfoca en APIs.
  • CodeIgniter es ligero y rápido para un PHP simple.
  • Creación de APIs REST    FastAPI    Está enfocado y optimizado para este propósito.
  • Aplicación de Chat (Comunicación Full Duplex)

Si solo dominas una tecnología, te verás forzado a desarrollar todos los proyectos en esa única herramienta, aunque no sea la más eficiente.

2. El Enfoque y el Punto en Común (MVC)

Aunque vale la pena conocer varias tecnologías, también dije que "posiblemente no" valga la pena si no es tu enfoque principal.

A. Prioriza un Nicho

Hay muchísimas tecnologías naciendo a diario, y es imposible seguirlas todas. Debes centrarte en un nicho. Mi nicho fundamental es el backend; por eso me extiendo en esos frameworks. Para el frontend (el lado del cliente), solo desarrollo en Vue, por ejemplo, porque Angular o React no son mi enfoque principal.

B. El Concepto es lo Importante: El MVC

Aquí viene el punto más importante para justificar el aprendizaje de múltiples frameworks:

  • CodeIgniter, Laravel, Django, Flask, etc., aunque sean lenguajes distintos (PHP, Python), todos buscan un mismo objetivo: crear aplicaciones web.
  • Todos emplean (o variantes de) el Modelo-Vista-Controlador (MVC). Django usa el MTV (Modelo-Plantilla-Vista), y Laravel lo extiende con sus propios componentes (Livewire).
  • Si conoces una de estas tecnologías, ya tienes una base conceptual sólida para aprender el resto, ya que verás más similitudes que diferencias.
  • Sintaxis vs. Concepto: El verdadero desafío es la sintaxis (pasar de PHP a Python). Pero como desarrollador, debes enfocarte en aprender los conceptos (cómo trabajar con primitivas, arrays, peticiones, requests, y bases de datos).

Conclusión

El procedimiento y el esquema para implementar una aplicación web (Control, Modelo, conexión a la base de datos) son virtualmente idénticos. Por lo tanto, dominar uno te facilitará enormemente dominar el siguiente.

Por esta razón, te recomiendo enormemente que si quieres desarrollar o aprender desarrollo web, trabajes con al menos algunas de ellas, y que sean de distintos lenguajes de programación. Recuerda que cuento con varios recursos (cursos en Udemy, libros en mi Academia) que te pueden facilitar este camino.

Acepto recibir anuncios de interes sobre este Blog.

OPINIÓN - Hablaré sobre el porqué considero que todos los frameworks web son lo mismo, sus bases son lo mismo y conocer aspectos de los mismos nos permiten aprender buenas prácticas y ser mejores desarroladores.

| 👤 Andrés Cruz

🇺🇸 In english