Qué es y cómo funciona
En React Native escribes la interfaz con componentes de React y lógica en JavaScript o TypeScript. Cuando la app se ejecuta, esos componentes se traducen a elementos nativos de cada sistema: un botón o una lista terminan siendo vistas reales de iOS y de Android, no una página web dentro de un contenedor.
Lo que se comparte entre plataformas es sobre todo la lógica de negocio, la gestión de estado, las llamadas a la API y buena parte de las pantallas. Lo que no se comparte aparece cuando necesitas algo muy específico del sistema (una cámara avanzada, un widget, un sensor poco habitual): ahí se escribe un módulo nativo en Swift o Kotlin y se conecta al código JavaScript.
Sobre React Native suele usarse Expo, un conjunto de herramientas y servicios que simplifica la configuración, las compilaciones y el acceso a funciones habituales del dispositivo. Para un proyecto nuevo es el punto de partida más habitual, aunque no es obligatorio.
Por qué importa
Si tu producto ya tiene una web en React, o tu equipo domina JavaScript, React Native permite reutilizar conocimiento, parte de la lógica y hasta algunas librerías. Eso suele traducirse en un único equipo y un único ritmo de desarrollo para las dos tiendas, en vez de dos proyectos paralelos con sus propios calendarios.
Además, al apoyarse en componentes nativos, la sensación de uso se acerca a la de una app nativa en la mayoría de pantallas habituales: formularios, listados, navegación, fichas de producto. Es una opción sensata para apps de negocio, reservas, comercio o gestión interna.
Un ejemplo
Una cadena de clínicas quiere una app para que sus pacientes pidan cita, vean su historial de visitas y reciban recordatorios. Ya tiene una API y un panel web en React. Con React Native, un solo equipo construye las pantallas para iOS y Android, comparte la validación de formularios con la web y solo necesita código nativo específico para la integración con el calendario del teléfono.
Errores y confusiones frecuentes
- No es «escribir una vez y olvidarte»: siempre queda trabajo específico de cada plataforma (permisos, diseño, publicación, pruebas en dispositivos reales).
- Los módulos nativos de terceros dependen de que alguien los mantenga; antes de apoyarte en una librería comprueba que tiene actividad reciente y que funciona con la versión de React Native que vas a usar.
- Subir de versión de React Native puede requerir trabajo en el proyecto; hay que reservar tiempo de mantenimiento y no tratar la app como algo que se entrega y se deja quieto.
