Find file
Fetching contributors…
Cannot retrieve contributors at this time
25 lines (15 sloc) 1.51 KB


This is a general introduction to Elixir aimed at a wide audience: from people who are new to both Erlang and Elixir to Erlang veterans who are interested in Elixir's design and philosophy.

In this tutorial I will guide you from a basic TCP echo server to a fully functioning HTTP web-server able to serve static and dynamic content. Currently, this is still very much a WIP (work in progress). Parts 1 & 2 have been finished, Part 3 is in a draft stage.

Preliminary table of contents:

  1. Building an echo server
  2. Implementing request handlers
  3. Intro to HTTP
  4. Our first web server
  5. Advanced HTTP techniques
  6. Introducing OTP

If you find any given part too easy, you may safely skim over the text, take a look at the code and proceed to the next part which describes more advanced material.

Elixir is built on top of the Erlang VM. Most of the system-level concepts that will be explained in this tutorial are taken directly from Erlang: processes, messages, modules, functions. In the text, Erlang will be mentioned every time one of its concepts is explained. Elixir will only be mentioned where an Elixir-specific feature is described.

If you're serious about mastering Elixir, you should also be willing to learn Erlang.