Mejorando la Felicidad del Desarrollador con Preview.js

Rate this content
Bookmark

Un vistazo a Preview.js, una extensión de código abierto para Visual Studio Code, IntelliJ y WebStorm que te permite previsualizar componentes individuales de React al instante, actualizados mientras escribes.


FAQ

Un ingeniero de felicidad del desarrollador es un ingeniero de software que se enfoca en mejorar la eficiencia y satisfacción de otros ingenieros a través de la refactorización, la corrección de pruebas inestables y la aceleración de la integración continua, además de desarrollar herramientas para agilizar el trabajo de sus colegas.

Preview JS es una herramienta desarrollada para permitir una vista previa en tiempo real de componentes, facilitando así la programación y el diseño en frameworks como React, Vue y Solid. Está disponible en VS Code e IntelliJ, y ayuda a los desarrolladores a ver cómo los cambios en el código afectan instantáneamente a los componentes.

Si una API elimina los elementos no disponibles del menú sin indicarlo claramente, puede causar confusión entre los usuarios, quienes podrían pensar que el restaurante ha eliminado permanentemente estos elementos. La solución es modificar la API para que muestre los elementos como 'no disponibles' en lugar de eliminarlos.

Storybook es una herramienta que actúa como una galería para componentes de UI, donde cada componente puede tener varias 'historias' que muestran diferentes estados o versiones del componente. Es útil para documentar y diseñar componentes de manera aislada, asegurando que cada variante esté bien definida y sea fácil de revisar.

Preview.js proporciona una actualización en vivo de los componentes a medida que se ajustan sus propiedades, lo que permite a los desarrolladores ver y ajustar cambios en tiempo real sin necesidad de recargar o recompilar el código. Esto mejora la eficiencia y facilita la iteración rápida durante el desarrollo.

Storybook y Preview.js son complementarios; mientras Storybook ayuda en la documentación y organización de componentes UI, Preview.js permite la visualización en tiempo real de cambios en los componentes. Ambas herramientas pueden ser utilizadas juntas para maximizar la eficiencia en el desarrollo y el diseño de interfaces.

François Wouts
François Wouts
21 min
21 Jun, 2022

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Francois, un ingeniero de felicidad para desarrolladores, habla sobre los desafíos de los builds lentos y su impacto en la productividad. Explora la implementación de mostrar elementos de menú no disponibles en una aplicación de entrega de comida y demuestra el uso de Storybook para el diseño de componentes. Francois presenta Preview.js, una herramienta para previsualizar componentes de React, Vue y Solid, y explica cómo simplifica el proceso de desarrollo. También destaca los beneficios de usar PrivyJS con Storybook y VIT para un desarrollo más rápido y eficiente.

1. Introducción a la Ingeniería de Felicidad del Desarrollador

Short description:

Hola, soy Francois, un ingeniero de felicidad del desarrollador. Trabajo en refactorizar, arreglar pruebas y crear herramientas para hacer que los ingenieros sean más rápidos. Hoy hablaré sobre Preview JS y los desafíos de las compilaciones lentas y su impacto en la productividad.

Hola, mi nombre es Francois. Soy un ingeniero de felicidad del desarrollador de Sydney, Australia. Es posible que te estés preguntando, ¿qué es un ingeniero de felicidad del desarrollador? Lo que significa es que soy un ingeniero de software regular a quien le gusta trabajar en refactorizar cosas o arreglar pruebas inestables, o hacer que la integración continua sea más rápida, pero a veces también se trata de crear nuevas herramientas para hacer que otros ingenieros sean más rápidos. Una de estas herramientas se llama Preview JS, y voy a hablar de eso ahora. Es posible que estés familiarizado con este cómic de XKCD. Creo que fue lanzado hace bastante tiempo, pero aún es relevante hoy en día. Te daré unos segundos para que lo leas. Esto, creo, fue especialmente relevante en los días en que muchos programadores usaban C++ u otro lenguaje realmente lento, donde tenías que esperar cinco minutos, tal vez 10 minutos, tal vez incluso una hora para que tu código se volviera a compilar. No es tan relevante hoy en día para JavaScript, ¿o sí? En realidad, no es tan inusual en estos días trabajar en una base de código grande que use tal vez una versión antigua de Webpack o una versión mal configurada de Webpack, que tarda un par de minutos en ejecutar la compilación. Tal vez incluso peor, tal vez tengas que esperar 30 segundos cada vez que haces un cambio en el archivo, lo cual, si lo piensas, cuando sumas eso durante un día cada vez que quieres ver el impacto de un cambio de código que hiciste, eso es bastante tiempo que se pasa Y no solo es esperar, sino que también interrumpe tu flujo, así que generalmente vas a cambiar de contexto, vas a empezar a hacer otra cosa y luego vuelves y simplemente, has perdido la noción de lo que estabas tratando de hacer o lo que sea que tenías en mente simplemente no está allí. Y no es muy bueno para la productividad o para la felicidad en la ingeniería.

2. Manejo de elementos de menú no disponibles

Short description:

Tomemos el ejemplo de una aplicación de entrega de comida llamada Humbry. Los usuarios han dado retroalimentación de que se sorprenden cuando el menú no contiene los elementos esperados. Actualmente, si un elemento no está disponible, se elimina por completo del menú. Sin embargo, los diseñadores de la aplicación han recibido una solicitud de función para mostrar elementos no disponibles pero dejar claro que no están disponibles. La primera forma de implementar esto es ejecutando la aplicación localmente.

Entonces, tomemos este ejemplo, esta es una aplicación de entrega de comida que llamé Humbry y es realmente solo para el propósito de esta presentación. Aquí tenemos varios restaurantes y digamos que tengo antojo de crepes francesas, así que voy a decir crepes. Bien, hay un restaurante llamado Crêperie François y voy a ir allí y revisar. Bien. Hay algunas cosas realmente deliciosas, plátano caramelizado y chocolate. Eso suena bien. Naranja fresca y confitada. Bien. Eso suena bien. Bien. Eso también. Bien. Voy a pedir todo, tal vez dos de cada uno. Genial. Esto es más o menos lo que esperarías de una aplicación de entrega de comida. Y estamos en los primeros días de lanzamiento para los usuarios. Y la primera retroalimentación que recibimos es que a algunos usuarios les sorprende que a veces el menú no contenga los elementos que esperaban. Esto se debe a que a veces, si un elemento no está disponible, actualmente la API simplemente lo elimina del menú. Entonces, digamos que este restaurante se quedó sin pollo. Este primer elemento, pollo Kung Pao, en realidad estará completamente ausente. Lo cual sorprende a los usuarios, porque piensan, ¿este restaurante eliminó esto del menú para siempre? ¿Debería boicotear completamente este restaurante porque eliminaron mi elemento favorito? No, ese no es el caso. Simplemente no está disponible hoy. Y realmente esa es nuestra responsabilidad como diseñadores de esta aplicación, hacerlo claro. Entonces, en cambio, recibimos una solicitud de función de nuestro gerente de producto, que dice que ahora deberíamos mostrar los elementos de menú no disponibles, pero dejar claro que no están disponibles. Así que sabes cómo aquí tenemos este contador, en lugar de este contador, simplemente diremos, no disponible hoy, ¿verdad? Esto debería ser mucho menos confuso para los usuarios. Por supuesto, la primera forma en que podemos implementar esto es ejecutando la aplicación localmente. ¿De acuerdo? Así que vamos a ir a

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

Depuración Web Moderna
JSNation 2023JSNation 2023
29 min
Depuración Web Moderna
Top Content
Pocos desarrolladores disfrutan depurando, y la depuración puede ser compleja para las aplicaciones web modernas debido a los múltiples marcos, lenguajes y bibliotecas utilizados. Pero, las herramientas de desarrollo han avanzado mucho en facilitar el proceso. En esta charla, Jecelyn profundizará en el estado moderno de la depuración, las mejoras en DevTools y cómo puedes usarlas para depurar tus aplicaciones de manera confiable.
El Futuro de las Herramientas de Rendimiento
JSNation 2022JSNation 2022
21 min
El Futuro de las Herramientas de Rendimiento
Top Content
Nuestra comprensión del rendimiento y la experiencia del usuario ha evolucionado mucho a lo largo de los años. Las herramientas de desarrollo web necesitan evolucionar de manera similar para asegurarse de que sean centradas en el usuario, accionables y contextuales donde se refiere a las experiencias modernas. En esta charla, Addy te guiará a través de cómo Chrome y otros han estado pensando en este problema y qué actualizaciones han estado haciendo a las herramientas de rendimiento para reducir la fricción para construir grandes experiencias en la web.
Remix Flat Routes – Una Evolución en el Enrutamiento
Remix Conf Europe 2022Remix Conf Europe 2022
16 min
Remix Flat Routes – Una Evolución en el Enrutamiento
Top Content
Esta charla presenta la nueva convención Flat Routes que probablemente será la predeterminada en una futura versión de Remix. Simplifica la convención existente y también te brinda nuevas capacidades.
pnpm: un gestor de paquetes rápido y eficiente para JavaScript
DevOps.js Conf 2022DevOps.js Conf 2022
31 min
pnpm: un gestor de paquetes rápido y eficiente para JavaScript
Aprenderás sobre uno de los gestores de paquetes más populares para JavaScript y sus ventajas sobre npm y Yarn.Una breve historia de los gestores de paquetes de JavaScriptLa estructura aislada de node_modules creada por pnpmQué hace que pnpm sea tan rápidoQué hace que pnpm sea eficiente en el uso del espacio en discoSoporte para monoreposGestión de versiones de Node.js con pnpm
Cómo hacer un juego web tú solo
JS GameDev Summit 2023JS GameDev Summit 2023
27 min
Cómo hacer un juego web tú solo
Nunca ha sido tan fácil hacer tu propio juego web, pero sigue siendo extremadamente difícil. ¿Qué juego deberías hacer? ¿Qué motor deberías elegir? Vamos a discutir cómo responder a estos problemas y formas de aprovechar la plataforma única que es la web.
Despliegue Atómico para Hipsters de JavaScript
DevOps.js Conf 2024DevOps.js Conf 2024
25 min
Despliegue Atómico para Hipsters de JavaScript
Desplegar una aplicación no es un proceso fácil. Te encontrarás con muchos problemas y puntos de dolor que resolver para que funcione correctamente. Lo peor es: ahora que puedes desplegar tu aplicación en producción, ¿cómo no vas a poder desplegar también todas las ramas del proyecto para tener acceso a vistas previas en vivo? ¿Y poder hacer un revert rápido a pedido?Afortunadamente, el clásico conjunto de herramientas de DevOps tiene todo lo que necesitas para lograrlo sin comprometer tu salud mental. Al mezclar expertamente Git, herramientas de Unix y llamadas a API, y orquestar todo ello con JavaScript, dominarás el secreto de los despliegues atómicos seguros.No necesitarás depender de servicios comerciales: ¡conviértete en el maestro perfecto de las herramientas y netlifica tu aplicación desde casa!

Workshops on related topic

React, TypeScript y TDD
React Advanced Conference 2021React Advanced Conference 2021
174 min
React, TypeScript y TDD
Top Content
Featured WorkshopFree
Paul Everitt
Paul Everitt
ReactJS es extremadamente popular y, por lo tanto, ampliamente soportado. TypeScript está ganando popularidad y, por lo tanto, cada vez más soportado.

¿Los dos juntos? No tanto. Dado que ambos cambian rápidamente, es difícil encontrar materiales de aprendizaje precisos.

¿React+TypeScript, con los IDEs de JetBrains? Esa combinación de tres partes es el tema de esta serie. Mostraremos un poco sobre mucho. Es decir, los pasos clave para ser productivo, en el IDE, para proyectos de React utilizando TypeScript. En el camino, mostraremos el desarrollo guiado por pruebas y enfatizaremos consejos y trucos en el IDE.
Cómo crear experiencias de edición que tu equipo amará
React Advanced Conference 2021React Advanced Conference 2021
168 min
Cómo crear experiencias de edición que tu equipo amará
Workshop
Lauren Etheridge
Knut Melvær
2 authors
El contenido es una parte crucial de lo que construyes en la web. Las tecnologías web modernas aportan mucho a la experiencia del desarrollador en términos de construir sitios impulsados por contenido, pero ¿cómo podemos mejorar las cosas para los editores y creadores de contenido? En este masterclass aprenderás cómo usar Sanity.io para abordar la modelización de contenido estructurado, y cómo construir, iterar y configurar tu propio CMS para unificar los modelos de datos con experiencias de edición eficientes y agradables. Está dirigido a desarrolladores web que desean ofrecer mejores experiencias de contenido para sus equipos de contenido y clientes.