React Native es un marco de software de interfaz de usuario de código abierto desarrollado por Meta Platforms (anteriormente Facebook Inc.). [ 3 ] Se utiliza para desarrollar aplicaciones para Android , [ 4 ] : §Capítulo 1 [ 5 ] [ 6 ] Android TV , [ 7 ] iOS , [ 4 ] : §Capítulo 1 [ 6 ] macOS , [ 8 ] tvOS , [ 9 ] Vega OS , [ 10 ] [ 11 ] Web , [ 12 ] Windows [ 8 ] y UWP [ 13 ] al permitir a los desarrolladores usar el marco React junto con las capacidades de la plataforma nativa. [ 14 ] Se utiliza para desarrollar aplicaciones de Android e iOS en Facebook , Microsoft y Shopify . [ 15 ] También se está utilizando para desarrollar aplicaciones de realidad virtual en Oculus . [ 16 ]
Historia
En 2012, Mark Zuckerberg comentó: «El mayor error que cometimos como empresa fue apostar demasiado por HTML5 en lugar de por el desarrollo nativo». [ 17 ] [ 18 ] El uso de HTML5 para la versión móvil de Facebook resultó en una aplicación inestable que recuperaba datos lentamente. [ 19 ] Prometió que Facebook pronto ofrecería una mejor experiencia móvil.
Dentro de Facebook, Jordan Walke desarrolló un software que generaba elementos de interfaz de usuario para iOS a partir de un hilo de JavaScript en segundo plano , que se convirtió en la base del framework web React . Decidieron organizar un hackathon interno para perfeccionar este prototipo y así poder crear aplicaciones nativas con esta tecnología. [ 20 ]
En 2015, después de meses de desarrollo, Facebook lanzó la primera versión de la configuración de JavaScript de React . Durante una charla técnica, [ 21 ] Christopher Chedeau explicó que Facebook ya estaba utilizando React Native en producción para su aplicación de grupos y su aplicación de administrador de anuncios. [ 22 ]
En octubre de 2025, Meta anunció que donaría React, React Native y JSX ( JavaScript XML ) a una nueva React Foundation, parte de la Linux Foundation . [ 23 ]
Implementación
Los principios de funcionamiento de React Native son prácticamente idénticos a los de React, excepto que React Native no manipula el DOM a través del DOM virtual . [ 4 ] : §Capítulo 2 Se ejecuta en un proceso en segundo plano (que interpreta el JavaScript escrito por los desarrolladores) directamente en el dispositivo final y se comunica con la plataforma nativa [ 4 ] : §Capítulo 2 mediante datos serializados a través de un puente asíncrono y por lotes . [ 24 ]
Los componentes de React envuelven el código nativo existente e interactúan con las API nativas a través del paradigma de interfaz de usuario declarativa de React y JavaScript . [ 25 ] TypeScript se usa a menudo en lugar de JavaScript en las aplicaciones modernas de React Native debido a su mayor seguridad de tipos . [ 26 ]
Aunque el estilo de React Native tiene una sintaxis similar a la de CSS , no utiliza HTML ni CSS . [ 4 ] : §Capítulo 5 [ 27 ] En su lugar, se utilizan mensajes del hilo de JavaScript para manipular las vistas nativas. Mediante complementos, Tailwind también puede utilizarse con React Native.
React Native también está disponible para Windows y macOS , y actualmente su mantenimiento corre a cargo de Microsoft .
Ejemplo de "¡Hola, mundo!"
Un programa "¡Hola, mundo!" en React Native se ve así:
import { AppRegistry , Text , View , Button } from 'react-native' ;import React from 'react' ;const HelloWorldApp = () => {const [ count , setCount ] = React . useState ( 0 );const incrementCount = () => {setCount (( prevCount ) => prevCount + 1 );};devolver (< Ver ><Texto> ¡ Hola mundo ! </Texto>< Texto > { count } < /Texto>< Button onPress = { incrementCount } title = "Incrementar contador" /></Ver>);};exportar por defecto HelloWorldApp ;AppRegistry.registerComponent ( 'HelloWorld' , ( ) = > HelloWorldApp );Ejemplo de TypeScript
En TypeScript, un componente de contador tiene este aspecto:
import { Button , Text , View } from "react-native" ;import React from "react" ;Interfaz CounterProps {título : cadena ; // Propiedad requeridabaseNumber? : número ; // Propiedad opcional}const Counter : React.FC < CounterProps > = ({ title , baseNumber }) => {const [ count , setCount ] = React . useState < number > ( baseNumber || 0 );const incrementCount = () : void => setCount (( prevCount ) => prevCount + 1 );devolver (< Ver >< Texto > { count } < /Texto>< Button onPress = { incrementCount } title = { title } >< /Button></Ver>);};Véase también
Citas
- ↑ "React Native: Llevando las técnicas web modernas a los dispositivos móviles" . 26 de marzo de 2015.
- ↑ "Versión 0.86.0" . 11 de junio de 2026. Consultado el 12 de junio de 2026 .
- ↑ "Capítulo 1. ¿Qué es React Native?" . oreilly.com . O'Reilly Media, Inc . Consultado el 30 de julio de 2020 .
- 1 2 3 4 5 Eisenman 2016 .
- ↑ "Lanzamiento de Android para React Native" . 14 de septiembre de 2015.
- 1 2 Shankland, Stephen (29 de marzo de 2018). "La radical decisión de Mozilla de adoptar el código abierto ayudó a reescribir las reglas de la tecnología" . CNET . Recuperado el 11 de mayo de 2022 .
- ↑ "Desarrollo para dispositivos de TV · React Native" . reactnative.dev . Consultado el 2 de octubre de 2020 .
- 1 2 "React Native para Windows + macOS · Crea aplicaciones nativas para Windows y macOS con Javascript y React" . microsoft.github.io . Consultado el 2 de octubre de 2020 .
- ↑ "React Native para Apple TV" . React Native para Apple TV . Archivado del original el 21/09/2020 . Consultado el 02/10/2020 .
- ↑ "Descripción general de React Native | Referencia de React Native Vega" . developer.amazon.com . Consultado el 1 de abril de 2026 .
- ↑ "Descripción general de React Native para Vega | Primeros pasos con Vega" . developer.amazon.com . Consultado el 1 de abril de 2026 .
- ↑ "React Native para Web" . GitHub . Consultado el 6 de noviembre de 2019 .
- ↑ Equipo de aplicaciones de Windows (13 de abril de 2016). "React Native en la plataforma universal de Windows" . blogs.windows.com . Consultado el 6 de noviembre de 2016 .
- ↑ "Plataformas fuera del árbol" . reactnative.dev . Facebook, Inc. Consultado el 30 de julio de 2020 .
- ↑ "React Native Showcase" . react.native.dev . Consultado el 4 de abril de 2023 .
- ↑ "React Native en el segundo semestre de 2021 · React Native" . reactnative.dev . Consultado el 20 de agosto de 2021 .
- ↑ "¿El mayor error de Zuckerberg? 'Apostar por HTML5'"" . Mashable . Consultado el 7 de abril de 2018 .
- ↑ Zuckerberg, Mark (12 de septiembre de 2012). "Charla informal con el fundador y director ejecutivo de Facebook, Mark Zuckerberg" . TechCrunch (entrevista) . Recuperado el 16 de agosto de 2021 .
- ↑ Warren, Christina. "¿El mayor error de Zuckerberg? 'Apostar por HTML5'"" . Mashable . Consultado el 29-10-2020 .
- ↑ "Una breve historia sobre React Native" . jobninja.com . Archivado del original el 5 de junio de 2023. Consultado el 16 de enero de 2018 .
- ↑ Christopher, Chedeau. "Una inmersión profunda en React Native" . YouTube . Consultado el 16 de enero de 2018 .
- ↑ "React Native: Llevando las técnicas web modernas a los dispositivos móviles" . 26 de marzo de 2015.
- ↑ "Meta trasladará React a la Linux Foundation para abordar los temores de dominio de los proveedores" . The Register . 9 de octubre de 2025.
- ↑ "Conexiones en React Native" . 14 de octubre de 2015. Consultado el 16 de enero de 2018 .
- ↑ "Cómo crear un escáner de documentos con React Native" . sdk.docutain.com . INFOSOFT . Consultado el 6 de septiembre de 2024 .
- ↑ "Usando TypeScript" . reactnative.dev . Meta Platforms, Inc. Consultado el 14 de julio de 2023 .
- ↑ "Estilo React Native" . Consultado el 24 de febrero de 2021 .
Referencias
- Software multiplataforma
- Software de Facebook
- Desarrollo de software móvil
- Desarrollo de software
- Software que utiliza la licencia MIT.