portada del libro

ES En proceso páginas

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.

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

27 secciones

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.

Autores

Manuel Ángel Rubio Jiménez

Desarrollador Políglota, Escritor, Gerente y Mentor

Comenzó a programar a los 12 años con lenguajes como GW-BASIC, QBasic, MODULA-2, Pascal y C. Cuando comenzó el mundo laboral ya dominaba Java, JavaScript, PHP, Perl, Ruby, Python entre otros y más tarde comenzaría con Rust, Golang, Erlang, Elixir y Gleam. Pero lo que más le atrae es poder enseñar a programar en esos lenguajes a otros. Comenzó su formación como profesor asistiendo a un cruso en Londres y más tarde como mentor de Erlang, Elixir, OTP, Ecto y otras tecnologías dentro de Erlang Solutions Ltd. Escribir libros es para Manuel otra forma no solo de enseñar sino también de aprender, tal y como decía Feynman.

Información

Número de páginas En proceso
Edición (1ª) Primera edición
Idioma es
Autor Manuel Ángel Rubio Jiménez