Volví a React Native y Expo cambió por completo mi opinión

Por Juan Villarroel Publicado el 6 min de lectura

Volví a React Native y Expo cambió por completo mi opinión
Expo React Native Mobile JavaScript Experiencia

Respuesta rápida: Mi primera experiencia con React Native estuvo llena de errores, configuraciones nativas y frustración. Años después volví a probarlo y encontré un ecosistema mucho más estable, con Expo, Expo Router, development builds y mejores herramientas.

Hay tecnologías que pruebas una vez, te dejan una mala impresión y decides no volver a tocarlas.

Eso fue exactamente lo que me pasó con React Native.

Lo conocí cuando todavía no tenía demasiado tiempo de haber salido. Como ya trabajaba regularmente con React, la propuesta me emocionó muchísimo: utilizar mis conocimientos de desarrollo web para crear aplicaciones móviles sonaba increíble.

La realidad fue bastante diferente.

Mis primeros días con React Native

Mi primera experiencia fue terrible.

La aplicación se rompía constantemente, incluso cuando prácticamente no había cambiado el código. Podía funcionar un día y, después de reinstalar las dependencias, comenzar a mostrar errores completamente diferentes.

Muchos de esos errores tampoco parecían tener relación con React o JavaScript. Eran problemas de Android, Gradle, configuraciones nativas o dependencias que yo no entendía.

También estaba el proceso de enlazar manualmente algunas librerías con el código nativo. Instalar un paquete no siempre significaba que estuviera listo para utilizarse. En algunos casos había que modificar archivos de Android o iOS y confiar en que nada más se rompiera.

Para alguien que venía del desarrollo web, todo se sentía demasiado frágil.

Al final terminé abandonándolo.

Después llegó Flutter

Tiempo después apareció Flutter y decidí probarlo cuando todavía estaba en beta.

La experiencia fue mucho más agradable. El entorno se sentía más controlado, el desarrollo era fluido y tenía menos errores inesperados que React Native.

El problema era Dart.

No considero que sea un lenguaje difícil, pero en ese momento no tenía suficiente tiempo ni una aplicación real que justificara aprender todos sus detalles. Solamente estaba experimentando, así que eventualmente también lo dejé a un lado.

Las primeras versiones de Expo

Más adelante conocí Expo.

Para alguien que venía del desarrollo web, la idea era fantástica: crear un proyecto, escanear un código QR y ver la aplicación funcionando en el teléfono sin pasar horas configurando Android Studio o Xcode.

Pero Expo todavía tenía muchas limitaciones.

Buena parte de las librerías nativas no eran compatibles. Si necesitabas alguna funcionalidad más avanzada, tenías que hacer lo que entonces se conocía como eject y comenzar a gestionar los proyectos nativos manualmente.

React Native parecía dividido entre usar React Native puro, con mayor control pero más complejidad, o usar Expo, con una experiencia más sencilla pero también más limitada.

Era una propuesta interesante, aunque todavía se sentía incompleta.

Expo hoy es una historia diferente

En 2026, Expo ya no es simplemente una herramienta para crear prototipos.

Se convirtió en un framework completo para desarrollar aplicaciones reales y es una de las formas recomendadas de comenzar un nuevo proyecto con React Native.

Una de las mayores diferencias es que ya no tienes que abandonar Expo cuando necesitas una librería nativa.

Puedes comenzar rápidamente con Expo Go y, cuando el proyecto lo requiera, crear un development build que incluya tus propias dependencias y configuraciones nativas.

También existen herramientas como Expo Prebuild y los config plugins, que permiten automatizar buena parte de las configuraciones de Android e iOS.

Esto no significa que nunca tendrás que tocar código nativo. En aplicaciones complejas puede seguir siendo necesario.

La diferencia es que ahora tienes un camino progresivo: puedes empezar de forma sencilla y aumentar la complejidad solamente cuando el proyecto realmente lo necesita.

Expo Router hizo que todo fuera más familiar

Otro cambio importante fue Expo Router.

Si vienes de frameworks como Next.js, probablemente ya estés acostumbrado al enrutado basado en archivos. Creas archivos y carpetas, y estos representan las páginas o rutas de la aplicación.

Expo Router lleva una experiencia parecida a React Native.

Por debajo utiliza React Navigation, pero la estructura del proyecto es mucho más clara. Las pantallas, layouts, tabs y rutas se organizan de una forma bastante natural para quienes venimos del desarrollo web.

Además, facilita trabajar con deep links y universal links, algo fundamental en muchas aplicaciones modernas.

React Native también maduró

No todo el mérito pertenece a Expo.

React Native ha mejorado muchísimo durante estos años. La nueva arquitectura, Hermes, el autolinking y las herramientas modernas de depuración han logrado que la experiencia sea más estable y predecible.

¿Todavía puede romperse una compilación de Android por Gradle o aparecer un problema extraño en iOS?

Por supuesto.

Sigues trabajando con dos plataformas diferentes y con una gran cantidad de dependencias externas.

Pero ya no siento que todo pueda romperse aleatoriamente con la misma facilidad que antes. La documentación es mejor, los errores suelen ser más claros y el ecosistema tiene soluciones más maduras.

Crear interfaces también es más rápido

Herramientas como NativeWind o, mi favorita actualmente, Uniwind, ayudan muchísimo al momento de crear estilos.

Si estás acostumbrado a Tailwind CSS, puedes aplicar una sintaxis similar en React Native y construir interfaces con bastante rapidez.

Curiosamente, cuando Tailwind apareció no me gustaba en absoluto.

Con el tiempo terminé agarrándole cariño, pero esa es una historia para otra ocasión.

El ecosistema también cuenta con mejores librerías para animaciones, gestos, formularios, almacenamiento y manejo de datos. Muchas cosas que antes requerían horas de investigación ahora tienen soluciones bastante conocidas.

La inteligencia artificial redujo aún más la barrera

A todo esto hay que sumarle las herramientas actuales de inteligencia artificial.

Claude Code, Codex, OpenCode y otros agentes pueden ayudarte a configurar proyectos, integrar librerías, investigar errores y entender partes del desarrollo nativo que quizá no utilizas diariamente.

No sustituyen el conocimiento técnico ni toman buenas decisiones automáticamente.

Pero como acompañantes pueden reducir bastante el tiempo necesario para investigar problemas y comenzar una aplicación.

¿Usaría Expo hoy?

Sí.

Después de mis primeras experiencias con React Native, nunca pensé que terminaría diciendo esto, pero actualmente Expo sería mi primera opción para crear una aplicación móvil con React.

No porque sea perfecto ni porque elimine toda la complejidad de Android e iOS.

Lo elegiría porque ahora permite comenzar de forma sencilla y aumentar el nivel de control gradualmente.

Puedes iniciar con Expo Go, pasar a un development build, incorporar librerías nativas y continuar utilizando el resto del ecosistema sin tener que reconstruir tu proyecto desde cero.

Si probaste React Native hace años y tuviste una experiencia parecida a la mía, quizá sea un buen momento para darle otra oportunidad.

Y si tienes una idea de aplicación guardada porque el desarrollo móvil te parecía demasiado complicado, probablemente este sea uno de los mejores momentos para comenzar.

React Native y Expo han recorrido un camino bastante largo. Ahora la pregunta es: ¿qué estás esperando para construir esa aplicación?

Siguiente paso: convertir la motivación en arquitectura

La experiencia mejora cuando el proyecto también tiene límites claros. Empieza con una feature pequeña que incluya navegación, datos remotos y un formulario; después pasa a un development build cuando una necesidad nativa real lo justifique.

No intentes anticipar toda la arquitectura móvil desde el primer día. El mismo principio de tomar decisiones imperfectas pero correctas aplica aquí: aumenta la complejidad solo cuando el producto ofrece evidencia para hacerlo.

Publicaciones Relacionadas