React - Tensho97/Aprende-a-Aprender GitHub Wiki
¿Qué es?
Es una biblioteca Javascript de código abierto desarrollada en Facebook para facilitar la creación de componentes interactivos, re utilizables, para interfaces de usuario. Uno de sus puntos más destacados, es que no sólo se utiliza en el lado del cliente, sino que también se puede representar en el servidor, y trabajar juntos.
React puede ser programado tanto JavaScript como en TypeScript.Este ultimo es un lenguaje de código abierto desarrollado y mantenido por Microsoft. Es un superconjunto de JavaScript, que esencialmente añade tipado estático y objetos basados en clases.
TypeScript extiende la sintaxis de JavaScript, por tanto cualquier código JavaScript existente debería funcionar sin problemas. Está pensado para grandes proyectos, los cuales a través de un compilador de TypeScript se traducen a código JavaScript original.
¿Cómo funciona React?
React.js está construido en torno a hacer funciones, que toman las actualizaciones de estado de la página y que se traduzcan en una representación virtual de la página resultante. Siempre que React es informado de un cambio de estado, vuelve a ejecutar esas funciones para determinar una nueva representación virtual de la página, a continuación, se traduce automáticamente ese resultado en los cambios del DOM necesarios para reflejar la nueva presentación de la página.
React utiliza un DOM virtual el cuál, se carga en memoria, al hacer cambios basados en los estados que maneja React, se hace el cambio en ese DOM virtual, luego React compara ese DOM en memoria con el DOM del navegador y solo reemplaza las secciones que han tenido modificaciones, lo cual nos permite tener la sensación de que todo se mueve/refresca muy rápido y de forma fluída.
¿Se pueden hacer aplicaciones móviles con JavaScript?
Se puede. Gracias a React Native (un framework basado en el core de React) se pueden realizar aplicaciones móvil basadas en aplicaciones web, como Facebook por ejemplo.
Hasta hace bien poco, había dos enfoques muy diferentes para desarrollar apps:
- Desarrollos en plataformas nativas (Android-Java, Ios-ObjectiveC/Swift)
- Desarrollos en plataforma web incrustada dentro una webview, o Web App (Cordova, Ionic, …)
React Native es una implementación híbrida de estas dos maneras.
Al desarrollar una app en React Native, el código que escribimos es el mismo para las versiones de Android e iOS. Sólo nos tenemos que preocupar de la lógica de negocio y de maquetar una única vez.
Documentacion oficial
https://reactjs.org/docs/getting-started.html
Autor: Kevin