book cover

ES In process pages

Gleam

Gleam

Deja que el desarrollo brille

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

27 sections

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.

Authors

Manuel Ángel Rubio Jiménez

Polyglot Developer, Writer, Manager and Trainer

He started programming at the age of 12 with languages such as GW-BASIC, QBasic, MODULA-2, Pascal and C. When he started working he already mastered Java, JavaScript, PHP, Perl, Ruby, Python among others and later he would start with Rust , Golang, Erlang, Elixir and Gleam. But what attracts him most is being able to teach programming in those languages to others. He began his training as a teacher attending a course in London and later as a mentor for Erlang, Elixir, OTP, Ecto and other technologies within Erlang Solutions Ltd. Writing books is for Manuel another way not only to teach but also to learn, as and as Feynman said.

Information

Number of pages In process
Edition (1st) First edition
Language es
Author Manuel Ángel Rubio Jiménez