Cómo elegir y aprender un framework


Los dos capítulos anteriores cubrieron qué son los frameworks y qué opciones existen. Este capítulo es la parte práctica: si usar uno, cuál usar, y cómo aprenderlo. El orden importa, porque la primera pregunta es la que más se salta la gente.
¿Necesitas un framework?
Imagina dos proyectos. El primero es una app con cuentas de usuario, formularios y pantallas que reaccionan todas a datos compartidos. Construir eso a mano significa rearmar exactamente la plomería que un framework ya perfeccionó, y la versión sin framework termina siendo un framework casero, desordenado y a medio probar, que nadie quiere heredar. Elegir Django o React en ese caso significa quedarte con menos piezas que mantener, no con más.
El segundo caso es una landing page, un sitio de contenido, un script pequeño, un formulario que envía datos a algún lado. HTML plano, CSS y un poco de JavaScript cubren esto sin necesidad de proceso de build, sin actualizaciones de dependencias y sin nada que migrar el año que viene. Envolver una página así en un framework completo agrega maquinaria de la que solo se beneficia el tooling. Muchos desarrolladores con experiencia eligen a propósito no usar framework, y esa es una decisión profesional, nunca una concesión de principiante.
La ingeniería tiene una regla vieja y directa que cubre ambos casos: KISS, "keep it simple, stupid" ("mantenlo simple, tonto"). El insulto apunta al diseño y no a quien diseña, y la idea es que la mejor solución es la que resuelve el problema con la menor cantidad de maquinaria posible. Ambos proyectos de arriba obedecen esta regla, y llegan a respuestas opuestas.
Eso convierte todo en una sola pregunta, que hay que hacerse de nuevo en cada proyecto: elige la opción que te deje menos maquinaria para mantener. Cuando la plomería es mucho más grande que el producto, la respuesta es el framework. Cuando el producto es casi todo lo que hay, la respuesta es código plano.
Cómo elegir un framework
Cuando la respuesta es sí, elige con criterios poco glamorosos. Los benchmarks y las comparaciones de features son los datos menos útiles, porque dentro de una misma familia, las opciones populares son todas suficientemente rápidas y suficientemente capaces. Lo que realmente determina tu día a día es:
El ecosistema y la comunidad: documentación madura, preguntas ya respondidas, y paquetes para los problemas que vas a enfrentar. El equipo y el código base al que te vas a unir: el mejor framework suele ser el que tu proyecto ya usa, y la consistencia le gana a la novedad dentro de un equipo. El mercado laboral, si estás aprendiendo para trabajar: los números de uso importan mucho, y eso explica en buena parte por qué React es la elección racional de tanta gente. Y el lenguaje que ya conoces: un desarrollador de Python llega a Django más rápido que a Rails, por razones que no tienen nada que ver con la calidad de uno u otro.
Deja la opción de código plano en la lista hasta el final. Si la tabla de comparación se llena y ninguno de los candidatos le gana a "ninguno de los anteriores" en la prueba de simplicidad, eso ya te está diciendo algo.
Cómo aprender cualquier framework
Aprende el lenguaje primero. Un framework asume su lenguaje en todas partes: el código de React es JavaScript de principio a fin, y debajo de cada línea confusa de una app en Django hay Python. Quienes se saltan directo al framework terminan depurando dos misterios a la vez, el comportamiento del framework y la sintaxis del lenguaje, sin ninguna forma de distinguir cuál es cuál. Si React es tu meta, la ruta de JavaScript es el verdadero primer paso; para Django o pytest, la ruta de Python cumple el mismo papel. Aprender el lenguaje primero es el atajo más grande que existe, porque es la parte que se transfiere a todas partes.
Después, construye algo pequeño y real. Un proyectito que en verdad quieras hacer, construido apoyándote en el tutorial oficial, te enseña más que cualquier cantidad de ver videos y leer documentación, porque la forma del framework solo tiene sentido cuando lo tocas con tus propias manos. Mantén el primer proyecto modesto a propósito: su único trabajo es presentarte las ideas del framework, y la obra maestra puede esperar.
Y mientras avanzas, sigue preguntándote qué está haciendo el framework por ti. Cada feature conveniente reemplaza algo real: una ruta reemplaza el parseo de URLs, un componente reemplaza actualizaciones del DOM, un modelo reemplaza SQL. No necesitas dominar esas capas desde el principio, pero saber que existen, y a grandes rasgos qué hace el framework con ellas, es lo que distingue usar un framework de depender de él a ciegas.
A dónde te lleva todo esto
Ese es todo el resumen: la simplicidad como prueba, criterios poco glamorosos para elegir, y el lenguaje antes que el framework para aprender. Cuando aparezca un framework específico más adelante, en esta documentación o en el mundo real, Los tipos de frameworks es el mapa para ubicarlo, y Qué es un framework es la definición que está por debajo de todo.

