Es hora de desfragmentar la web

Rate this content
Bookmark
Slides

A lo largo de los últimos años, el número de frameworks web disponibles para nosotros ha explotado. En cierto modo, la amplitud de elección es una clara victoria para nuestro ecosistema. Sin embargo, para muchos de nosotros, también viene con severas desventajas: - ¿Alguna vez has usado un componente de código abierto popular construido para el framework A, y deseaste que existiera en el framework B? ¿Qué tal una biblioteca de sistema de diseño? - ¿Tu empresa tiene frontends construidos en diferentes frameworks, y tus equipos web están frustrados por las horas perdidas necesarias para lograr un sistema de diseño consistente? - ¿Tu equipo construye SDKs para frameworks web, y debe reescribirlos manualmente para cada framework? La solución a estos 3 problemas existe hoy. Para entenderla completamente, primero debemos examinar los frameworks web de hoy, repensar cómo debería ser un componente, e introducir una nueva Representación Intermedia de nuestros componentes. Esto es lo que hemos hecho en Builder.io cuando creamos Mitosis, y estamos emocionados de compartirlo con todos.

FAQ

Mitosis es un proyecto de código abierto que permite escribir un componente de software una vez y ejecutarlo en diferentes frameworks web. Facilita la creación de UI components que pueden ser utilizados en numerosos frameworks sin necesidad de reescribir el código para cada uno.

Mitosis simplifica el proceso tedioso de reescribir los mismos componentes para diferentes frameworks al permitir que los desarrolladores escriban el componente una sola vez. Luego, Mitosis genera automáticamente el código necesario para que el componente funcione en una variedad de frameworks web.

Los Web Components son una suite de diferentes tecnologías que permiten crear componentes web reutilizables en diversos frameworks. Sin embargo, presentan limitaciones en la renderización en el servidor, ya que están construidos principalmente para operar en navegadores.

Un CMS visual headless es un sistema de gestión de contenido que permite a los usuarios construir páginas web a través de una interfaz de arrastrar y soltar, sin necesidad de escribir código. Está diseñado para facilitar a los no desarrolladores la creación de sitios web, manteniendo separadas las capas de gestión de contenido y presentación.

Mitosis ofrece la ventaja de reducir significativamente el tiempo y los recursos necesarios para desarrollar y mantener componentes en múltiples frameworks. Esto se traduce en una eficiencia mejorada, reducción de deuda técnica y facilita la actualización y optimización del código.

Sísifo enfrentó el reto de tener que reescribir manualmente los mismos componentes para diferentes frameworks, lo que era un proceso repetitivo y tedioso. Cada vez que surgía un nuevo framework o una actualización, tenía que modificar múltiples versiones del mismo SDK, incrementando la carga de trabajo y la posibilidad de errores.

Mitosis permite a las grandes empresas que utilizan diferentes frameworks web mantener un sistema de diseño consistente y actualizado fácilmente, ya que permite generar automáticamente los componentes necesarios para cada framework a partir de una única base de código.

Sami Jaber
Sami Jaber
34 min
02 Dec, 2022

Comments

Sign in or register to post your comment.

Video Summary and Transcription

La charla de hoy presenta Mitosis, un proyecto de código abierto que resuelve el problema de construir componentes agnósticos de framework. Soporta la sintaxis JSX y Svelte y genera código legible por humanos para varios frameworks web. Mitosis ya está siendo utilizado por clientes empresariales y puede integrarse fácilmente con React, Svelte y otros frameworks. Ahorra tiempo, permite un fácil manejo de las migraciones de versiones de framework y permite pruebas unitarias e integración eficientes.

Available in English: It's Time to De-Fragment the Web

1. Introducción a los Componentes Agnósticos de Framework

Short description:

Hoy, discutiré la idea de los componentes agnósticos de framework. Construir estos componentes puede ser tedioso, y las soluciones actuales como escribirlos a mano o usar componentes web tienen compensaciones. Es por eso que hemos desarrollado Mitosis, un proyecto de código abierto que resuelve este problema. Te mostraré por qué construir estos componentes es tedioso, por qué Mitosis es una buena solución y cómo funciona mejor de lo esperado.

Bueno, ustedes tienen mucha energía para un día completo de charlas. Gracias por quedarse para la mía. Gracias a los organizadores del Día de React en Berlín por elegir mi charla y a todos los demás que están en la sala hoy. Estoy realmente emocionado por lo que quiero hablar, así que vamos a sumergirnos.

Lo que voy a discutir hoy es la idea de los componentes agnósticos de framework. Para aquellos que no están familiarizados con esa idea, es cuando escribes un componente que quieres renderizar en diferentes frameworks web. Así que una aplicación de React, una aplicación Quick, una aplicación de Svelte, una aplicación de Vue. Hay muchos escenarios en los que quieres construir un componente de este tipo debido a una necesidad de negocio o cualquier otro tipo de necesidad. Hacer eso hoy en día es realmente tedioso. Efectivamente tienes una de dos opciones. Puedes hacerlo a mano, escribir ese mismo componente una y otra vez a mano cuatro, cinco, seis veces, lo cual obviamente no es genial, o puedes usar web components, que es un estándar que se ha desarrollado sobre los navegadores web. Ambas opciones tienen compensaciones con las que en Builder no estábamos contentos. Es por eso que hemos llegado a una solución, que es Mitosis, un proyecto de código abierto que ha estado disponible durante un par de años ahora, que resuelve este problema para nosotros y esperamos que para otras personas. Así que voy a intentar convencerte de que construir esos componentes es tedioso en este momento, y voy a intentar convencerte de que Mitosis es una buena solución para eso. Y hacia el final, voy a intentar realmente, realmente convencerte de que Mitosis funciona, porque es casi demasiado loco para funcionar, pero funciona mejor de lo que esperarías.

2. Introducción a Sami Jaber y Buildr

Short description:

Soy Sami Jaber, ingeniero de software en Buildr y el principal contribuyente y mantenedor de los SDKs de Buildr.io. Buildr es un CMS visual sin cabeza que permite a los no desarrolladores web construir páginas web arrastrando y soltando componentes. También construyo los SDKs usando Mitosis. Anteriormente, trabajé en Splash como desarrollador web.

Ahora, antes de entrar en todo eso, solo quiero presentarme brevemente. Mi nombre es Sami Jaber, soy ingeniero de software en Buildr. Soy el principal contribuyente y mantenedor de los SDKs de Buildr.io. Así que Buildr es un CMS visual headless, lo que significa que puedes arrastrar y soltar tus propios componentes de una manera que permite a los no desarrolladores web construir páginas web, y lo que alimenta todo eso es los SDKs, que necesitan ser diferentes para cada framework web. Y así soy el contribuyente a esos SDKs y los construyo usando Mitosis, del cual también soy el principal contribuyente. Antes de mi tiempo en Buildr, fui uno de los desarrolladores web en Splash.

QnA

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

Lo Bueno, Lo Malo, y Los Componentes Web
JSNation 2023JSNation 2023
29 min
Lo Bueno, Lo Malo, y Los Componentes Web
Top Content
No ha habido escasez de críticas justas e injustas hacia los Componentes Web de una amplia gama de personas que construyen para la web, incluyendo pero no limitado a los autores de Frameworks de JavaScript en supuesta competencia con la plataforma. En esta charla te mostraré cómo navegar y simplificar el multifacético paisaje de los componentes web, satisfaciendo las críticas comunes y mostrando cómo puedes Usar la Plataforma de manera más efectiva hoy en día.
Componentes Web, Lit y Santa 🎅
JSNation Live 2021JSNation Live 2021
28 min
Componentes Web, Lit y Santa 🎅
Comienza con los Componentes Web, que te permiten definir nuevos elementos HTML que funcionan en todas partes donde funciona el HTML regular. Esta charla se centrará en Lit, una suite de Google que te ayuda a crear Componentes Web con características que esperarías, como la vinculación de datos y definiciones declarativas. También se hablará de cómo los hemos utilizado para construir uno de los sitios más alegres de la web, el Rastreador de Santa de Google 🎅
Autoría de HTML en un Mundo JavaScript
React Summit US 2023React Summit US 2023
21 min
Autoría de HTML en un Mundo JavaScript
En esta charla, Tony muestra cómo un enfoque de autoría y HTML semántico primero para el trabajo de plantillas JSX conduce a componentes de interfaz de usuario más legibles, mantenibles y accesibles. Demuestra cómo pensar en implementar un prototipo de interfaz de usuario de una manera semántica, autoría de HTML antes de los visuales. Muestra cómo el marcado accesible mejora el rendimiento, reduce el tamaño del DOM, minimiza el tiempo dedicado a CSS y reduce la carga cognitiva no solo para los desarrolladores, sino también para todos nuestros usuarios, sin importar cómo consuman nuestros sitios y aplicaciones.
Aplicaciones Web Inmutables
JSNation 2022JSNation 2022
20 min
Aplicaciones Web Inmutables
Resolver las dependencias cuando están todas agrupadas es fácil. Resolver las dependencias cuando se cargan a través de etiquetas de script es mucho más desafiante. El objetivo de esta charla es explicar cómo Meltwater maneja la resolución de dependencias al construir aplicaciones nativas basadas en componentes web que dependen de paquetes publicados por muchos equipos diferentes.
¡Los componentes web son increíbles!
JSNation 2022JSNation 2022
10 min
¡Los componentes web son increíbles!
¿Alguna vez te has preguntado cómo al colocar "video" o "audio" en tu HTML obtienes un reproductor multimedia con controles incluidos? ¿O cómo, dependiendo del atributo de tipo, "input" puede ser un botón, un lugar para ingresar texto, seleccionar una fecha o archivo, selector de color y más? ¿Qué tal si pudieras crear tu propio elemento? La respuesta: ¡Componentes web! 🤯 En esta charla, veremos qué son los componentes web, cómo crear uno e incluirlo en una aplicación.
Hablemos de los Componentes Web
React Advanced Conference 2021React Advanced Conference 2021
32 min
Hablemos de los Componentes Web
Antes del surgimiento de algunos de los frameworks más populares (léase: React y Vue), existían los componentes web. Los Componentes Web toman una de las mejores partes de estos frameworks (componentes reutilizables) y los combinan con las mejores partes del desarrollo web (soporte nativo del navegador y no necesidad de configurar un proceso de compilación). Y por si eso no fuera suficiente, los componentes web te permiten usar las mismas funciones en cualquier framework.Si en este punto te estás preguntando "Si los componentes web son tan increíbles, ¿por qué no he oído hablar de ellos antes?", entonces estás de suerte porque eso es exactamente de lo que trata esta charla.En esta presentación, echaremos un vistazo a qué son los componentes web, por qué son geniales, por qué pueden ser un dolor de cabeza y cómo podemos utilizar los componentes web tanto como una herramienta independiente como junto con los frameworks.

Workshops on related topic

Despliega una aplicación de componentes web y configura un flujo de integración continua
DevOps.js Conf 2022DevOps.js Conf 2022
111 min
Despliega una aplicación de componentes web y configura un flujo de integración continua
Workshop
Philippe Ozil
Philippe Ozil
Únete a nosotros en un masterclass en el que desplegarás una aplicación Node.js simple construida con componentes web y configurarás un flujo de integración continua (CI). Aprenderás sobre el poder del Lightning Web Runtime (LWR) y las GitHub Actions.
Componentes Web en Acción
JSNation Live 2021JSNation Live 2021
184 min
Componentes Web en Acción
Workshop
Joren Broekema
Alex Korzhikov
2 authors
El masterclass amplía el conocimiento del lenguaje de programación JavaScript, revisa los patrones generales de diseño de software. Se centra en los estándares y tecnologías de los Componentes Web, como Lit-HTML y Lit-Element. También practicamos la escritura de Componentes Web tanto con JavaScript nativo como con Lit-Element. Al final, revisamos las herramientas clave para desarrollar una aplicación: open-wc.