EN

Mario Rocafull / Albin

Programador freelance en Valencia

9 agosto 2023 · Ideas

Lo más atractivo de preact para mi no es la velocidad

No me atraía tanto la velocidad como su forma de uso. Poder guardar el fichero y que el cambio se aplique automáticamente, sin transpilaciones ni dependencias.

Lo más atractivo de preact para mi no es la velocidad

Cuando conocí Preact ya había utilizado React en varios proyectos. Son proyectos realizados en PHP + HTML CSS JS pero con algunas páginas dentro de las cuales me venía muy bien el conceto de "reactividad".

En ese momento, aunque sabía que el State lift no es una buena praxis, que existe el Context y gestores de estado como Redux, en la práctica para mi funciona perfectamente usar el estado y no fue signals y su propuesta de velocidad lo que más me llamó la atención.

Soy bastante fanático del Control+S así que para poder utilizar React sin perder la comodidad de hacer esa combinación de teclas y que los cambios se apliquen inmediatamente, si necesidad de transpilar, sin necesidad de tener instaladas un montón de cosas, ... lo que hago es cargar tanto la librería de React como la Babel dentro de la propia página. Ralentiza un poco la carga pero está dentro de lo razonable, parpadea un poco pero no deja de ser usable y aporta mucho a cambio.

Dicho esto, lo que más me gustó es que no necesita transpilar, tiene un sistema basado en los Templates de Javascript que permite introducir la reactividad sin necesidad de más librerías ni procesos.

Probando Preact como un componente web

Primero lo puse a prueba en un apartado sin mucha complejidad, simplemente unos campos que mostrar u ocultar en base a otros campos.

Proyecto didáctico con Preact

Y después me lancé directamente a un mini proyecto entero, con dos pantallas, diálogos y sincronización con el servidor en tiempo real.

Se trata de una aplicación muy sencilla para la gestión de stock. Por ejemplo para controlar la bebida y comida en la despensa de un club de amigos.. Y lo publiqué como Open Source en GitHub: Stocky.