Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Elixir

Introdução a Erlang e Elixir

by
Difficulty:BeginnerLength:ShortLanguages:
This post is part of a series called Introduction to Erlang and Elixir.
Erlang and Elixir, Part 2: Data Types

Portuguese (Português) translation by Erick Patrick (you can also view the original English article)

Elixir é uma linguagem rápida, dinâmica e escalável que tem sido adotada rapidamente por startups e empresas estabelecidas para aplicações em produção.

Pinterest, Brightcove, Discord e Canvas, para citar algumas, usam Elixir, que por sua vez lança mão da VM de baixa larência e torelante a falhas da Erlang, dando acesso acompleto ao ecossistema da Erlang, usada por empresas como Heroku, Whatsapp, Klarna e Basho.

Começando por esse tutorial, aprenderemos o conhecimento fundamental para começar na Erlang e programar com Elixir.

Como é a Sintaxe?

A sintaxe é funcional e promove estilo de codificação curto e rápido, permitindo usuários uma abstração fácil de seus dados:

Quando combinado com guards, temos uma estrutura poderosa:

É Escalável?

Sim. Elixir foi criada com sistemas distribuidos e escláveis em mente.

Elixir possui execução encadeada (tida como processos) em um ambiente que múltiplos processos podem se comunicar um com os outros via mensagens.

Essas linhas de execução leves podem exeutar centenas de milhares concurrentemente. O excelente coletor de lixo da Elixist funciona para cada linha isolada, garantindo performance, é ótimo por todo o sistema e previne travas de recursos.

Tolerância a Falhas

Elixir possuir Supervisors que podem reiniciar partes do sistema se algo sair errado e revertê-lo a um estado inicial certo que funcione.

Como Instalar Elixit

Instalemos Elixir antes de continuar:

Mac OS X

  • Homebrew
    • Atualizemos para o mais atual: brew update
    • Executemos: brew install elixir
  • Macports
    • Executemos: sudo port install elixir

Unix (e Baseados em Unix)

  • Arch Linux (Repositório Comunitário)
    • Executemos: pacman -S elixir
  • openSUSe (e SLES 11 SP3+)
    • Adicionemos o repositório devel da Erland: zypper ar -f http://download.opensuse.org/repositories/devel:/languages:/erlang/openSUSE_Factory/ erlang
    • executemos: zypper in elixir
  • Gentoo
    • Executemos: emerge --ask dev-lang/elixir
  • GNU Guix
    • executemos: guix package -i elixir
  • Fedora 21 (e anteriores)
    • executemos: yum install elixir
  • FreeBSD
    • Do ports: cd /usr/ports/lang/elixir && make install clean
    • Do pkg: pkg install elixir
  • Ubuntu 12.04 e 14.04 / Debian 7
    • Adicionemos o repositório da Erlang Solutions: wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb && sudo dpkg -i erlang-solutions_1.0_all.deb
    • Executemos: sudo apt-get update
    • Instalemos a plataforma de Erlang/OTP e todas suas aplicações: sudo apt-get install esl-erlang
    • Instalemos Elixir: sudo apt-get install elixir

Windows

  • Instalador Web
  • Chocolatey
    • cinst elixir

Desenvolvimento Interativo

Elixit tem um modo interativo, que podemos acessar pela linha de comando, assim:

Usuários do Windows precisarám executar iex.bat para acessar o console interativo.

Ao entrar esse modo, podemos digitar qualquer código do Elixir e obter um retorno instantâneo, então é ótimo para aprender a linguagem.

Testemos algumas expressões básicas:

Ao executarmos um script, fazemo-no pelo terminal, assim:

Para retornar de um script para o terminal, precisamos usar a classe IO:

E Módulos?

Módulos estão disponíveis para Elixir de modo que desenvolvedores podem expadir a linguagem de diversas formas.

Eis um exemplo de uso da framework de testes ExUnit de Elixir:

Executamos os testes em paralelo usando async: true. Com isso, Elixir usa tantas CPU quanto possíveis.

Enquanto isso, assert verifica por falhas de afirmações em seu código. Os recursos são feitos usando macros da Elixir, possibilitando a adição de construtos novos como se fossem parte da linguagem Elixir em si, ou seja, total customização para qualquer produtividade (testes unitários aqui) que precisemos.

E Vem Mais!

Elixir é uma linguagem poderosa e versátil usada por muitos aplicativos grandes no mundo, atualmente. Seus rápidos tempos de compilação, processos encadeados leves, extensibilidade com módulos DSL e tolerância a falhas providas pelo Supervisor, tornando-a ideal para qualquer time de desenvolvimento web séria. Claramente, utilizada por completo, há ganhos massivos.

Na próxima parte, continuaremos com os Tipos de Dados de Elixir disponíveis e como escrever masi código, e finalmente compilaremos algo!

Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.