Los humanos confundiremos con muchas cosas. La confusión puede surgir en función de diferentes características de las cosas. La forma más común de confundirse con diferentes cosas son sus nombres.
Primero, las personas conocerán los nombres de algo nuevo. O es otra persona, animal, producto, software, etc., buscarán con sus nombres y luego conocerán diferentes funcionalidades, aplicaciones, historial, etc.,
¿Por qué se trata todo esto?
Sí, la gente a menudo se confunde con los términos (nombres) Reaccionar y Reaccionar nativo. Si los chicos que no son técnicos ven los nombres Reaccionar y Reaccionar nativo, asumirán Reactive Native como una extensión de React en la mayoría de los casos. Incluso algunos técnicos pueden pensar de la misma manera si tienen un 0% de conocimiento en estas áreas.
¿Qué son esas cosas en realidad? ¿Por qué la gente a menudo se confunde con ellos, no con los demás?
Reaccionar y Reaccionar nativo son dos marcos. Los nombres se ven similares con una palabra adicional entre ellos. Entonces, la gente a menudo confunde debido a sus nombres a primera vista. Si tiene la misma confusión, entonces está en el lugar correcto para desenvolver el misterio detrás de ellos.
Vamos a averiguar.
React
React es una biblioteca de JavaScript que se utiliza para crear aplicaciones web de una sola página. Es una de las bibliotecas más populares para crear interfaces de usuario (frontend) para la web. Quizás podamos decir que es la biblioteca más popular por ahora. Es creado y mantenido por Facebook. También se conoce como Reaccionar.
Como tengo experiencia con React, puedo decir que es hermoso y sencillo de aprender y construir. Es una biblioteca. Entonces, podemos construir lo que queramos y como queramos utilizando sus características. No hay reglas estrictas a seguir al desarrollar aplicaciones con React. Entonces, tendremos libertad.
React tiene muchas características interesantes. Veámoslos.
#1. Componentes
En React, todo es un componente. Es como un componente básico de la aplicación web. Podemos formar componentes grandes combinando los componentes pequeños. Cada componente tiene su propio estado y control. Los componentes controlan la interfaz de usuario y deciden qué mostrar a los usuarios en función de su estado.
Los componentes lo son todo en React. Y son reutilizables. Escribe una vez y úsalo en todas partes.
Necesitamos escribir componentes con sumo cuidado. Facilita el mantenimiento cuando nuestra aplicación crece. Si escribimos mucho código en un solo componente, eventualmente será una carga para nosotros mantenerlo. Los componentes de React deben ser pequeños y dulces. Hacen que la vida de los desarrolladores sea un paraíso y un infierno.
#2. DOM virtual
Deberías haber visto algo como un cargador dentro de un botón. Y en las plataformas de redes sociales, el recuento de Me gusta aumenta tan pronto como lo presionas. En los primeros días de la web, teníamos que recargar todo para obtener la información. Pero, ahora un single que necesita ser actualizado se actualizará para nosotros sin tocar otras cosas. ¿De qué se trata todo esto?
Como vimos antes, todo en React es un componente. Los navegadores mantienen la estructura DOM de los elementos de una aplicación web. Cuando una parte de la aplicación web necesita actualizarse, tenemos que actualizarla usando las manipulaciones DOM. React hace lo mismo de manera eficiente.
React crea un DOM virtual (copia de DOM) para todos sus componentes. Para actualizar algo en una aplicación web, React compara el DOM real con el DOM virtual. Si hay algún cambio, React activa la actualización del componente.
#3. Flujo de datos unidireccional
No podemos dividir el gran conjunto de componentes en componentes más pequeños sin flujo de datos. Tiene que haber alguna forma de que los datos fluyan entre los componentes.
React nos permite pasar los datos de un componente a otro componente en una sola dirección. Los datos fluyen de los componentes principales a los componentes secundarios. Y los componentes secundarios no pueden actualizar los datos. No hay forma de devolver los datos al componente principal, ya que el flujo de datos es unidireccional.
Primero puede pensar que no fluye datos multidireccionales. Pero, un flujo de datos de una sola dirección nos da más control sobre el flujo de datos multidireccional.
Descripción
Hay muchas otras características como JSX, renderizado condicional, etc. son secundarios. Hemos visto las características principales de la biblioteca React. Cuando se trata de las aplicaciones de React, podemos construir casi cualquier tipo de aplicación web con él. La comunidad de React es enorme. Puede encontrar muchos paquetes para trabajar con React.
React Native
React Native es un Marco de JavaScript utilizado para desarrollar aplicaciones móviles multiplataforma. También es creado y mantenido por Facebook.
La mayoría de ustedes se sorprenderá con la declaración anterior.
Podemos crear aplicaciones móviles para Android e IOS con un solo marco?
Si no está siguiendo las actualizaciones en el mundo de la tecnología, entonces no hay posibilidad de que lo sepa. Sí, podemos crear aplicaciones multiplataforma (tanto Android como IOS) usando React Native. Y existen otros marcos para el desarrollo de aplicaciones multiplataforma.
React Native es uno de los más populares de su tipo. No es el más popular debido a las limitaciones de JavaScript en las aplicaciones nativas. Pero, brilla en sus áreas de desarrollo. Incluso grandes empresas como Facebook, Instagram, Flipkart, etc., lo utilizan. No significa que debas usarlo. Significa que podemos construir aplicaciones de nivel de producción multiplataforma con React Native.
He usado un grupo de palabras llamado Aplicaciones nativas en el párrafo anterior. ¿Qué son? No es un nuevo tipo de aplicación. Una aplicación nativa se crea específicamente para una plataforma específica. Aplicaciones de Android para móviles Android, aplicaciones IOS para móviles iPhone, aplicaciones de Windows para Windows, etc.,
Qué pasa con Nativo in Reaccionar nativo? Al llegar a él, React Native crea una aplicación nativa que se adapta tanto a Android como a IOS según nuestro deseo. Las aplicaciones desarrolladas con React Native son nativas al igual que Android Studio para Android y de manera similar para IOS.
Quizás los creadores lo llamaron React Native por eso. No es un hecho.
Cuando se trata de las características de React Native, hay un montón de ellas esperándonos. Veamos algunas de sus características principales.
#1. Multiplataforma
Podemos crear aplicaciones móviles para Android e IOS al mismo tiempo con una única base de código. Ahorra mucho tiempo y dinero para las empresas.
#2. Recarga en caliente o en vivo
Si tiene experiencia en aplicaciones React o React Native, probablemente lo sepa. Esta característica recarga toda la aplicación con nuevas actualizaciones cuando cambiamos el código. No tenemos que presionar el botón de recarga cada vez que cambiamos el código. Actualice el código y vea los cambios. Eso es. No tenemos que esperar por nada a menos que haya un error.
Puede parecerle una característica secundaria. Pero, si viene del desarrollo de Android sin ningún marco, comprenderá el valor de esta función en React Native.
#3. Bibliotecas y comunidad de UI
Hay muchos componentes nativos integrados en React Native. Podemos usarlos directamente sin ninguna configuración o instalación adicional. Los componentes nativos parecen nativos en las respectivas plataformas. La interfaz de usuario de las aplicaciones React Native coincide con la interfaz de usuario nativa de IOS y con la interfaz de usuario nativa de Android. React Native tiene componentes similares a React.
Y cuando se trata de comunidad. Es grande y sigue aumentando. Puede obtener ayuda sin ninguna dificultad de la comunidad cuando está atrapado en ella.
Descripción
Puede encontrar muchas otras características de React Native en Internet. Explórelos también si va a dedicarse al desarrollo de aplicaciones móviles. Un desarrollador de frontend también puede desarrollar aplicaciones nativas usando React Native. Facilita el desarrollo de aplicaciones móviles multiplataforma.
React Vs. React Native
Hay algunas similitudes y diferencias entre React y React Native. Veámoslos.
Cuando se trata de aplicaciones de React y React Native, son totalmente diferentes entre sí. Pero, en lo que respecta a los principios, son similares. Tanto React como React Native tienen componentes. Y siguen los mismos principios en el desarrollo respectivo.
Ambos utilizan el lenguaje JavaScript para el desarrollo. Veamos un simple Hola Mundo aplicación en ambos.
Reaccionar
import React, { Component } from 'react';
import './App.css';
class App extends Component {
render() {
return (
<div className="container">
<h1>Hello, Wolrd!</h1>
</div>
);
}
}
export default App;
Reaccionar nativo
import React from 'react';
import { Text, View } from 'react-native';
const App = () => {
return (
<View
style={{
flex: 1,
justifyContent: "center",
alignItems: "center"
}}>
<Text>Hello, world!</Text>
</View>
)
}
export default App;
Como puede ver, ambos usan el paquete React. La sintaxis es similar en ambas aplicaciones, ya que utilizan un marcado especial llamado JSX. Pero cuando se trata de la parte de renderizado, ambos usan cosas diferentes. Reaccionar usos DOM virtual, y React Native usos API nativa para la representación de la interfaz de usuario.
Existen algunos paquetes externos como Redux, MobX, etc., para la gestión de sentencias de las aplicaciones React. Los mismos paquetes también se pueden usar en las aplicaciones React Native.
Tanto React como React Native usan JavaScript. Entonces, podemos usar casi todos los paquetes de JavaScript con ambos. Esto agrega muchos paquetes a sus dos bibliotecas de paquetes.
React y React Native están relacionados entre sí. Pero, se utilizan para diferentes propósitos.
Conclusión
React y React Native son diferentes en términos del producto final y las plataformas de aplicación. Pero siguen principios similares en el desarrollo de la aplicación respectiva. Si puede aprender uno de los dos marcos, React o React Native, puede acelerar el aprendizaje de otro. Sin embargo, se requieren conocimientos de React para el desarrollo de aplicaciones React Native. Pero no es suficiente para eso. Necesitamos saber más sobre el desarrollo de aplicaciones nativas ya que el soporte es limitado en React Native.
Esperemos que eventualmente evolucione para obtener un soporte completo en el futuro.
Si está buscando comenzar con la web o desarrollo de aplicaciones móviles, luego seleccionar React o React Native definitivamente lo beneficiará en el futuro. Pero no es obligatorio.
Aprender los conceptos de React es pan comido si saber JavaScript. Los documentos oficiales serán un gran recurso para que comiences con React o React Native.
Feliz sabiendo 🙂