wandres.dev
El origen del flujo unidireccional

Domina The Elm Architecture
hasta nivel dios

Elm y TEA: el lenguaje funcional puro sin errores en runtime, Model/update/view, los efectos como datos, y el legado que sembró en Redux, TCA y MVI.

La ruta

22 niveles, de novato a dios

Cada nivel construye sobre el anterior. Sin saltos, sin huecos.

Ontología Nivel 0 · El mapa de Elm

La visión aérea: el lenguaje funcional puro, la arquitectura TEA, los efectos como datos, y el legado que sembró en Redux, TCA y MVI.

Mapa mentalElm

The Elm Architecture Nivel 1 · Model, update, view

TEA: el patrón que inspiró a todos; Model, Msg, update y view; la fuente de la familia unidireccional.

ElmTEAupdate

Elm: efectos Nivel 2 · commands y subscriptions

Cómo Elm maneja lo impuro sin romper la pureza: Cmd, Sub, y el runtime que ejecuta los efectos por ti.

CmdSubruntime

El lenguaje: tipos Nivel 3 · estáticos e inferidos

El sistema de tipos de Elm: inferencia total, sin null, sin any; por qué el compilador puede garantizar tanto.

tiposinferenciasin null

Custom types Nivel 4 · uniones y pattern matching

Los custom types (uniones etiquetadas) y `case`: modelar el dominio para que los estados imposibles no compilen.

union typescasemodelar

Maybe y Result Nivel 5 · sin excepciones

La ausencia y el fallo como valores: `Maybe` y `Result`, y por qué Elm no tiene excepciones en runtime.

MaybeResulterrores

Funciones Nivel 6 · currying y composición

Todo es una función: aplicación parcial, currying, el operador pipe, y componer transformaciones pequeñas.

curryingpipecomposición

Records Nivel 7 · datos inmutables

Records: acceso, actualización inmutable, extensible records, y modelar el Model de la aplicación.

recordsinmutableModel

El compilador amigo Nivel 8 · errores que enseñan

El compilador de Elm como copiloto: mensajes de error legendarios, refactor sin miedo, y cero errores en producción.

compiladorerroresrefactor

HTML como función Nivel 9 · la vista pura

elm/html: la vista es una función pura de Model a Html Msg; virtual DOM, eventos, y atributos tipados.

htmlvistavirtual DOM

Decodificadores JSON Nivel 10 · datos del exterior

Decoders: validar y tipar los datos que entran desde el exterior; por qué Elm no confía en el JSON crudo.

JSONdecodervalidar

Ports e interop Nivel 11 · hablar con JavaScript

Ports: la frontera segura con JavaScript; enviar y recibir mensajes sin romper las garantías del compilador.

portsinteropJS

Aplicaciones grandes Nivel 12 · componer módulos

Escalar TEA: componer Model/Msg/update de submódulos, y por qué Elm evita los "componentes" al estilo React.

escalamóduloscomposición

Routing y SPA Nivel 13 · Browser.application

Aplicaciones de una página en Elm: `Browser.application`, parsear la URL, y la navegación como parte del Model.

routingSPAURL

Testing en Elm Nivel 14 · puro es testeable

elm-test: testear funciones puras, fuzz testing (basado en propiedades), y testear update sin montar la vista.

testingfuzzpuro

Estilos y UI Nivel 15 · elm-ui y CSS

Construir interfaces: CSS clásico, elm-css, y elm-ui (el layout como tipos); el enfoque declarativo del diseño.

elm-uiCSSlayout

Rendimiento Nivel 16 · el runtime de Elm

Cómo funciona por dentro: el virtual DOM de Elm, Html.lazy, keyed nodes, y por qué los bundles salen pequeños.

rendimientolazybundle

Elm en producción Nivel 17 · build y despliegue

Llevar Elm a producción: el compilador, optimizaciones, integración con Vite/webpack, y convivir con una app JS.

builddeployintegración

La filosofía Nivel 18 · cero errores en runtime

La apuesta de Elm: garantías del compilador, versionado semántico forzado por tipos, y la estabilidad como valor.

filosofíagarantíasestabilidad

Elm frente al ecosistema Nivel 19 · trade-offs honestos

La comparación sincera: qué gana Elm frente a TypeScript/React y qué pierde (ecosistema, contratación, ritmo de cambio).

comparacióntrade-offs

El legado de Elm Nivel 20 · lo que sembró

Cómo TEA fecundó Redux, The Composable Architecture, MVI y hasta el diseño de Svelte; las ideas que se quedaron.

legadoReduxTCA

Nivel Dios: síntesis Nivel 21 · pensar funcionalmente

La síntesis: llevar el pensamiento de Elm (pureza, efectos como datos, modelar el dominio) a cualquier lenguaje.

síntesisfuncionalPhD
106lecciones
22niveles
0→∞de cero a dios

¿Listo para dominar The Elm Architecture?

Empieza por los fundamentos y sube nivel a nivel hasta el dominio total.

Comenzar el camino →