Back-end
Começando com Elixir e Phoenix?
4 de fevereiro de 2016.Estamos sempre em busca de um ecossistema com tecnologias produtivas para produzir aplicações que atendam as necessidades de usuários cada vez mais criteriosos. Há diversas aplicações embarcadas em ambientes distribuídos que são extremamente críticas quanto a concorrência e paralelismo, mas, será que isso é uma necessidade atual?
Em 1986, a Ericsson já tinha essa necessidade de criar aplicações sem falhas que fossem concorrentes, paralelas e distribuídas, e, naquela circustância não encontraram uma linguagem de programação que atendessem de forma produtiva essa necessidade, por isso, desenvolveram a linguagem de programação de Erlang.
Apesar de ser um projeto open source e resolver de forma efetiva alguns quadros críticos em ambientes distribuídos, a linguagem ainda está longe de alcançar popularidade por diversos motivos, tais como, sintaxe da linguagem, suporte a testes, ausência de tools, etc.
Mas o que o Erlang tem haver com Elixir? Tudo haver. A linguagem de programação Elixir executa na máquina virtual do Erlang que proverá condições para resolver problemas de concorrência e paralelismo e ao mesmo tempo tem um viés moderno com sintaxe mais amigável, suporte a testes, tools, etc.
E o Phoenix? Bem, o Phoenix é um web framework para o Elixir com o proposito de não comprometer a velocidade e a facilidade em manutenção.
A partir de hoje, farei uma série de artigos sobre Elixir e Phoenix, de início, vamos configurar o ambiente para desenvolver aplicações web com essas tecnologias.
Para instalar a máquina virtual do Erlang, acesse a página oficial de downloads e faça o download da versão 18.2 ou superior. Caso você use o Debian você pode instalar apenas com o comando no terminal:
$ sudo apt-get install erlang
Para verificar se o Erlang está instalado corretamente, basta digitar em seu terminal:
$ erl
Ok, agora vamos instalar a linguagem de programação Elixir, para isso, vamos usar o brew:
$ brew update
$ brew install elixir
Para verificar se o Elixir está instalado corretamente, basta digitar em seu terminal:
$ elixir -v
Aow! Agora já podemos fazer um hello world em Elixir, vamos tentar?
defmodule HelloWorld do
def say_hello(name) do
IO.puts "Hello World, #{name}"
end
end
Ok, agora vamos instalar o Phoenix, para isso, volte ao terminal e digite:
$ mix local.hex
$ mix archive.install https://github.com/phoenixframework/archives/raw/master/phoenix_new.ez
Estamos quase lá, o Phoenix usa o Brunch.io para compilar os static assets (js, css, imagens, etc), você pode instalar através do npm do Node JS.
Além do Brunch.io, por padrão, o Phoenix usa o PostgreSQL mas se você quiser utilizar o MySQL basta adicionar:
--database mysql
Bem, já que temos agora todo o ambiente configurado já podemos utilizar o Elixir e Phoenix juntos, vamos experimentar:
$ mix phoenix.new my_first_application
$ mix deps.get
$ mix phoenix.server
Pronto, se você tiver feito tudo certinho, muito provavelmente o servidor Cowboy já deve estar executando sua primeira aplicação na porta 4000. Verifique em http://localhost:4000/.
No próximo artigo será abordado como criar o crud simples nessa sua primeira aplicação, combinado?