React Native
Qué es
React Native es un de código abierto, creado en Meta, para construir apps móviles nativas usando React y JavaScript (o TypeScript). Escribes componentes de la misma forma que lo harías para la web, pero se renderizan como widgets reales de la interfaz de usuario (UI, User Interface — la parte de la app que ves en pantalla) nativa de iOS y Android, en lugar de una vista web. Una gran parte del código se comparte entre ambas plataformas, aunque siempre puedes bajar a código nativo específico de la plataforma cuando lo necesites.
Puntos fuertes
- Una sola base de código, dos plataformas — comparte la mayor parte de la lógica y la interfaz entre iOS y Android.
- Usa React, así que los desarrolladores web son productivos rápidamente y el ecosistema es enorme.
- Renderiza componentes verdaderamente nativos, no una vista web, para una sensación genuinamente nativa.
- Fast Refresh da retroalimentación casi instantánea mientras editas.
- Vía de escape: escribe módulos nativos en Swift/Kotlin cuando alcances un límite.
Compensaciones
- Piensa en un traductor que transmite mensajes entre dos personas que hablan idiomas distintos: hay un pequeño retraso en cada intercambio. React Native tiene un puente similar entre JavaScript y el código nativo, y esto puede complicar el trabajo crítico en rendimiento o cargado de animaciones.
- Las dependencias nativas y las herramientas de compilación pueden ser frágiles y sensibles a las versiones.
- Sigues necesitando conocimiento de la plataforma (y una Mac para compilaciones de iOS) para las partes difíciles.
- Algunas funciones más nuevas del sistema operativo (OS, Operating System — el software central del dispositivo, como iOS o Android) tardan en llegar hasta que la comunidad o tú mismo las envuelves.
Cuándo usarlo
Recurre a React Native cuando quieras que un solo equipo y una sola base de código lancen una app nativa tanto en iOS como en Android, especialmente si tu equipo ya conoce React. Encaja muy bien con apps de contenido, comercio y de tipo CRUD (Create, Read, Update, Delete — crear, leer, actualizar, eliminar).
Encaje con vibe coding
React Native es amigable para la programación asistida por IA porque, en esencia, es solo React — los asistentes son muy fluidos con componentes, hooks y props. Pídele al modelo que use TypeScript, que mantenga los componentes pequeños y sin estado cuando sea posible, y que lo combine con Expo para compilaciones y módulos nativos sin complicaciones. Indica de antemano las plataformas objetivo y cualquier capacidad nativa necesaria, para que el código generado recurra a las librerías correctas.
import { Text, Button, View } from "react-native";
import { useState } from "react";
export default function Counter() {
const [count, setCount] = useState(0);
return (
<View>
<Text>Count: {count}</Text>
<Button title="Add" onPress={() => setCount(count + 1)} />
</View>
);
}