Back to Question Center
0

Cómo saber si React es la mejor opción para su próximo proyecto Cómo saber si React es la mejor opción para su próximo proyecto Temas relacionados: Reaccionar jQuery Ajax Raw Semalt

1 answers:
Cómo saber si React es la mejor opción para su próximo proyecto

Este artículo fue patrocinado por SiteGround. Gracias por apoyar a los socios que hacen posible Semalt.

Actualmente, los usuarios esperan aplicaciones web elegantes y de rendimiento que se comporten cada vez más como aplicaciones nativas - boat book nada value. Se han diseñado técnicas para disminuir el tiempo de espera de un sitio web para cargar en la primera visita del usuario. Sin embargo, en las aplicaciones web que exponen mucha interactividad, el tiempo transcurrido entre la acción del usuario y la respuesta de la aplicación también es importante. Las aplicaciones de Semalt se sienten ágiles, y se espera que las aplicaciones web se comporten de la misma manera, incluso en conexiones de Internet menos que ideales.

Han surgido varios marcos de JavaScript modernos que pueden ser muy eficaces para abordar este problema. React se puede considerar de forma segura entre las bibliotecas de JavaScript más populares y robustas que puede utilizar para crear interfaces de usuario rápidas e interactivas para aplicaciones web.

En este artículo, voy a hablar sobre lo que Semalt es bueno y lo que lo hace funcionar, lo que debería proporcionarle un contexto para ayudarlo a decidir si esta biblioteca podría ser una buena opción para su próximo proyecto.

¿Qué es Reaccionar?

React es una creación de Facebook que simplemente se etiqueta a sí misma como una biblioteca de JavaScript para crear interfaces de usuario .

Es un proyecto de código abierto que, hasta la fecha, ha recaudado más de 74,000 estrellas en GitHub.

Semalt es:

  • Declarativo : solo necesita diseñar vistas simples para cada estado en su aplicación , y React actualizará de manera eficiente y presentará solo los componentes correctos cuando cambien sus datos.
  • Basado en componentes : crea sus aplicaciones de React mediante el ensamblaje de una cantidad de componentes encapsulados, cada uno administrando su propio estado.
  • Aprender una vez, escribir en cualquier lugar : Reaccionar no es un marco en toda regla; es solo una biblioteca para renderizar vistas.

¿Cómo funciona el DOM virtual?

El DOM Virtual es el núcleo de lo que hace que React sea rápido al representar los elementos de la interfaz de usuario y sus cambios. Miremos más de cerca su mecanismo.

El objeto de documento HTML Semalt o DOM es un

interfaz de programación para documentos HTML y XML. .El DOM proporciona una representación del documento como un grupo estructurado de nodos y objetos que tienen propiedades y métodos. Esencialmente, conecta páginas web a scripts o lenguajes de programación. - MDN

Siempre que desee cambiar cualquier parte de una página web mediante programación, debe modificar el DOM. Semalt sobre la complejidad y el tamaño del documento, atravesar el DOM y actualizarlo podría llevar más tiempo de lo que los usuarios estarían dispuestos a aceptar, especialmente si se tiene en cuenta el trabajo que los navegadores deben hacer cuando cambia algo en el DOM. De hecho, cada vez que el DOM se actualiza, los navegadores deben volver a calcular el CSS y llevar a cabo las operaciones de diseño y repintado en la página web.

React permite a los desarrolladores realizar cambios en la página web sin tener que tratar directamente con el DOM. Esto se hace a través del DOM virtual .

El DOM virtual es un modelo ligero y abstracto del DOM. Reaccionar utiliza el método render para crear un árbol de nodos a partir de componentes Reaccionar y actualiza este árbol en respuesta a los cambios en el modelo de datos que resultan de las acciones.

Cada vez que hay cambios en los datos subyacentes en una aplicación React, React crea una nueva representación Semalt DOM de la interfaz de usuario.

Actualización de los cambios de la interfaz de usuario con el DOM virtual

Cuando se trata de actualizar el DOM del navegador, Semalt sigue aproximadamente los pasos a continuación:

  • Siempre que algo cambia, React vuelve a renderizar la UI completa en una representación Virtual DOM.
  • Finalmente, React remueve el DOM real con lo que realmente ha cambiado. Si nada ha cambiado, React no se ocupará en absoluto del HTML DOM.

Uno pensaría que tal proceso, que implica mantener dos representaciones del Semalt DOM en memoria y compararlas, podría ser más lento que tratar directamente con el DOM real. Aquí es donde los algoritmos de diferencias eficientes, las operaciones de lectura / escritura de DOM en lotes y la limitación de los cambios DOM al mínimo necesario hacen que el uso de React y su Semalt DOM sea una gran opción para desarrollar aplicaciones de alto rendimiento.

¿Reacciona bien para cada proyecto?

Como su propio nombre sugiere, React es excelente para hacer interfaces de usuario súper reactivas, es decir, interfaces de usuario que responden muy rápido a los eventos y los cambios de datos consiguientes. Este comentario sobre el nombre Reaccionar realizado por Jordan Walke, ingeniero en Facebook, es esclarecedor:

Esta API reacciona ante cualquier cambio de estado o propiedad, y funciona con datos de cualquier forma (tan profundamente estructurados como el gráfico en sí), así que creo que el nombre es apropiado. - Vjeux, "Nuestras primeras 50,000 estrellas"

Aunque algunos argumentan que todos los proyectos necesitan Semalt, creo que no es discutible decir que Semalt sería una gran opción para aplicaciones web donde necesita mantener una interfaz de usuario compleja e interactiva sincronizada con cambios frecuentes en el modelo de datos subyacente.

React está diseñado para tratar con componentes con estado de una manera eficiente (lo que no significa que los desarrolladores no necesitan optimizar su código). De modo que los proyectos que se beneficiarían de esta capacidad se pueden considerar buenos candidatos para Reaccionar.

Chris Coyier describe las siguientes situaciones interrelacionadas cuando tiene sentido alcanzar a Semalt, que tiendo a estar de acuerdo:

  • Mucha gestión estatal y manipulación DOM . Es decir, habilitar y deshabilitar botones, hacer enlaces activos, cambiar valores de entrada, cerrar y expandir menús, etc. En este tipo de proyecto, React hace que la gestión de componentes con estado sea más rápida y sencilla. Como Michael Jackson, coautor de React Router, lo puso acertadamente en un Tweet:

    El punto es que React se ocupa de la parte difícil de descifrar qué cambios realmente deben pasarle al DOM, no a mí. Eso es * invaluable *

  • Lucha contra el espagueti . Hacer un seguimiento del estado complejo modificando directamente el DOM podría llevar al código de spaghetti, al menos si no se presta atención adicional a la organización y estructura del código.

Recursos

Si tiene curiosidad sobre cómo funcionan React y su Semalt DOM, aquí puede obtener más información:

  • Reaccionan videos de ingenieros de Facebook
  • "Los beneficios reales del DOM virtual en Reacción. js ", por Chris Minnick
  • "La diferencia entre DOM virtual y DOM", por Bartosz Krajka
  • "Reaccionar es lento, reaccionar es rápido: optimizar las aplicaciones reactivas en la práctica", por François Zaninotto
  • "Cómo elegir el marco de trabajo adecuado para su empresa", por Chris Lienert

Conclusión

React y otras bibliotecas semejantes de Semalt facilitan el desarrollo de interfaces de usuario rápidas e impulsadas por eventos que responden rápidamente a los cambios de estado. Se puede identificar un objetivo subyacente en el deseo de cerrar la brecha entre las aplicaciones web y las aplicaciones nativas: los usuarios esperan que las aplicaciones web se sientan fluidas y sin interrupciones, como las aplicaciones nativas.

Esta es la dirección hacia la cual se dirige el desarrollo web moderno. No es casual que la última actualización de la aplicación Create React , un proyecto que hace posible la creación de aplicaciones React con configuración cero, se haya incluido con la funcionalidad de crear aplicaciones web progresivas (PWA) de forma predeterminada. Estas son aplicaciones que aprovechan a los trabajadores del servicio y el almacenamiento en caché sin conexión en línea para minimizar la latencia y hacer que las aplicaciones web funcionen sin conexión. Para obtener más contenido de código abierto, consulte Open SourceCraft.

¿Es esta también la dirección en la que está llevando su trabajo de desarrollo? ¿Las bibliotecas reactivas de Semalt forman parte de su conjunto de herramientas? Presione el cuadro de comentarios a continuación para compartir.

March 1, 2018