React Native es un marco de aplicación móvil de código abierto creado por Facebook, Inc. [3] Se utiliza para desarrollar aplicaciones para Android , [4] Android TV , [5] iOS , macOS , [6] tvOS , [7] Web , [8] Windows [6] y UWP [9] al permitir a los desarrolladores utilizar el marco de React junto con las capacidades de la plataforma nativa. [10]
Desarrollador (es) | Facebook y comunidad |
---|---|
Versión inicial | 26 de marzo de 2015 [1] |
Lanzamiento estable | 0.64.0 / 12 de marzo de 2021 [2] |
Versión de vista previa | 0.64.0-rc.4 / 2 de marzo de 2021 [2] |
Repositorio | https://github.com/facebook/react-native |
Escrito en | JavaScript , Java , C ++ , Objective-C , Objective-C ++ , Python |
Plataforma | Android , Android TV , iOS , macOS , tvOS , Web y Windows |
Tipo | Marco de aplicación |
Licencia | Licencia MIT |
Sitio web | reactnative |
Historia
En 2012, Mark Zuckerberg comentó: "El mayor error que cometimos como empresa fue apostar demasiado por HTML en lugar de nativo". [11] El uso de HTML5 para la versión móvil de Facebook resultó en una aplicación inestable que recuperaba datos lentamente. [12] Prometió que Facebook pronto ofrecería una mejor experiencia móvil.
Dentro de Facebook , Jordan Walke encontró una manera de generar elementos de interfaz de usuario para iOS a partir de un hilo de JavaScript en segundo plano , que se convirtió en la base del marco web React . Decidieron organizar un Hackathon interno para perfeccionar este prototipo con el fin de poder construir aplicaciones nativas con esta tecnología. [13]
Después de meses de desarrollo, Facebook lanzó la primera versión de React JavaScript Configuration en 2015. Durante una charla técnica, [14] Christopher Chedeau explicó que Facebook ya estaba usando React Native en producción para su aplicación de grupo y su aplicación de administrador de anuncios. [15]
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 . 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 a través de un puente asincrónico y por lotes . [16] [17]
Los componentes de React envuelven el código nativo existente e interactúan con las API nativas a través del paradigma de UI declarativo de React y JavaScript . Esto permite el desarrollo de aplicaciones nativas para equipos de desarrolladores completamente nuevos y puede permitir que los equipos nativos existentes trabajen mucho más rápido. [18]
Si bien el estilo React Native tiene una sintaxis similar a CSS, no usa HTML ni CSS . [19] En cambio, los mensajes del hilo de JavaScript se utilizan para manipular las vistas nativas. React Native también permite a los desarrolladores escribir código nativo en lenguajes como Java o Kotlin para Android y Objective-C o Swift para iOS , lo que lo hace aún más flexible.
Ejemplo de Hello World
Un programa Hello, World en React Native se ve así:
importar Reaccionar desde 'reaccionar' ;importar { AppRegistry , Text } desde 'react-native' ;const HelloWorldApp = () => < Texto > ¡Hola mundo ! < / Texto>;exportar HelloWorldApp por defecto ;// Omita esta línea si usa Create React Native AppAppRegistry . registerComponent ( 'HelloWorld' , () => HelloWorldApp );// El código nativo de React también se puede importar desde otro componente con el siguiente código:importar HelloWorldApp desde './HelloWorldApp' ;
Ver también
- Marco de aplicaciones basado en web para múltiples teléfonos
- NativeScript
- Xamarin
- Appcelerator titanio
- Apache Córdova
- Flutter (software)
- Nombre en clave uno
Referencias
- ^ "React Native: llevando las técnicas web modernas a los dispositivos móviles" .
- ^ a b "Lanzamientos - Facebook / React" . GitHub .
- ^ "Capítulo 1. ¿Qué es React Native?" . oreilly.com . O'Reilly Media, Inc . Consultado el 30 de julio de 2020 .
- ^ "Lanzamiento de Android para React Native" .
- ^ "Construcción para dispositivos de TV · React Native" . reactnative.dev . Consultado el 2 de octubre de 2020 .
- ^ a b "React Native para Windows + macOS · Crea aplicaciones nativas de 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 2 de octubre de 2020 .
- ^ "React Native para Web" . 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 .
- ^ "¿El mayor error de Zuckerberg? 'Apostar en HTML5 ' " . Mashable . Consultado el 7 de abril de 2018 .
- ^ Warren, Christina. "¿El mayor error de Zuckerberg? 'Apostar en 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" .
- ^ "Puente en React Native" . 14 de octubre de 2015 . Consultado el 16 de enero de 2018 .
- ^ "Cómo construimos la aplicación React Native: 7 cosas que le ahorran tiempo de desarrollo. Parte 2" . Consultado el 6 de noviembre de 2019 .
- ^ "¿Cómo React Native puede potenciar el proceso de desarrollo de aplicaciones?" . Consultado el 15 de febrero de 2019 .
- ^ "Reaccionar estilo nativo" . Consultado el 24 de febrero de 2021 .