La magia de Svelte

Feb 6, 2021.

Cuando empecé a probar React sin conocer nada de reactividad mi primera impresión sobre el virtual DOM fue que aquello era una locura, siempre confío en esas primeras impresiones, tener una copia del DOM para modificarlo y luego actualizar el DOM real no me parecía una buena idea, todavia me sigue pareciendo innecesario e ineficiente.

No fue una impresión negativa, no es con mala intención, yo no soy nadie pero tampoco puedo dejar de pensar. En estos casos normalmente me averguenzo y asumo que estoy enquivocado y debe ser algo incomprensible para mi. Hasta que llegó Svelte y dijo: Virtual DOM is pure overhead y existe una alternativa mejor.

El virtual DOM es solamente una vía para lograr reactividad, de forma muy muy concisa es actualizar el DOM cuando ocurren cambios en su estado, y era la única vía que conocíamos hasta el momento de aparecer Svelte, y la que han implementado todos los framework javascript frontend: Vue, Preact, Angular, Ember, Ractive, Preact, Riot o Mithril. Svelte vino y lo hizo como nos lo hubieramos imaginado la mayoría de los simples mortales, cuando ocurre un cambio de estado simplemente modifican lo que ha cambiado en el DOM real utilizando js puro y duro.

La maravilla de Svelte

Además de no enredarse con el virtual DOM para hacer lo evidente:

  • Svelte no es un framework, es un compilador y lo que escribas durante el desarrollo Svelte lo convierte a vanilla js después del build. Entonces no tendrás nada de svelte en producción, solo javascript puro y duro, más rápido y ligero que eso no vas a lograrlo con framework alguno. Aunque en velocidad están compitiendo con Inferno...por el momento.

  • Total interoperabilidad. Puedes usar cualquier librería junto con Svelte porque lo que usas en el cliente es javascript, no tienes que ser compatible ni tener una libreria para cada framework, solo instalar ej:npm install cool-calendar-widget y listo.

  • Con el enfoque de Svelte, que no es un framework, se pueden agregar tantas características sin costo alguno para las personas que no las usan, porque el compilador no genera el código que implementa esas características si no las utilizas. En el resto de los framework si agregan nuevas caracteristicas las llevatendrás en el browser aunque no las utilice.

  • Svelte puede facilitarte el desarrollo tanto como quiera porque en definitiva todo lo que escribas se compilará a javascript.

Hay mucho por venir. Svelte es muy nuevo, solo es el comienzo y está cambiando todo el tiempo. Mantente actualizado porque el "Flaco" será el próximo a derrotar.

Frameworks without the framework: why didn't we think of this sooner? Svelte 3: Rethinking reactivity

Nos vemos en la próxima aventura y si te gusta no seas tacaño y comparte.

Siguiente

10 Tips para lanzar tu BLOG como un DEV

Anterior

¿Y ahora en qué desarrollo mi Blog?