He empezado a aprender React por curiosidad y quería saber la diferencia entre React y React Native, aunque no pude encontrar una respuesta satisfactoria usando Google. React and React Native parece tener el mismo formato. ¿Tienen una sintaxis completamente diferente?
javascript
reactjs
react-native
javascript-framework
shiva kumar
fuente
fuente
<h1>
,<p>
, etc. Cuando reaccionan nativo renders vista de aplicación como componentes nativos<View>
,<Text>
,<Image>
,<ScrollView>
, por lo que no se puede reutilizar directamente la interfaz de usuario código de componente a menos que reutilizarlo / reemplazar todos los elementos.Respuestas:
ReactJS es una biblioteca de JavaScript, compatible tanto con la interfaz web como con la ejecución en un servidor, para crear interfaces de usuario y aplicaciones web.
Reaccionar nativo es un marco móvil que compila componentes de aplicaciones nativas, lo que le permite crear aplicaciones móviles nativas para diferentes plataformas (iOS, Android y Windows Mobile) en JavaScript que le permite usar ReactJS para construir sus componentes e implementa ReactJS bajo el capucha.
Ambos siguen la extensión de sintaxis JSX a JavaScript.
Ambos son de código abierto por Facebook.
fuente
Aquí está el proyecto React .
En Facebook, inventaron React para que JavaScript pueda manipular el DOM del sitio web más rápido utilizando el modelo DOM virtual.
La actualización completa del DOM es más lenta en comparación con el modelo React virtual-dom , que actualiza solo partes de la página (léase: actualización parcial).
Como puede comprender en este video , Facebook no inventó React porque entendieron de inmediato que la actualización parcial sería más rápida que la convencional. Originalmente necesitaban una forma de reducir el tiempo de reconstrucción de las aplicaciones de Facebook y, afortunadamente, esto dio vida a la actualización parcial del DOM.
React native es solo una consecuencia de React. Es una plataforma para construir aplicaciones nativas usando JavaScript.
Antes de React native necesitabas saber Java para Android u Objective-C para iPhone y iPad para crear aplicaciones nativas.
Con React Native es posible imitar el comportamiento de la aplicación nativa en JavaScript y, al final, obtendrá un código específico de la plataforma como salida. Incluso puedes mezclar el código nativo con JavaScript si necesita optimizar aún más su aplicación.
Como dijo Olivia Bishop en el video , el 85% de la base de código nativo React se puede compartir entre plataformas. Estos serían los componentes que las aplicaciones suelen usar y la lógica común.
El 15% del código es específico de la plataforma. El JavaScript específico de la plataforma es lo que le da sabor a la plataforma (y marca la diferencia en la experiencia).
Lo bueno es que este código específico de la plataforma ya está escrito, por lo que solo debe usarlo.
fuente
Reaccionar:
Reaccionar nativo:
Entonces, básicamente, React es una biblioteca de interfaz de usuario para la vista de su aplicación web, usando javascript y JSX , React native es una biblioteca adicional en la parte superior de React, para crear una aplicación
iOS
yAndroid
dispositivos nativos .Ejemplo de código de reacción :
Reaccionar muestra de código nativo :
Para obtener más información sobre React , visite su sitio web oficial creado por el equipo de Facebook:
https://facebook.github.io/react
Para obtener más información sobre React Native , visite el sitio web nativo de React a continuación:
https://facebook.github.io/react-native
fuente
ReactJS es un marco para construir una jerarquía de componentes de la interfaz de usuario. Cada componente tiene estado y accesorios. Los datos fluyen desde la parte superior a los componentes de bajo nivel a través de accesorios. El estado se actualiza en el componente de nivel superior mediante controladores de eventos.
React Native utiliza el marco React para crear componentes para aplicaciones móviles. React native proporciona un conjunto básico de componentes para plataformas iOS y Android. Algunos de los componentes en React Native son Navigator, TabBar, Text, TextInput, View, ScrollView. Estos componentes utilizan internamente los componentes nativos de iOS UIKit y Android UI. React native también permite NativeModules donde el código escrito en ObjectiveC para iOS y Java para Android se puede usar dentro de JavaScript.
fuente
Primero, las similitudes: tanto React como React Native (RN) fueron diseñados para crear interfaces de usuario flexibles. Hay muchos beneficios para estos marcos, pero la conclusión más fundamental es que están hechos para el desarrollo de UI. Facebook desarrolló RN unos años después de React.
Reaccione: Facebook diseñó este marco para que sea casi como escribir su JavaScript dentro de su HTML / XML, por lo que las etiquetas se llaman " JSX " (JavaScript XML) y son similares a las etiquetas similares a HTML familiares como
<div>
o<p>
. Una característica distintiva de React son las etiquetas de mayúscula que denotan un componente personalizado, como<MyFancyNavbar />
, que también existe en RN. Sin embargo, React usa el DOM . El DOM existe para HTML, por lo que React se utiliza para el desarrollo web.React Native: RN no usa HTML y, por lo tanto, no se usa para el desarrollo web. Se utiliza para ... ¡prácticamente todo lo demás! Desarrollo móvil (iOS y Android), dispositivos inteligentes (p. Ej., Relojes, televisores), realidad aumentada, etc. Como RN no tiene DOM para interactuar, en lugar de usar el mismo tipo de etiquetas HTML utilizadas en React, usa las suyas propias. etiquetas que luego se compilan en otros idiomas. Por ejemplo, en lugar de
<div>
etiquetas, los desarrolladores de RN usan la<View>
etiqueta incorporada de RN , que se compila en otro código nativo oculto (por ejemplo,android.view
en Android yUIView
en iOS).En resumen: son muy similares (para el desarrollo de UI) pero se usan para diferentes medios.
fuente
Mientras que React.js es una biblioteca Javascript principal para desarrollar aplicaciones web.
Si bien usa etiquetas como
<View>
, con<Text>
mucha frecuencia en React-Native, React.js usa etiquetas web html como<div>
<h1>
<h2>
, que son solo sinónimos en el diccionario de desarrollos web / móviles.Para React.js necesita DOM para la representación de ruta de las etiquetas html, mientras que para la aplicación móvil: React-Native utiliza AppRegistry para registrar su aplicación.
Espero que esta sea una explicación fácil para las rápidas diferencias / similitudes en React.js y React-Native.
fuente
No podemos compararlos exactamente. Hay diferencias en el caso de uso .
(Actualización 2018)
ReactJS
React tiene como foco principal el desarrollo web.
Reaccionar nativo
Una extensión de React , basada en el desarrollo móvil.
Espero haberte ayudado :)
fuente
En un sentido simple, React and React native sigue los mismos principios de diseño, excepto en el caso del diseño de la interfaz de usuario.
De todos modos, es una excelente biblioteca para construir una interfaz de usuario para dispositivos móviles y web.
fuente
React es una biblioteca JavaScript declarativa, eficiente y flexible para construir interfaces de usuario. Sus componentes le dicen a React lo que desea renderizar, luego React actualizará y renderizará eficientemente los componentes correctos cuando cambien sus datos. Aquí, ShoppingList es una clase de componente React, o tipo de componente React.
Una aplicación React Native es una aplicación móvil real. Con React Native, no crea una "aplicación web móvil", una "aplicación HTML5" o una "aplicación híbrida". Usted crea una aplicación móvil real que no se puede distinguir de una aplicación creada con Objective-C o Java. React Native utiliza los mismos bloques de construcción de UI fundamentales que las aplicaciones normales de iOS y Android.
Más información
fuente
ReactJS es un marco central, destinado a construir un componente aislado basado en un patrón reactivo, puede pensarlo como el V de MVC, aunque me gustaría afirmar que reaccionar trae una sensación diferente, especialmente si está menos familiarizado con el concepto reactivo .
ReactNative es otra capa que debe tener un componente establecido para la plataforma Android e iOS que son comunes. Entonces, el código se ve básicamente igual que ReactJS porque es ReactJS, pero se carga de forma nativa en plataformas móviles. También puede conectar una API más compleja y relativa a la plataforma con Java / Objective-C / Swift dependiendo del sistema operativo y usarlo dentro de React.
fuente
Reaccionar nativo se desarrolla principalmente en JavaScript, lo que significa que la mayor parte del código que necesita para comenzar puede compartirse entre plataformas. React Native renderizará utilizando componentes nativos. Las aplicaciones React Native se desarrollan en el lenguaje requerido por la plataforma a la que se dirige, Objective-C o Swift para iOS, Java para Android, etc. El código escrito no se comparte entre plataformas y su comportamiento varía. Tienen acceso directo a todas las funciones que ofrece la plataforma sin ninguna restricción.
React es una biblioteca de JavaScript de código abierto desarrollada por Facebook para construir interfaces de usuario. Se utiliza para manejar la capa de vista para aplicaciones web y móviles. ReactJS solía crear componentes de interfaz de usuario reutilizables. Actualmente es una de las bibliotecas de JavaScript más populares en el campo de it y tiene una base sólida y una gran comunidad detrás. Si aprende ReactJS, debe tener conocimiento de JavaScript, HTML5 y CSS.
fuente
React es la abstracción básica de React Native y React DOM , por lo que si vas a trabajar con React Native también necesitarás React ... lo mismo con la web, pero en lugar de React Native necesitarás React DOM.
Dado que React es la abstracción base, la sintaxis general y el flujo de trabajo son los mismos, pero los componentes que usarías son muy diferentes, por lo que deberás aprender esas diferencias, esto está en línea con React, llamado moto, que es "Aprende una vez, escribe en cualquier lugar" porque si usted sabe React (abstracción de base) simplemente podría aprender las diferencias entre plataformas sin aprender otro lenguaje de programación, sintaxis y flujo de trabajo.
fuente
React-Native es un marco, donde ReactJS es una biblioteca de JavaScript que puede usar para su sitio web.
React-native proporciona componentes básicos predeterminados (imágenes, texto), donde React proporciona un montón de componentes y los hace trabajar juntos.
fuente
React Js es una biblioteca de Javascript donde puedes desarrollar y ejecutar aplicaciones web más rápidas usando React.
React Native te permite crear aplicaciones móviles usando solo JavaScript, se usa para el desarrollo de aplicaciones móviles. Más información aquí https://facebook.github.io/react-native/docs/getting-started.html
fuente
En lo que respecta al ciclo de vida de los componentes y todas las demás características, es casi lo mismo.
La diferencia es principalmente el marcado JSX utilizado. React utiliza uno que se asemeja a html. El otro es el marcado que utiliza react-native para mostrar la vista.
fuente
React Native es para aplicaciones móviles, mientras que React es para sitios web (front-end). Ambos son marcos inventados por Facebook. React Native es un marco de desarrollo multiplataforma, lo que significa que se podría escribir casi el mismo código para iOS y Android y funcionaría. Personalmente, sé mucho más sobre React Native, así que lo dejaré aquí.
fuente
React Js está manipulando con HTML Dom. Pero React native está manipulando con el componente de interfaz de usuario nativo móvil (iOS / android).
fuente
ReactJS es una biblioteca de JavaScript que se utiliza para construir interfaces web. Necesitaría un paquete como webpack e intentaría instalar los módulos que necesitaría para construir su sitio web.
React Native es un marco de JavaScript y viene con todo lo que necesita para escribir aplicaciones multiplataforma (como iOS o Android). Necesitaría instalar xcode y android studio para compilar e implementar su aplicación.
A diferencia de ReactJS, React-Native no usa HTML, sino componentes similares que puede usar en iOS y Android para construir su aplicación. Estos componentes utilizan componentes nativos reales para construir las aplicaciones de ios y Android. Debido a esto, las aplicaciones React-Native se sienten reales a diferencia de otras plataformas de desarrollo híbridas. Los componentes también aumentan la reutilización de su código, ya que no necesita volver a crear la misma interfaz de usuario en iOS y Android.
fuente
En términos simples, ReactJS es una biblioteca principal que devuelve algo para representar según el entorno de host (navegador, dispositivo móvil, servidor, escritorio ... etc.). Además de renderizar, también proporciona otros métodos como ganchos de ciclo de vida ...
En el navegador, utiliza otra biblioteca react-dom para representar elementos DOM. En dispositivos móviles, utiliza componentes React-Native para representar componentes de interfaz de usuario nativos específicos de la plataforma (IOS y Android). ENTONCES,
reaccionar + reaccionar-dom = desarrollo web
reaccionar + reaccionar nativo = desarrollo móvil
fuente
REACT es una biblioteca Javascript para construir aplicaciones web de interfaz grande / pequeña como Facebook.
REACT NATIVO es un marco Javascript para desarrollar aplicaciones móviles nativas en Android, IOS y Windows Phone.
Ambos son de fuente abierta por Facebook.
fuente
Aquí están las diferencias que conozco:
fuente
En resumen: React.js para desarrollo web mientras React-Native para desarrollo de aplicaciones móviles
fuente
ReactJS
Reaccionar nativo
fuente
React Js : React JS es una biblioteca de JavaScript de front-end, es una biblioteca grande, no un marco
componentes de IU reutilizables
ReactNative : React Native es un marco de aplicaciones móviles de código abierto.
fuente
Un poco tarde para la fiesta, pero aquí hay una respuesta más completa con ejemplos:
Reaccionar
React es una biblioteca de IU basada en componentes que utiliza un "DOM sombra" para actualizar eficientemente el DOM con lo que ha cambiado en lugar de reconstruir todo el árbol DOM para cada cambio. Inicialmente se creó para aplicaciones web, pero ahora también se puede usar para dispositivos móviles y 3D / vr.
Los componentes entre React y React Native no se pueden intercambiar porque React Native se asigna a elementos nativos de la interfaz de usuario móvil, pero la lógica empresarial y el código no relacionado con el renderizado se pueden reutilizar.
ReactDOM
Inicialmente se incluyó con la biblioteca React, pero se dividió una vez que React se utilizó para otras plataformas además de la web. Sirve como punto de entrada al DOM y se usa en unión con React.
Ejemplo:
Reaccionar nativo
React Native es un marco móvil multiplataforma que utiliza React y se comunica entre Javascript y su contraparte nativa a través de un "puente". Debido a esto, gran parte de la estructuración de la interfaz de usuario tiene que ser diferente cuando se usa React Native. Por ejemplo: al crear una lista, se encontrará con problemas importantes de rendimiento si intenta utilizar
map
para crear la lista en lugar de React NativeFlatList
. React Native se puede utilizar para construir aplicaciones móviles IOS / Android, así como para relojes inteligentes y televisores.Expo
Expo es la opción a la hora de iniciar una nueva aplicación React Native.
Nota: Al usar Expo, solo puede usar los Api nativos que proporcionan. Todas las bibliotecas adicionales que incluya deberán ser JavaScript puro o deberá expulsar la exposición.
El mismo ejemplo usando React Native:
Diferencias:
onClick
convertirseonPress
, React Native usa hojas de estilo para definir estilos de una manera más eficiente, y React Native usa flexbox como la estructura de diseño predeterminada para mantener las cosas receptivas.Reaccionar 360
También vale la pena mencionar que React también se puede utilizar para desarrollar aplicaciones 3D / VR. La estructura del componente es muy similar a React Native. https://facebook.github.io/react-360/
fuente
reactjs usa un react-dom, no el dom del navegador, mientras que react native usa dom virtual, pero los dos usan la misma sintaxis, es decir, si puede usar reactjs, entonces puede usar react native.porque la mayoría de las bibliotecas que usa en reactjs están disponibles en react native como su navegación de reacción y otras bibliotecas comunes que tienen en común.
fuente
<h1>
,<p>
, etc. Cuando reaccionan nativo renders nativas componentes de vista aplicación como<View>
y<Text>
.En respuesta al comentario de @poshest anterior, aquí hay una versión React Native del código Clock previamente publicado en React (lo siento, no pude comentar directamente en la sección, de lo contrario habría agregado el código allí):
Reaccionar muestra de código nativo
Tenga en cuenta que el estilo es completamente mi elección y no busca replicar directamente las etiquetas
<h1>
y<h2>
utilizadas en el código React.fuente
Algunas diferencias son las siguientes:
1- React-Native es un marco que se utiliza para crear aplicaciones móviles, donde ReactJS es una biblioteca de JavaScript que puede utilizar para su sitio web.
2- React-Native no usa HTML para renderizar la aplicación mientras React usa.
3- React-Native se usa para desarrollar solo aplicaciones móviles, mientras que React se usa para sitios web y dispositivos móviles.
fuente
Reaccionar nativo
Es un marco para construir aplicaciones nativas usando JavaScript.
Se compila en componentes de aplicaciones nativas, lo que le permite crear aplicaciones móviles nativas.
Reaccionar js
Es compatible tanto con el front-end web como con la ejecución en un servidor, para construir interfaces de usuario y aplicaciones web.
También nos permite crear componentes de IU reutilizables.
Puede reutilizar componentes de código en React JS, ahorrándole mucho tiempo.
fuente
React.js a menudo denominado React o ReactJS es una biblioteca de JavaScript responsable de construir una jerarquía de componentes de la interfaz de usuario o, en otras palabras, responsable de la representación de los componentes de la interfaz de usuario. Proporciona soporte tanto para frontend como para servidor.
React Native es un marco para construir aplicaciones nativas usando JavaScript. Reacciona compilaciones nativas a componentes de aplicaciones nativas, lo que le permite construir aplicaciones móviles nativas. En React JS, React es la abstracción base de React DOM para la plataforma web, mientras que con React Native, React sigue siendo la abstracción base pero de React Native. Por lo tanto, la sintaxis y el flujo de trabajo siguen siendo similares, pero los componentes son diferentes.
fuente