Implementación de Horarios y Cronogramas

Rate this content
Bookmark

Planby es un componente basado en React para una rápida implementación de Horarios, Cronogramas, Guía de Programas Electrónicos, Eventos de Música/Deporte, Planificador de Calendario y muchas más ideas. Utiliza una vista virtual personalizada que te permite operar con un gran número de datos. El componente tiene una API sencilla que puedes integrar fácilmente con otras bibliotecas de interfaz de usuario de terceros. El tema del componente se personaliza según las necesidades del diseño de la aplicación.

This talk has been presented at React Advanced 2023, check out the latest edition of this React Conference.

FAQ

PlanBy es un componente basado en React que permite implementar líneas de tiempo de manera rápida y sencilla. Está desarrollado con React y TypeScript y utiliza una vista virtualizada para manejar grandes cantidades de datos, optimizando el rendimiento al renderizar solo los elementos visibles para el usuario.

PlanBy mejora el rendimiento al utilizar una línea de tiempo virtualizada que solo renderiza los elementos visibles para el usuario y realiza todos los cálculos necesarios en segundo plano. Esto evita la sobrecarga del navegador y acelera la carga de los datos.

PlanBy resuelve problemas de rendimiento en la implementación de líneas de tiempo, especialmente en casos donde hay una gran cantidad de datos. Evita ralentizaciones y fallos del navegador al no incluir todos los elementos en la estructura HTML de una sola vez.

PlanBy es adecuado para una amplia gama de aplicaciones que necesiten implementar líneas de tiempo, como programadores, conferencias, eventos musicales, guías de TV, planificadores de calendario, entre otros.

PlanBy ofrece características como una barra lateral, una línea de tiempo, un diseño con actualización en vivo de programas y la capacidad de ocultar elementos no deseados. También permite la personalización a través de su API sencilla y componentes de estilos.

PlanBy se instala fácilmente usando yarn o npm. La configuración es minimalista, requiriendo solo la importación de unos pocos componentes, un hook y dos wrappers. Esto permite a los usuarios crear e implementar líneas de tiempo de manera rápida y eficiente.

Karol Kozer es un ingeniero de software senior, creador de PlanBy y de un proyecto OpenSource. Se especializa en la implementación de líneas de tiempo y en soluciones de optimización de rendimiento.

Karol Kozer
Karol Kozer
6 min
23 Oct, 2023

Comments

Sign in or register to post your comment.
Video Summary and Transcription
La charla de hoy se centra en la implementación de horarios y cronogramas utilizando el componente PlanBy. PlanBy es una herramienta basada en React que ofrece una interfaz sencilla y características como barra lateral, cronograma, diseño y actualización en vivo del programa. Utiliza una vista virtualizada personalizada para manejar grandes cantidades de datos de manera eficiente. El componente permite una fácil personalización y se puede utilizar para construir programadores, agendas de conferencias, guías de TV y más. La instalación es sencilla, requiere solo unos pocos componentes, un gancho y dos envoltorios.

1. Introducción a las Líneas de Tiempo y al Componente PlanBy

Short description:

Hoy voy a hablar sobre cómo implementar horarios y líneas de tiempo. Las líneas de tiempo son herramientas simples que muestran el tiempo, el ciber y el contenido. Los usuarios pueden ver eventos futuros y pasados horizontal y verticalmente. La perspectiva del usuario se centra en el tiempo, el ciber y el contenido. Sin optimización, tener muchos elementos en el sitio web puede causar problemas de rendimiento y fallos. Posicionar programas en el diseño también puede ser problemático. Las buenas y malas soluciones dependen de los objetivos del proyecto y la interacción del usuario. El componente PlanBy es una herramienta basada en React para implementar líneas de tiempo de manera rápida y sencilla.

Hola a todos. Hoy voy a hablar sobre cómo implementar horarios y líneas de tiempo. Estoy seguro de que cada uno de nosotros ha enfrentado una serie de problemas con las líneas de tiempo. Mi nombre es Karol Kozer. Soy ingeniero de software senior y soy el creador de PlanBy y un proyecto OpenSource.

Permítanme decir unas palabras sobre las líneas de tiempo. La línea de tiempo es una herramienta realmente simple que muestra el tiempo, el ciber y el contenido. En la parte superior, tenemos una línea de tiempo con el tiempo. A la izquierda hay una barra lateral que enumera los proveedores. En el medio, hay un diseño con eventos posicionados en una línea de tiempo. Básicamente, los usuarios tienen la posibilidad de ver todos los eventos futuros y pasados para todos los proveedores dados, tanto horizontal como verticalmente.

Veamos qué problemas tenemos con las líneas de tiempo. Concentrémonos en cómo se ve desde la perspectiva del usuario. El usuario solo puede ver el tiempo, el ciber y el contenido. Básicamente, el usuario puede moverse por el diseño, tanto horizontal como verticalmente para ver eventos futuros y pasados. También me gustaría mencionar que a nuestro usuario no le importa sobre la implementación técnica y solución en nuestra aplicación.

Permítanme arrojar algo de luz sobre cómo funciona bajo el capó. Sin ninguna optimización y soluciones de rendimiento, podemos tener, digamos, 5,000 elementos en el sitio web. Lo más importante en este tipo de característica es el rendimiento versus los grandes datos en el sitio web. Básicamente, mantener todos los elementos sin ninguna optimización y soluciones de rendimiento en la página puede llevar a terribles ralentizaciones de la aplicación, que eventualmente causaron el fallo del navegador. También la posición de todos los programas en el diseño parece simple, pero a veces también podría ser problemático.

Concentrémonos en la siguiente pregunta. ¿Existen buenas y malas soluciones? Diría que este es un tema realmente complejo y solo depende de lo que te gustaría lograr o cuál es la solución correcta para tu proyecto. También, tienes que tener en cuenta cómo interactuar rápidamente con el usuario. Tienes que pensar en características como filtros, recordatorios, modal y muchos, muchos más. Finalmente, me gustaría presentarles el componente plan by. La definición de plan by es bastante sencilla. Plan by es un componente basado en React que te permite implementar tu propia línea de tiempo de manera rápida y sencilla. Esa es toda la definición, nada loco. Plan by se desarrolla con React y TypeScript con una cantidad mínima de recursos.

2. Características e Instalación del Componente PlanBy

Short description:

PlanBy utiliza una vista virtualizada personalizada para manejar grandes cantidades de datos y posicionar elementos en el horario. Solo renderiza los elementos visibles, lo que lo hace más rápido y eficiente. El componente tiene una interfaz sencilla con características como barra lateral, línea de tiempo, diseño y actualización en vivo del programa. Puedes personalizar el diseño y construir fácilmente programadores, agendas de conferencias, guías de TV y más. La instalación es sencilla, solo requiere unos pocos componentes, un hook y dos wrappers.

PlanBy utiliza una vista virtualizada personalizada, o puedes llamarla línea de tiempo virtualizada, que te permite operar con una gran cantidad de data y posicionar todos los elementos en tu horario de forma predeterminada. Y esto es realmente, realmente genial.

A continuación, me gustaría centrarme en cómo funciona PlanBy. Básicamente, PlanBy solo renderiza los elementos que son visibles para el usuario y realiza todos los cálculos en segundo plano. Cuando el usuario se desplaza hacia abajo o hacia la derecha, PlanBy está actualizando la vista con solo los elementos visibles para el usuario. Todos los elementos fuera del diseño no están incluidos en la estructura HTML, lo que hace que el componente PlanBy sea mucho más rápido y eficiente.

PlanBy tiene una interfaz sencilla e incluye todas las características necesarias como barra lateral, línea de tiempo, diseño y actualización en vivo del programa. Además, hay una característica opcional que permite ocultar cualquier elemento que no quieras incluir en el diseño. Básicamente, el componente tiene una API realmente sencilla que te permite implementar tus propios elementos junto con tus preferencias. Puedes usar los componentes de estilos de PlanBy para desarrollar características principales, ya sabes, o hacer estilos personalizados en línea con el design elegido.

Veamos qué podemos construir con PlanBy. Usando PlanBy puedes construir lo que quieras, programadores, conferencias, eventos musicales, guías de TV, planificadores de calendario y muchas, muchas más ideas. La instalación del componente es realmente fácil. Solo necesitas instalar el paquete usando yarn o npm. La configuración es muy sencilla y minimalista. La configuración es muy sencilla y minimalista. Me gusta mucho eso. Todo lo que necesitas hacer es importar unos pocos componentes, un hook y dos wrappers. Y eso es todo. Mantengamos la configuración. Esto es realmente, realmente sencillo, y puedes crear hermosos horarios como este en unos pocos minutos. Muchas gracias por tu tiempo y nos vemos en la masterclass de React Advanced en Londres. Adiós.

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

Un Marco para Gestionar la Deuda Técnica
TechLead Conference 2023TechLead Conference 2023
35 min
Un Marco para Gestionar la Deuda Técnica
Top Content
Today's Talk discusses the importance of managing technical debt through refactoring practices, prioritization, and planning. Successful refactoring requires establishing guidelines, maintaining an inventory, and implementing a process. Celebrating success and ensuring resilience are key to building a strong refactoring culture. Visibility, support, and transparent communication are crucial for addressing technical debt effectively. The team's responsibilities, operating style, and availability should be transparent to product managers.
Depuración de JS
React Summit 2023React Summit 2023
24 min
Depuración de JS
Top Content
Debugging JavaScript is a crucial skill that is often overlooked in the industry. It is important to understand the problem, reproduce the issue, and identify the root cause. Having a variety of debugging tools and techniques, such as console methods and graphical debuggers, is beneficial. Replay is a time-traveling debugger for JavaScript that allows users to record and inspect bugs. It works with Redux, plain React, and even minified code with the help of source maps.
Construyendo un Asistente AI Activado por Voz con Javascript
JSNation 2023JSNation 2023
21 min
Construyendo un Asistente AI Activado por Voz con Javascript
Top Content
This Talk discusses building a voice-activated AI assistant using web APIs and JavaScript. It covers using the Web Speech API for speech recognition and the speech synthesis API for text to speech. The speaker demonstrates how to communicate with the Open AI API and handle the response. The Talk also explores enabling speech recognition and addressing the user. The speaker concludes by mentioning the possibility of creating a product out of the project and using Tauri for native desktop-like experiences.
Una Guía Práctica para Migrar a Componentes de Servidor
React Advanced 2023React Advanced 2023
28 min
Una Guía Práctica para Migrar a Componentes de Servidor
Top Content
React query version five is live and we'll be discussing the migration process to server components using Next.js and React Query. The process involves planning, preparing, and setting up server components, migrating pages, adding layouts, and moving components to the server. We'll also explore the benefits of server components such as reducing JavaScript shipping, enabling powerful caching, and leveraging the features of the app router. Additionally, we'll cover topics like handling authentication, rendering in server components, and the impact on server load and costs.
Solucionando Problemas de Rendimiento en React
React Advanced 2023React Advanced 2023
22 min
Solucionando Problemas de Rendimiento en React
Top Content
This Talk discusses various strategies to improve React performance, including lazy loading iframes, analyzing and optimizing bundles, fixing barrel exports and tree shaking, removing dead code, and caching expensive computations. The speaker shares their experience in identifying and addressing performance issues in a real-world application. They also highlight the importance of regularly auditing webpack and bundle analyzers, using tools like Knip to find unused code, and contributing improvements to open source libraries.
De Monolito a Micro-Frontends
React Advanced 2022React Advanced 2022
22 min
De Monolito a Micro-Frontends
Top Content
Microfrontends are considered as a solution to the problems of exponential growth, code duplication, and unclear ownership in older applications. Transitioning from a monolith to microfrontends involves decoupling the system and exploring options like a modular monolith. Microfrontends enable independent deployments and runtime composition, but there is a discussion about the alternative of keeping an integrated application composed at runtime. Choosing a composition model and a router are crucial decisions in the technical plan. The Strangler pattern and the reverse Strangler pattern are used to gradually replace parts of the monolith with the new application.

Workshops on related topic

Masterclass de Depuración de Rendimiento de React
React Summit 2023React Summit 2023
170 min
Masterclass de Depuración de Rendimiento de React
Top Content
Featured WorkshopFree
Ivan Akulov
Ivan Akulov
Los primeros intentos de Ivan en la depuración de rendimiento fueron caóticos. Vería una interacción lenta, intentaría una optimización aleatoria, vería que no ayudaba, y seguiría intentando otras optimizaciones hasta que encontraba la correcta (o se rendía).
En aquel entonces, Ivan no sabía cómo usar bien las herramientas de rendimiento. Haría una grabación en Chrome DevTools o React Profiler, la examinaría, intentaría hacer clic en cosas aleatorias, y luego la cerraría frustrado unos minutos después. Ahora, Ivan sabe exactamente dónde y qué buscar. Y en esta masterclass, Ivan te enseñará eso también.
Así es como va a funcionar. Tomaremos una aplicación lenta → la depuraremos (usando herramientas como Chrome DevTools, React Profiler, y why-did-you-render) → identificaremos el cuello de botella → y luego repetiremos, varias veces más. No hablaremos de las soluciones (en el 90% de los casos, es simplemente el viejo y regular useMemo() o memo()). Pero hablaremos de todo lo que viene antes - y aprenderemos a analizar cualquier problema de rendimiento de React, paso a paso.
(Nota: Esta masterclass es más adecuada para ingenieros que ya están familiarizados con cómo funcionan useMemo() y memo() - pero quieren mejorar en el uso de las herramientas de rendimiento alrededor de React. Además, estaremos cubriendo el rendimiento de la interacción, no la velocidad de carga, por lo que no escucharás una palabra sobre Lighthouse 🤐)
Construye Aplicaciones Modernas Utilizando GraphQL y Javascript
Node Congress 2024Node Congress 2024
152 min
Construye Aplicaciones Modernas Utilizando GraphQL y Javascript
Featured Workshop
Emanuel Scirlet
Miguel Henriques
2 authors
Ven y aprende cómo puedes potenciar tus aplicaciones modernas y seguras utilizando GraphQL y Javascript. En este masterclass construiremos una API de GraphQL y demostraremos los beneficios del lenguaje de consulta para APIs y los casos de uso para los que es adecuado. Se requiere conocimiento básico de Javascript.
Construyendo una Aplicación de Shopify con React & Node
React Summit Remote Edition 2021React Summit Remote Edition 2021
87 min
Construyendo una Aplicación de Shopify con React & Node
Top Content
WorkshopFree
Jennifer Gray
Hanna Chen
2 authors
Los comerciantes de Shopify tienen un conjunto diverso de necesidades, y los desarrolladores tienen una oportunidad única para satisfacer esas necesidades construyendo aplicaciones. Construir una aplicación puede ser un trabajo duro, pero Shopify ha creado un conjunto de herramientas y recursos para ayudarte a construir una experiencia de aplicación sin problemas lo más rápido posible. Obtén experiencia práctica construyendo una aplicación integrada de Shopify utilizando el CLI de la aplicación Shopify, Polaris y Shopify App Bridge.Te mostraremos cómo crear una aplicación que acceda a la información de una tienda de desarrollo y pueda ejecutarse en tu entorno local.
Construye una sala de chat con Appwrite y React
JSNation 2022JSNation 2022
41 min
Construye una sala de chat con Appwrite y React
WorkshopFree
Wess Cope
Wess Cope
Las API/Backends son difíciles y necesitamos websockets. Utilizarás VS Code como tu editor, Parcel.js, Chakra-ui, React, React Icons y Appwrite. Al final de este masterclass, tendrás los conocimientos para construir una aplicación en tiempo real utilizando Appwrite y sin necesidad de desarrollar una API. ¡Sigue los pasos y tendrás una increíble aplicación de chat para presumir!
Problemas difíciles de GraphQL en Shopify
GraphQL Galaxy 2021GraphQL Galaxy 2021
164 min
Problemas difíciles de GraphQL en Shopify
WorkshopFree
Rebecca Friedman
Jonathan Baker
Alex Ackerman
Théo Ben Hassen
 Greg MacWilliam
5 authors
En Shopify a gran escala, resolvemos algunos problemas bastante difíciles. En este masterclass, cinco oradores diferentes describirán algunos de los desafíos que hemos enfrentado y cómo los hemos superado.

Tabla de contenidos:
1 - El infame problema "N+1": Jonathan Baker - Vamos a hablar sobre qué es, por qué es un problema y cómo Shopify lo maneja a gran escala en varios APIs de GraphQL.
2 - Contextualizando APIs de GraphQL: Alex Ackerman - Cómo y por qué decidimos usar directivas. Compartiré qué son las directivas, qué directivas están disponibles de forma predeterminada y cómo crear directivas personalizadas.
3 - Consultas de GraphQL más rápidas para clientes móviles: Theo Ben Hassen - A medida que tu aplicación móvil crece, también lo harán tus consultas de GraphQL. En esta charla, repasaré diversas estrategias para hacer que tus consultas sean más rápidas y efectivas.
4 - Construyendo el producto del futuro hoy: Greg MacWilliam - Cómo Shopify adopta las características futuras en el código actual.
5 - Gestión efectiva de APIs grandes: Rebecca Friedman - Tenemos miles de desarrolladores en Shopify. Veamos cómo estamos asegurando la calidad y consistencia de nuestras APIs de GraphQL con tantos colaboradores.
De 0 a Autenticación en una Hora para tu Aplicación JavaScript
JSNation 2023JSNation 2023
57 min
De 0 a Autenticación en una Hora para tu Aplicación JavaScript
WorkshopFree
Asaf Shen
Asaf Shen
La autenticación sin contraseña puede parecer compleja, pero es fácil de agregar a cualquier aplicación utilizando la herramienta adecuada.
Mejoraremos una aplicación JS de pila completa (backend Node.js + frontend Vanilla JS) para autenticar usuarios con contraseñas de un solo uso (correo electrónico) y OAuth, incluyendo:
- Autenticación de usuario: Gestión de interacciones de usuario, devolución de JWT de sesión / actualización- Gestión y validación de sesiones: Almacenamiento seguro de la sesión para solicitudes posteriores del cliente, validación / actualización de sesiones
Al final del masterclass, también abordaremos otro enfoque para la autenticación de código utilizando Flujos de Descope en el frontend (flujos de arrastrar y soltar), manteniendo solo la validación de sesión en el backend. Con esto, también mostraremos lo fácil que es habilitar la biometría y otros métodos de autenticación sin contraseña.