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.
Coming soon
If you want to get updates for this book, provide your name and email:
Description
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.
Content
Introduction
-
Introducción prepared
Presentación del enfoque del libro, de Glim y del recorrido de aprendizaje.
Chapters
-
Hola, Glim… ¿Gleam? to do
Instalar Erlang + Gleam, `gleam new`, `gleam run`, la forma de un programa.
-
Una sala, un aviso, una orden to do
Imprimir una descripción, leer una línea del teclado, un bucle, `case` sobre la orden.
-
Salas en un mapa to do
2–3 salas como datos (un tipo personalizado), norte/sur, seguir la pista de "dónde estoy".
-
Botín, y una forma de ganar to do
Objetos en una lista, `take`/`inventory`, una condición de victoria; una aventura completa y jugable.
-
Todo es un valor to do
Todo es una expresión, inmutabilidad, los tipos básicos.
-
Funciones, etiquetas y el pipe to do
Argumentos, etiquetas, funciones anónimas, `|>`, la última expresión es el valor de retorno.
-
El compilador está de tu lado to do
Inferencia, el compilador como aliado, leer errores de tipos.
-
Tipos que diseñas tú to do
Lo que usaste para las salas, ahora bien hecho; variantes, constructores, records.
-
Todos los casos cubiertos to do
`case`, guardas, exhaustividad, desestructuración.
-
No hay bucle "for" to do
No hay bucle `for`; el módulo `list`, folds, maps.
-
Sin null, sin excepciones to do
Sin excepciones, sin null; `use` para el camino feliz.
-
Organizar código, añadir paquetes to do
Organizar código, `import`, un recorrido por la stdlib, añadir una dependencia de Hex, `gleam.toml`.
-
El mundo, bien modelado to do
Salas, salidas, objetos y el jugador como tipos bien diseñados; un fichero de mundo.
-
De las palabras a las órdenes to do
De "take the rusty key" a una orden tipada; sinónimos, mensajes de error.
-
Estado que fluye to do
El estado como un valor que fluye; separar la lógica pura de la E/S.
-
Escribir el juego en disco to do
Ficheros, codificar/decodificar JSON, `dynamic`/`decode`.
-
Tests que te atrapan to do
`gleeunit`, testear la lógica pura, TDD de una funcionalidad.
-
Procesitos que se pasan notas to do
Qué es la BEAM; `spawn`, enviar/recibir; la mentalidad de actor.
-
El mundo se convierte en un actor to do
El `actor` de `gleam_otp`; el mundo como un actor.
-
Un mundo lleno de jugadores to do
Varias sesiones hablando con un mundo compartido; un lobby.
-
Let it crash, y que se recupere to do
"Let it crash", supervisores, reinicios.
-
El mismo código, en un navegador to do
Compilar a JS, un front end web mínimo, FFI a JS.
-
Servir el juego por la web to do
`wisp`/`mist`, servir la aventura por HTTP/WebSocket.
-
Tomar prestado de Erlang y Elixir to do
El target de Erlang, FFI, usar una librería del ecosistema.
-
Regala el motor to do
Extraer el motor como una librería, documentación, `gleam publish`, versionado.
-
Adónde ir desde aquí to do
Más OTP, la comunidad, ideas para seguir trasteando.