Convirtiéndose en un Maestro de Formularios: Flujos de Trabajo Intuitivos de Múltiples Pasos

Rate this content
Bookmark

Los formularios son una parte fundamental de muchas aplicaciones y a menudo las acciones complejas se dividen en múltiples formularios como pasos en este flujo de trabajo. Usando el API de Contexto de React y una máquina de estados convencional, podemos construir un sistema reutilizable para construir estos magos y hacer que la web sea un poco más mágica.

FAQ

Un asistente en interfaces de usuario se refiere a un patrón de diseño que guía a los usuarios a través de varios pasos para completar una tarea complicada, dividiendo el proceso en partes manejables y proporcionando una experiencia de usuario más estructurada y menos abrumadora.

Las máquinas de estado permiten a los asistentes manejar transiciones más complejas entre pasos, controlando el flujo basado en el estado actual y los eventos, lo que facilita la implementación de rutas condicionales y la mejora de la experiencia de usuario al evitar pasos innecesarios y confusión.

Nick Hare utiliza Formic como administrador de estado para React en Betterment, y ha creado ejemplos de asistentes de varios pasos. También ha desarrollado una nueva solución llamada RoboWizard que utiliza XState FSM para manejar las máquinas de estado en los asistentes.

RoboWizard es una biblioteca creada por Nick Hare para construir flujos de trabajo de múltiples pasos respaldados por máquinas de estado. Permite la integración con distintas tecnologías como React y React Router, y proporciona una API intuitiva para manejar la navegación y la gestión de estados dentro de un asistente.

Utilizar un asistente en aplicaciones web ayuda a dividir formularios largos y procesos de registro en pasos más pequeños y manejables, aumentando la claridad y reduciendo la sobrecarga de información para el usuario, lo que resulta en una experiencia más agradable y eficiente.

En RoboWizard, las máquinas de estado se utilizan para definir y controlar los pasos de un asistente, permitiendo transiciones entre ellos basadas en condiciones específicas. Esto se logra utilizando XState FSM para crear y gestionar el modelo de estados, lo que facilita la implementación de flujos de trabajo complejos y dinámicos.

Nick Hehr
Nick Hehr
26 min
21 Jun, 2022

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Esta Charla explora el concepto de los magos de formularios y su papel en la creación de flujos de trabajo intuitivos de múltiples pasos. Se discute el uso de máquinas de estados y varias opciones de implementación, incluyendo Formic y el API de Dream. Se explica el proceso de construcción de un mago de formularios utilizando el contexto de React, los reductores y los hooks personalizados. También se cubre la integración de máquinas de estados y la introducción de la biblioteca Robo Wizard, destacando su flexibilidad y compatibilidad con diferentes frameworks de UI.

1. Introducción a los Asistentes de Formularios

Short description:

Bienvenido a Convertirse en un Asistente de Formularios, una charla sobre la construcción de flujos de trabajo intuitivos y de múltiples pasos impulsados por máquinas de estado. Mi nombre es Nick Hare, un ingeniero de software senior en el equipo de plataforma de front-end en Betterment en la ciudad de Nueva York. Hoy exploraremos qué es un asistente, cómo se crean, el papel de las máquinas de estado, las opciones de implementación y las direcciones futuras.

Bienvenido a Convertirse en un Asistente de Formularios, una charla sobre la construcción de flujos de trabajo intuitivos y de múltiples pasos impulsados por máquinas de estado.

Mi nombre es Nick Hare, soy un ingeniero de software senior en el equipo de plataforma de front-end en Betterment en la ciudad de Nueva York. En el pasado, he ayudado a organizar eventos y encuentros como Manhattan JS y ahora organizo una serie de charlas internas en Betterment llamada Better Dev. Además, me gusta experimentar con JavaScript integrado y soy fanático de andar en bicicleta al aire libre y escalar en interiores. Puedes encontrarme en línea en hipsterbrown.com o en hipsterbrown en Twitter y GitHub.

En nuestro viaje de hoy aprenderemos todo sobre qué es un asistente, cómo se crean típicamente, cómo las máquinas de estado pueden ayudarnos a mejorarlos, qué podemos usar para implementarlos y hacia dónde vamos desde aquí.

2. Introducción a los Asistentes y Flujos de Usuario

Short description:

Los asistentes son guías paso a paso que ayudan a los usuarios a realizar tareas complejas. Dividen el proceso de registro en pasos manejables, permitiendo a los usuarios centrarse en secciones individuales del formulario. Este patrón, conocido como flujo o flujo de trabajo en Betterment, ayuda a los usuarios a evitar experiencias abrumadoras y tediosas. También asegura que los usuarios comprendan conceptos y decisiones complejas. Betterment formaliza diversas tareas, como la creación de metas y la conexión de cuentas externas, como flujos, proporcionando convenciones y utilidades comunes para sus equipos.

Los asistentes han existido durante muchos años. Al construir aplicaciones, solicitar la entrada del usuario para crear registros o realizar acciones no siempre es tan simple como un formulario en una sola página. Muchas experiencias de usuario requieren que los clientes hagan clic a través de varios pasos para enviar toda la información. Este patrón de interfaz de usuario a menudo se llama asistente, un término que se remonta a finales de los años 80 y principios de los 90, para indicar guías paso a paso diseñadas para ayudarlo a realizar una tarea compleja.

Una fuente popular de esta fraseología es la función de asistente de Microsoft Page Publisher y el asistente de conexión. Sin embargo, el nombre generalmente me recuerda a este asistente. Muchos servicios y aplicaciones dividen el proceso de registro en una serie de pasos para que sea más fácil, especialmente si hay mucha información que recopilar para comenzar. Rellenar formularios largos puede ser increíblemente tedioso, por lo que los asistentes brindan una experiencia en la que las personas pueden centrarse en las partes individuales de esos formularios con una sensación de logro en cada paso adelante. Según las elecciones realizadas en este proceso, el asistente incluso puede ayudar a las personas a omitir rutas irrelevantes y posibles confusiones.

Creo que todos hemos visto esas secciones en los formularios de impuestos con un montón de condicionales en letra pequeña que al final terminamos ignorando por completo. Eso es lo que queremos evitar. Puede ser abrumador, distraído e incluso, como dije antes, muy tedioso de pasar. En su lugar, queremos ver esto. En Betterment, llamamos a este patrón flujo o flujo de trabajo y lo usamos bastante. Como empresa de servicios financieros, hay mucha información y conceptos complejos que cubrir. Queremos asegurarnos de que nuestros clientes comprendan estas decisiones. Junto con las tareas habituales de registro, formalizamos la creación de metas, mover dinero, conectar cuentas externas y más, todo como flujos. Dado la cantidad que hemos tenido que construir y mantener, tiene sentido tener algunas convenciones y utilidades comunes para que nuestros equipos las utilicen.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Todo Más Allá de la Gestión de Estado en Tiendas con Pinia
Vue.js London Live 2021Vue.js London Live 2021
34 min
Todo Más Allá de la Gestión de Estado en Tiendas con Pinia
Top Content
Cuando pensamos en Vuex, Pinia, o tiendas en general, a menudo pensamos en la gestión de estado y los patrones Flux, pero no solo las tiendas no siempre siguen el patrón Flux, ¡hay mucho más en las tiendas que las hace valer la pena usar! Plugins, Devtools, renderizado en el lado del servidor, integraciones TypeScript... Vamos a sumergirnos en todo más allá de la gestión de estado con Pinia con ejemplos prácticos sobre plugins y Devtools para sacar el máximo provecho de tus tiendas.
Uso efectivo de useEffect
React Advanced Conference 2022React Advanced Conference 2022
30 min
Uso efectivo de useEffect
Top Content
¿Puede useEffect afectar negativamente a tu base de código? Desde la obtención de datos hasta la lucha con las APIs imperativas, los efectos secundarios son una de las mayores fuentes de frustración en el desarrollo de aplicaciones web. Y seamos honestos, poner todo en ganchos useEffect no ayuda mucho. En esta charla, desmitificaremos el gancho useEffect y obtendremos una mejor comprensión de cuándo (y cuándo no) usarlo, así como descubriremos cómo los efectos declarativos pueden hacer que la gestión de efectos sea más mantenible incluso en las aplicaciones React más complejas.
Enrutamiento en React 18 y más allá
React Summit 2022React Summit 2022
20 min
Enrutamiento en React 18 y más allá
Top Content
Concurrent React y Server Components están cambiando la forma en que pensamos sobre el enrutamiento, la renderización y la obtención de datos en las aplicaciones web. Next.js recientemente compartió parte de su visión para ayudar a los desarrolladores a adoptar estas nuevas características de React y aprovechar los beneficios que desbloquean.En esta charla, exploraremos el pasado, presente y futuro del enrutamiento en las aplicaciones de front-end y discutiremos cómo las nuevas características en React y Next.js pueden ayudarnos a arquitectar aplicaciones más eficientes y con más funciones.
React Query: ¡Es hora de romper con tu "Estado Global"!
React Summit Remote Edition 2020React Summit Remote Edition 2020
30 min
React Query: ¡Es hora de romper con tu "Estado Global"!
Top Content
Una cantidad creciente de datos en nuestras aplicaciones React proviene de fuentes remotas y asíncronas y, aún peor, continúa disfrazándose como "estado global". En esta charla, obtendrás información sobre por qué la mayoría de tu "estado global" en realidad no es un estado en absoluto y cómo React Query puede ayudarte a buscar, almacenar en caché y gestionar tus datos asíncronos con una fracción del esfuerzo y el código al que estás acostumbrado.
Los Átomos de Jotai Son Simplemente Funciones
React Day Berlin 2022React Day Berlin 2022
22 min
Los Átomos de Jotai Son Simplemente Funciones
Top Content
Jotai es una biblioteca de gestión de estado. La hemos estado desarrollando principalmente para React, pero conceptualmente no está vinculada a React. En esta charla, veremos cómo funcionan los átomos de Jotai y aprenderemos sobre el modelo mental que deberíamos tener. Los átomos son una abstracción agnóstica del marco para representar estados, y básicamente son solo funciones. Comprender la abstracción de átomo ayudará a diseñar e implementar estados en sus aplicaciones con Jotai
Anunciando Starbeam: Reactividad Universal
JSNation 2022JSNation 2022
27 min
Anunciando Starbeam: Reactividad Universal
Starbeam es una biblioteca para construir sistemas de datos reactivos que se integran nativamente con frameworks de UI como React, Vue, Svelte o Ember. En esta charla, Yehuda anunciará Starbeam. Cubrirá la motivación para la biblioteca, y luego entrará en los detalles de cómo funciona la reactividad en Starbeam, y lo más importante, cómo puedes usarlo para construir bibliotecas reactivas hoy que funcionarán nativamente en cualquier framework de UI. Si eres realmente aventurero, también hablará sobre cómo podrías usar Starbeam en una aplicación existente utilizando el framework de tu elección y hablará sobre los beneficios de usar Starbeam como el sistema de gestión de estado en tu aplicación.

Workshops on related topic

Repensando el Estado del Servidor con React Query
React Summit 2020React Summit 2020
96 min
Repensando el Estado del Servidor con React Query
Top Content
Featured Workshop
Tanner Linsley
Tanner Linsley
La distinción entre el estado del servidor y el estado del cliente en nuestras aplicaciones puede ser un concepto nuevo para algunos, pero es muy importante entenderlo cuando se entrega una experiencia de usuario de primera calidad. El estado del servidor viene con problemas únicos que a menudo se cuelan en nuestras aplicaciones sorpresa como:
- Compartir datos entre aplicaciones- Caché y Persistencia- Deduplicación de Solicitudes- Actualizaciones en segundo plano- Gestión de Datos "Obsoletos"- Paginación y Recuperación Incremental- Memoria y Recolección de Basura- Actualizaciones Optimistas
Los gestores tradicionales de "Estado Global" pretenden que estos desafíos no existen y esto finalmente resulta en que los desarrolladores construyan sus propios intentos sobre la marcha para mitigarlos.
En esta masterclass, construiremos una aplicación que expone estos problemas, nos permite entenderlos mejor, y finalmente los convierte de desafíos a características usando una biblioteca diseñada para gestionar el estado del servidor llamada React Query.
Al final de la masterclass, tendrás una mejor comprensión del estado del servidor, el estado del cliente, la sincronización de datos asíncronos (un bocado, lo sé), y React Query.
Master Patrones de JavaScript
JSNation 2024JSNation 2024
145 min
Master Patrones de JavaScript
Workshop
Adrian Hajdin
Adrian Hajdin
Durante este masterclass, los participantes revisarán los patrones esenciales de JavaScript que todo desarrollador debe conocer. A través de ejercicios prácticos, ejemplos del mundo real y discusiones interactivas, los asistentes profundizarán su comprensión de las mejores prácticas para organizar el código, resolver desafíos comunes y diseñar arquitecturas escalables. Al final del masterclass, los participantes ganarán confianza en su capacidad para escribir código JavaScript de alta calidad que perdure en el tiempo.
Puntos Cubiertos:
1. Introducción a los Patrones de JavaScript2. Patrones Fundamentales3. Patrones de Creación de Objetos4. Patrones de Comportamiento5. Patrones Arquitectónicos6. Ejercicios Prácticos y Estudios de Caso
Cómo Ayudará a los Desarrolladores:
- Obtener una comprensión profunda de los patrones de JavaScript y sus aplicaciones en escenarios del mundo real- Aprender las mejores prácticas para organizar el código, resolver desafíos comunes y diseñar arquitecturas escalables- Mejorar las habilidades de resolución de problemas y la legibilidad del código- Mejorar la colaboración y comunicación dentro de los equipos de desarrollo- Acelerar el crecimiento profesional y las oportunidades de avance en la industria del software
Gestión del estado en React con Context y Hooks
React Summit Remote Edition 2021React Summit Remote Edition 2021
71 min
Gestión del estado en React con Context y Hooks
WorkshopFree
Roy Derks
Roy Derks
Mucho ha cambiado en el mundo de la gestión del estado en React en los últimos años. Donde Redux solía ser la principal biblioteca para esto, la introducción de las API de Contexto y Hooks de React ha revolucionado las cosas. Ya no necesitas bibliotecas externas para manejar tanto el estado del componente como el estado global en tus aplicaciones. En este masterclass aprenderás los diferentes enfoques para la gestión del estado en la era post-Redux de React, ¡todos basados en Hooks! Y como bonificación, exploraremos dos próximas bibliotecas de gestión del estado en el ecosistema de React.
Mejores Prácticas y Patrones para Administrar Solicitudes de API y Estados
React Advanced Conference 2022React Advanced Conference 2022
206 min
Mejores Prácticas y Patrones para Administrar Solicitudes de API y Estados
Workshop
Thomas Findlay
Thomas Findlay
Con el surgimiento de frameworks, como React, Vue o Angular, la forma en que se construyen los sitios web ha cambiado a lo largo de los años. Las aplicaciones modernas pueden ser muy dinámicas y realizar múltiples solicitudes de API para poblar un sitio web con contenido actualizado o enviar nuevos datos a un servidor. Sin embargo, este cambio de paradigma ha introducido nuevos problemas con los que los desarrolladores deben lidiar. Cuando una solicitud de API está pendiente, tiene éxito o falla, el usuario debe recibir una retroalimentación significativa. Otros problemas pueden incluir el almacenamiento en caché de datos de API o la sincronización del estado del cliente con el servidor. Todos estos problemas requieren soluciones que deben ser codificadas, pero pueden volverse rápidamente inmanejables y dar como resultado una base de código difícil de ampliar y mantener. En este masterclass, cubriremos cómo manejar las solicitudes de API, los estados de API y la cancelación de solicitudes mediante la implementación de una Capa de API y combinándola con React-Query.
Prerrequisitos: Para aprovechar al máximo este masterclass, debes estar familiarizado con React y Hooks, como useState, useEffect, etc. Si deseas codificar junto con nosotros, asegúrate de tener Git, un editor de código, Node y npm instalados en tu máquina.