Instalando e Usando Elixir e Phoenix Framework

Elixir é uma linguagem de programação funcional, concorrente e dinâmica, projectada para criação de aplicações escaláveis e de fácil manutenção de forma produtiva.

Neste artigo veremos como Instalar Elixir e duas dependências, seguida da instalação de Phoenix Framework que é um framework Elixir que nos permite criar aplicações Web de forma rápida e produtiva.

Instalação do Elixir.

Elixir roda por cima da máquina virtual do Erlang (BEAM). Erlang é uma linguagem de programação concorrente e funcional, desenvolvida pela Ericsson como o objectivo de criar aplicações escaláveis, tolerrantes a falhas, distribuídas e de alta disponilidade.

Assim sendo, para a instalação do Elixir é necessária antes a instalação do Erlang.

Para a instalação do Erlang no MacOS podemos usar o Homebrew (gestor de pacotes no MacOS), MacPorts ou mesmo o asdf (gestor de versões para diferentes linguagens). Para este artigo iremos usar o Homebrew:

$ brew update
$ brew install erlang

A instalação do Erlang no Linux também é simples. Basta utilizar o gestor de pacotes da distribuição que estiver a utilizar. Abaixo estão os comandos para instalação no Ubuntu/Debian:

$ sudo apt-get update
$ sudo apt-get install erlang

Para instalação no Windows, basta visitar https://www.erlang.org/downloads e baixar o instalador (ex: https://erlang.org/download/otp_64_21.3.exe), clique duplo no instalador e seguir os passos.

Uma vez instalado o Erlang, já podemos instalar o Elixir. O processo é similar com a instalação do Erlang.

Para instalação no Mac também podemos usar o Homebrew, mas para este artigo irei usar o asdf. Com o asdf podemos instalar diferentes versções do Elixir de uma vez só. Para saber como instalar o asdf no MacOS visite: https://blog.psantos.dev/installing-and-start-using-asdf-on-macos-high-sierra/. O asdf também pode ser utilizado no Linux (Debian/Ubuntu ou outras distribuições), pelo que as instruções aqui deixadas valem tanto para MacOS como para Linux.

$ asdf update
$ asdf plugin-add elixir https://github.com/asdf-vm/asdf-elixir.git
$ asdf install elixir 1.8.1

No Windows podes usar o instalador, que pode ser baixado no link: https://repo.hex.pm/elixir-websetup.exe, abrir o instalador e seguir o passos (next.. next… next… finish 🙂 ). No Windows também é possível o uso de um gestor de pacotes como o Chocolatey para a instalação do elixir. Tendo o Chocolatey instalado, basta rodar o comando:

$ cinst elixir

Instruções sobre a instalação e uso do Chocolatey no Windows podem ser encontradas no seguinte link: https://chocolatey.org/install.

Depois de instalado, podemos testar a instalação rodando no Terminal (MacOS ou Linux) ou na Linha de Commandos do Windows o seguinte comando:

$ iex

Teremos uma imagem como abaixo (MacOS):

Se obtiveres um resultado similar, quer dizer que a instalação foi feita com sucesso.

E a partir deste ponto, podemos gerar a nossa primeira aplicação Elixir:

$ mix new super_project

Instalação do Phoenix Framework

Phoenix Framework é um framework web escrito em Elixir. Parte do Core Team do Phoenix vem da comunidade Ruby/Rails, pelo que boas ideias foram tiradas desta comunidade e aplicadas ao Phoenix. Phoenix Framework, assim como Ruby on Rails, é um framework focado em produtividade do desenvolvedor. Oferece uma estrutura padrão para o desenvolvedor, geradores de código, arquivo de rotas e suporta banco de dados relacionais como PostgreSQL (padrão), MySQL/MariaDB.

Assim como no Rails, Phoenix Framework promove as melhores práticas de segurança por padrão e já vem equipado com ferramentas de testes.

Uma vez que já temos o Erlang e o Elixir instalados, já podemos instalar o Phoenix e começar a criar nossas aplicações Web. O procedimento é o mesmo em todos os sistemas operativos, basta para isso termos o Elixir instalado.

NOTA: Phoenix Framework usa o Webpack para compilar os seus assets. Assim sendo precisa ter o Nodejs instalado antes de instalar o Phoenix. Instruções e Download do Nodejs: https://nodejs.org/en/download/.

Antes de instalarmos o Phoenix, precisamos instalar o Hex, que é um gestor de pacotes/dependências no Elixir, assim como temos o composer no PHP, gem/bundler no Ruby, npm no JavaScript… No Terminal rode:

$ mix local.hex

Com o HEX instalado, já podemos instalar o Phoenix. Para isso, rode no Terminal o seguinte comando:

$ mix archive.install phx_new

NOTA: Por padrão, Phoenix usa o PostgreSQL. Pelo que precisamos ter o PostgreSQL instalado.

Phoenix está instalado e com ele podemos gerar a nossa primeira aplicação Web:

$ mix phx.new hello

Como dissemos acima, Phoenix usa PostgreSQL por padrão, caso pretendamos mudar para MySQL por exemplo, basta rodar:

$ mix phx.new hello --database mysql

Rodando o comando acima, Phoenix irá criar a estrutura padrão da nossa aplicação dentro da pasta com o nome da nossa aplicação (“hello” no nosso caso). Entre na pasta e rode os seguintes comandos:

$ cd hello
$ mix ecto.create

Como instrui o próprio instalador, o comando `mix ecto.create` cria o nosso banco de dados. Caso recebe erro de conexão ao banco de dados, verifique o arquivo `config/dev.exs` e altere as configurações.

Em seguida podemos rodar o servidor:

$ mix phx.server

Rondando o servidor, poderemos aceder à nossa aplicação visitando o link: http://localhost:4000, como mostra a imagem abaixo.

E voilá!!! Temos a nossa primeira aplicação Phoenix rodando!!! 😀

Nos próximos posts veremos como criar controller, views e templates… até lá.

,,