Aprende Gleam construyendo una aventura conversacional: explora salas, recoge objetos y da vida a un mundo que responde a tus órdenes. Un recorrido práctico desde los primeros pasos hasta los tipos, las pruebas y la concurrencia, con Glim como compañero de viaje.
Libro en preparación. Suscríbete para recibir noticias de la edición en español.
Próximamente
Si deseas recibir actualizaciones para este libro, puedes proporcionar tu nombre y email para ser suscrito al boletín de noticias:
Descripción
Tu primera aventura empieza con una línea de código
Este libro propone aprender Gleam construyendo un juego de texto. Empezarás con una sala y unas pocas órdenes; después volverás sobre cada concepto para entender cómo funciona y ampliar tu aventura paso a paso.
Aprende mientras construyes
El recorrido previsto incluye valores y funciones, tipos personalizados, pattern matching, listas y recursión, Result y Option, módulos y paquetes. No se requieren conocimientos previos de programación: puedes comenzar por el proyecto o acudir primero a los fundamentos.
De una sala a un mundo compartido
El índice plantea un intérprete de órdenes, partidas guardadas y pruebas automatizadas. A continuación introduce procesos, actores y supervisión en la BEAM, antes de explorar JavaScript, un servidor web y la interoperabilidad con Erlang y Elixir.
Con Glim a tu lado
Un pequeño fuego fatuo acompaña la lectura con pistas y referencias a los capítulos que explican cada concepto.
Esta edición está en preparación. El índice es provisional y puede cambiar durante la escritura. Todavía no hay venta ni preventa abiertas. Déjanos tu correo para conocer las novedades.
Contenido
Introducción
-
Introducción preparado
Presentación del enfoque del libro, de Glim y del recorrido de aprendizaje.
Capítulos
-
Hola, Glim… ¿Gleam? por hacer
Instalar Erlang + Gleam, `gleam new`, `gleam run`, la forma de un programa.
-
Una sala, un aviso, una orden por hacer
Imprimir una descripción, leer una línea del teclado, un bucle, `case` sobre la orden.
-
Salas en un mapa por hacer
2–3 salas como datos (un tipo personalizado), norte/sur, seguir la pista de "dónde estoy".
-
Botín, y una forma de ganar por hacer
Objetos en una lista, `take`/`inventory`, una condición de victoria; una aventura completa y jugable.
-
Todo es un valor por hacer
Todo es una expresión, inmutabilidad, los tipos básicos.
-
Funciones, etiquetas y el pipe por hacer
Argumentos, etiquetas, funciones anónimas, `|>`, la última expresión es el valor de retorno.
-
El compilador está de tu lado por hacer
Inferencia, el compilador como aliado, leer errores de tipos.
-
Tipos que diseñas tú por hacer
Lo que usaste para las salas, ahora bien hecho; variantes, constructores, records.
-
Todos los casos cubiertos por hacer
`case`, guardas, exhaustividad, desestructuración.
-
No hay bucle "for" por hacer
No hay bucle `for`; el módulo `list`, folds, maps.
-
Sin null, sin excepciones por hacer
Sin excepciones, sin null; `use` para el camino feliz.
-
Organizar código, añadir paquetes por hacer
Organizar código, `import`, un recorrido por la stdlib, añadir una dependencia de Hex, `gleam.toml`.
-
El mundo, bien modelado por hacer
Salas, salidas, objetos y el jugador como tipos bien diseñados; un fichero de mundo.
-
De las palabras a las órdenes por hacer
De "take the rusty key" a una orden tipada; sinónimos, mensajes de error.
-
Estado que fluye por hacer
El estado como un valor que fluye; separar la lógica pura de la E/S.
-
Escribir el juego en disco por hacer
Ficheros, codificar/decodificar JSON, `dynamic`/`decode`.
-
Tests que te atrapan por hacer
`gleeunit`, testear la lógica pura, TDD de una funcionalidad.
-
Procesitos que se pasan notas por hacer
Qué es la BEAM; `spawn`, enviar/recibir; la mentalidad de actor.
-
El mundo se convierte en un actor por hacer
El `actor` de `gleam_otp`; el mundo como un actor.
-
Un mundo lleno de jugadores por hacer
Varias sesiones hablando con un mundo compartido; un lobby.
-
Let it crash, y que se recupere por hacer
"Let it crash", supervisores, reinicios.
-
El mismo código, en un navegador por hacer
Compilar a JS, un front end web mínimo, FFI a JS.
-
Servir el juego por la web por hacer
`wisp`/`mist`, servir la aventura por HTTP/WebSocket.
-
Tomar prestado de Erlang y Elixir por hacer
El target de Erlang, FFI, usar una librería del ecosistema.
-
Regala el motor por hacer
Extraer el motor como una librería, documentación, `gleam publish`, versionado.
-
Adónde ir desde aquí por hacer
Más OTP, la comunidad, ideas para seguir trasteando.