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] Web , [10] Windows [8] y UWP [11] al permitir que los desarrolladores utilicen el marco React junto con las capacidades nativas de la plataforma. [12] Se utiliza para desarrollar aplicaciones de Android e iOS en Facebook, Microsoft y Shopify. [13] También se utiliza para desarrollar aplicaciones de realidad virtual en Oculus . [14]
Historia
En 2012, Mark Zuckerberg comentó: "El mayor error que cometimos como empresa fue apostar demasiado por HTML5 en lugar de por el lenguaje nativo". [15] [16] El uso de HTML5 para la versión móvil de Facebook dio como resultado una aplicación inestable que recuperaba los datos lentamente. [17] Prometió que Facebook pronto ofrecería una mejor experiencia móvil.
Dentro de Facebook, Jordan Walke encontró una forma de generar elementos UI para iOS a partir de un hilo JavaScript en segundo plano , que se convirtió en la base para el framework web React . Decidieron organizar un Hackathon interno para perfeccionar este prototipo con el fin de poder construir aplicaciones nativas con esta tecnología. [18]
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, [19] Christopher Chedeau explicó que Facebook ya estaba usando React Native en producción para su aplicación de grupos y su aplicación de administrador de anuncios. [20]
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 Virtual DOM . [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 a través de datos serializados sobre un puente asincrónico y por lotes . [21] [22 ]
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 . [23] TypeScript se usa a menudo en lugar de JavaScript en las aplicaciones React Native modernas debido a su mayor seguridad de tipos. [24]
Si bien el estilo de React Native tiene una sintaxis similar a CSS, no utiliza HTML ni CSS . [4] : §Capítulo 5 [25] En cambio, se utilizan mensajes del hilo de JavaScript para manipular las vistas nativas.
React Native también está disponible para Windows y macOS , y actualmente lo mantiene Microsoft .
Ejemplo de Hola Mundo
Un programa Hola, Mundo en React Native se ve así:
importar { AppRegistry , Texto , Vista , Botón } de 'react-native' ;
importar React desde 'react' ;
constante HolaAplicaciónMundial = () => {
const [ count , setCount ] = React . useState ( 0 );
constante incrementCount = () => {
setCount (( prevCount ) => prevCount + 1 );
};
devolver (
< Ver >
< Texto > Hola mundo !< /Texto>
< Texto > { recuento } < / Texto>
< Botón onPress = { incrementCount } título = "Aumentar recuento" />
< /Ver>
);
};
exportar predeterminado HelloWorldApp ;
AppRegistry .registerComponent ( ' HolaMundo' , () => HelloWorldApp );
Véase también
- React (biblioteca de JavaScript)
- Marco de aplicación web para múltiples teléfonos
- Escritura nativa
- Xamarin
- SDK de titanio
- Apache Córdova
- Flutter (software)
- Qt (programa)
- Nombre en clave uno
- Composer Jetpack
Citas
- ^ "React Native: Llevando las técnicas web modernas al móvil". 26 de marzo de 2015.
- ^ "Versión 0.75.3". 11 de septiembre de 2024. Consultado el 26 de septiembre de 2024 .
- ^ "Capítulo 1. ¿Qué es React Native?". oreilly.com . O'Reilly Media, Inc . Consultado el 30 de julio de 2020 .
- ^ abcde Eisenman 2016.
- ^ "Lanzamiento de Android para React Native". 14 de septiembre de 2015.
- ^ ab Shankland, Stephen (29 de marzo de 2018). "La radical decisión de Mozilla de adoptar código abierto ayudó a reescribir las reglas de la tecnología". CNET . Consultado el 11 de mayo de 2022 .
- ^ "Building For TV Devices · React Native". reactnative.dev . Consultado el 2 de octubre de 2020 .
- ^ ab "React Native para Windows + macOS · Cree 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 . Consultado el 2020-10-02 .
- ^ "React Native para la 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 .
- ^ "Presentación de React Native". 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) . Consultado el 16 de agosto de 2021 .
- ^ Warren, Christina. "¿El mayor error de Zuckerberg? 'Apostar por HTML5'". Mashable . Consultado el 29 de octubre de 2020 .
- ^ "Una breve historia sobre React Native" . 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 al móvil". 26 de marzo de 2015.
- ^ "Bridging in React Native". 14 de octubre de 2015. Consultado el 16 de enero de 2018 .
- ^ "Cómo creamos aplicaciones React Native: 7 cosas que te ahorran tiempo de desarrollo. Parte 2" . Consultado el 6 de noviembre de 2019 .
- ^ "Cómo crear un escáner de documentos React Native". sdk.docutain.com . INFOSOFT . Consultado el 6 de septiembre de 2024 .
- ^ "Uso de TypeScript". reactnative.dev . Meta Platforms, Inc . Consultado el 14 de julio de 2023 .
- ^ "Estilo React Native" . Consultado el 24 de febrero de 2021 .