Lessons: Intermediate

Building on upon our foundation these lessons introduce topics like concurrency, error handling, and interoperability.

Creando tareas de Mix personalizadas para tus proyectos Elixir.

Uno de los beneficios añadidos de Elixir al estar construido sobre Erlang VM (BEAM) es la gran cantidad de bibliotecas existentes que están disponibles para nosotros. La interoperabilidad nos permite aprovechar esas bibliotecas y la librería estándar de Erlang desde nuestro código Elixir. En esta lección vamos a ver como acceder a la funcionalidad en la librería estándar junto con los paquetes de Erlang de terceros.

Aunque es más común devolver una tupla {:error, reason}, Elixir soporta excepciones, y en esta lección revisaremos como manejar errores y los diferentes mecanismos a nuestra disposición.

En general la convención en Elixir es crear una función (example/1) que devuelve {:ok, result} y {:error, reason} y una función distinta (example!/1) que devuelve el resultado result sin envolver o levanta un error.

Esta lección se enfocará en interactuar con la última forma.

Para construir ejecutables en Elixir utilizaremos escript. Escript produce un ejecutable que puede correr en cualquier sistema con Erlang instalado.

Una de las características más llamativas de Elixir es su soporte para concurrencia. Gracias a la Erlang VM (BEAM), la concurrencia en Elixir es más fácil de lo esperado. El modelo de concurrencia se basa en Actores, un proceso contenido que se comunica con otro proceso por medio de paso de mensajes.

En esta lección revisaremos los módulos de concurrencia incluidos en Elixir. En el siguiente capítulo cubriremos los comportamientos de OTP que los implementan.