Elegir y aprender un framework


Los dos capítulos anteriores cubrieron qué son los frameworks y qué existe. Este es el lado práctico: si usar uno, cuál, y cómo aprenderlo. El orden importa, porque la primera pregunta es la que se salta más a menudo.
¿Deberías usar un framework en absoluto?
Imagina dos proyectos. El primero es una aplicación con cuentas, formularios y pantallas que todas reaccionan a datos compartidos. Construirlo desde cero significa reconstruir exactamente la tubería que un framework ya ha perfeccionado, y la versión vanilla termina siendo una estructura dispersa, medio probada, un framework de tu propia invención que nadie quiere heredar. Recurrir a Django o React allí es elegir menos piezas móviles que la alternativa.
El segundo es una página de destino, un sitio de contenido, un pequeño script, un formulario que se envía a algún lugar. HTML, CSS y un poco de JavaScript simples cubren estos sin paso de compilación, sin actualizaciones de dependencias, y sin nada para migrar el próximo año. Envolver una página como esa en un framework completo añade maquinaria de la que solo se benefician las herramientas. Muchos desarrolladores experimentados lanzan vanilla a propósito, y es una respuesta profesional, nunca el compromiso de un principiante.
La ingeniería tiene una regla antigua y directa que cubre ambos casos: KISS, "keep it simple, stupid" (mantente simple, estúpido). El insulto apunta al diseño en lugar del diseñador, y la idea es que la mejor solución es la que tiene la menor maquinaria y aún hace el trabajo. Ambos proyectos anteriores la obedecen, y llegan a respuestas opuestas.
Eso hace que la prueba sea una pregunta, hecha de nuevo para cada proyecto: elige cualquier opción que te deje menos maquinaria para mantener. Cuando la tubería supera al producto, ese es el framework. Cuando el producto es casi todo lo que hay, ese es vanilla.
Cómo elegir uno
Cuando la respuesta es sí, elige con criterios poco glamorosos. Los benchmarks y comparaciones de características son las entradas menos útiles, porque dentro de una familia las opciones populares son lo suficientemente rápidas y capaces. Lo que realmente da forma a tu vida diaria:
El ecosistema y comunidad: documentación madura, preguntas respondidas, y paquetes para los problemas que encontrarás. El equipo y base de código que estás uniendo: el mejor framework es generalmente el que tu proyecto ya usa, y la consistencia vence a la novedad dentro de un equipo. El mercado laboral, si aprendes para el trabajo: los números puros de uso importan, lo cual es una gran parte de por qué React es la primera opción racional de muchas personas. Y el lenguaje que 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.
Mantén la opción vanilla en la lista hasta el final. Si la tabla de comparación se llena y ninguno de los candidatos vence a "ninguno de los anteriores" en la prueba de simplicidad, esa es la respuesta diciéndote algo.
Cómo aprender cualquier framework
Aprende el lenguaje primero. Un framework asume su lenguaje en todas partes: el código React es JavaScript de pared a pared, y cada línea confusa de una aplicación Django es Python debajo. Los estudiantes que saltan al framework terminan depurando dos misterios a la vez, el comportamiento del framework y la sintaxis del lenguaje, sin manera de saber cuál es cuál. Si React es tu objetivo, la pista de JavaScript es el primer paso real; para Django o pytest, la pista de Python juega el mismo papel. El lenguaje primero es el atajo único más grande que hay, porque es la parte que se transfiere a todas partes.
Luego construye algo pequeño y real. Un pequeño proyecto que realmente quieras, construido mientras te apoyas en el tutorial oficial, enseña más que cualquier cantidad de ver y leer, porque la forma del framework solo tiene sentido bajo 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 venir después.
Y mientras avanzas, sigue preguntando qué el framework está haciendo por ti. Cada característica conveniente está en lugar de algo real: una ruta está en lugar del análisis de URL, un componente por actualizaciones del DOM, un modelo por SQL. No necesitas dominar esas capas de antemano, pero saber que existen, y aproximadamente qué hace el framework con ellas, es lo que separa usar un framework de depender ciegamente de él.
Dónde esto te deja
Ese es el primer pase completo: la simplicidad como la prueba, criterios poco glamorosos para la opción, lenguaje antes del framework para el aprendizaje. Cuando un framework específico aparece a continuación, en estos documentos o en el mundo real, Los tipos de frameworks es el mapa para ubicarlo, y Qué es un framework es la definición debajo de él.

