Foldkit, un framework de TypeScript para frontend basado en Effect y la arquitectura Elm

Fuentes: Foldkit: A TypeScript Frontend Framework Built on Effect and Elm Architecture

Foldkit es un framework de frontend escrito en TypeScript que adopta la arquitectura de Elm y se construye sobre Effect, una biblioteca para modelar efectos y errores en programas de TypeScript. Su objetivo principal es ofrecer una arquitectura completa, a diferencia de frameworks como React, Vue, Svelte o Solid, que se centran en el renderizado y dejan la organización del código al desarrollador.

El modelo de Foldkit se basa en tres pilares: un estado inmutable único (el Model) que representa toda la aplicación, una función update que procesa los Messages y devuelve Commands descriptivos en lugar de ejecutar efectos de forma imperativa, y una vista que se deriva del estado. Los efectos secundarios se modelan como valores que nunca fallan y el runtime decide cuándo y cómo ejecutarlos.

El framework incluye de serie sistema de routing con tipos, componentes accesibles (dialog, menu, tabs, listbox, disclosure), submodelos para componer interfaces, suscripciones, gestión de recursos del navegador como WebSockets o AudioContext, validación de formularios y herramientas de desarrollo con viaje en el tiempo. También expone los datos del modelo a agentes de inteligencia artificial a través del Model Context Protocol (MCP).

En las pruebas ofrece dos primitivas: Story, que verifica la máquina de estado, y Scene, que interactúa con la vista renderizada mediante localizadores accesibles sin necesidad de mocks ni DOM real. Está pensado para desarrolladores que ya usan Effect en el backend y para equipos que priorizan la corrección, la previsibilidad y una arquitectura común. No es adecuado para migraciones incrementales desde React ni para proyectos que dependen del ecosistema de componentes de React.