¿Cuál framework web debo de escoger?
Tags: javascript, angular, react, vue
Published: 2023-07-11 17:16:25

Este post te va a ser muy útil si te encuentras en alguna de estas situaciones:

• Estás migrando una aplicación a un nuevo stack.

• Estás iniciando un proyecto y no sabes qué tecnología base utilizar para el front-end.

• Estás iniciando en el mundo web pero no sabes qué tecnología aprender.

Existe una batalla interminable sobre qué framework es mejor: Angular, React o Vue. Pero la realidad es que los tres son excelentes tecnologías para trabajar. Este post plantea una serie de preguntas básicas que vas a poder utilizar como apoyo para elegir uno.

Pero antes de que escribas un comentario, sé que React "NO es un framework", es cierto, no lo es, pero es una librería muy utilizada, por lo que se tomará, para efectos de este post, como un framework.

Estas cinco preguntas simples te van ayudar a tomar la decisión:

**1.¿Cuáles son los requerimientos del proyecto?**

Se debe determinar si existen limitaciones definidas en la arquitectura que deban ser consideradas. Generalmente, no existen restricciones en las que uno de los frameworks no pueda cumplir, pero algo que definitivamente te va a ayudar a determinar el tamaño de una aplicación.

<u>Mi perspectiva</u>: React y Vue se adaptan muy bien para crear una aplicación de manera rápida debido a su simplicidad. Angular, por su parte, es un framework más complejo con más partes que aprender, aunque también se pueda crear una aplicación.

**2. ¿Tu equipo conoce alguno previamente?**

Es importante conocer bien al equipo y sus capacidades, esto es clave y tiene un gran peso en la decisión. Por ejemplo, usualmente para desarrolladores que vienen de .NET o Java, les resulta más fácil moverse a Angular debido a similitudes en patrones.

Considera muy bien la respuesta a esta pregunta, porque debes saber que poner a tu equipo a trabajar en una tecnología que no conocen se traduce en tiempo y, a su vez, en costo.

<u>Mi perspectiva</u>: Lo que funcione mejor para el equipo, así de simple. Si no conocen ninguno, utiliza el resto de preguntas de este post como base para tomar una decisión.

**3. ¿Tiene una comunidad por detrás?**

Hay que aceptarlo, pero no hay nada peor que hacer una búsqueda en Google del error y que no aparezca ninguna solución. La comunidad no solo contribuye a encontrar y reparar errores, sino también a crear contenido que te va a ayudar a entender mejor cómo funciona la herramienta desde la perspectiva de diferentes personas.

<u>Mi perspectiva</u>: Angular y React son los que tienen comunidades más grandes y establecidas. Vue se queda un poco atrás porque es más nuevo, lo que influye en la cantidad de contenido que existe.

**4. ¿Cómo es su ecosistema?**

Las herramientas en torno a un framework son necesarias. Aunque siempre existe la opción "nativa" para construir algo, a veces es necesario simplemente utilizar una librería para construir más rápido, por ejemplo, Redux o Tailwind, etc.

<u>Mi perspectiva</u>: Vue es la que cuenta con menos opciones, aunque generalmente existen homólogos de librerías hechas para React. Muchas veces no tienen las mismas funcionalidades o no se actualizan con la misma frecuencia (las estrellas de GitHub sí importan).

**5. ¿Qué futuro tiene?**
Aunque las tecnologías front-end evolucionan muy rápido, es clave elegir una herramienta que continúe con su mantenimiento y entregando nuevas funcionalidades, pero también que los desarrolladores tengan interés de seguir utilizando.

<u>Mi perspectiva</u>: Estos tres siguen evolucionando y tienen la mayor parte del mercado, así que no es un punto que deba preocuparte tanto, pero debes considerarlo si vas  utilizar otra herramienta que no sea ninguna de estas.

## Conclusión

Estas son cinco preguntas que te van a apoyar a tomar la decisión de qué framework utilizar, pero no son las únicas. Este post lo escribí utilizando mi experiencia utilizando las tres herramientas. 

No olvides siempre estar preparado para tú siguiente entrevista, puedes hacerlo con mi libro de [99 preguntas para un desarrollador web acá](https://marianocodes.gumroad.com/l/99-preguntas-de-entrevista-para-desarrolladores-web).

[![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gaxyao3e03x0s9gro79s.jpeg)
](https://marianocodes.gumroad.com/l/99-preguntas-de-entrevista-para-desarrolladores-web)