Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Elixir
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
doc_src
src
tools
.gitignore
1 - Echo server.md
2 - Request handlers.md
3 - Intro to HTTP.md
Readme.md
server3.ex
server4.ex
web.ex

Readme.md

Introduction

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.

Something went wrong with that request. Please try again.