DEV Community

Cover image for Elixir Roadmap
Paulo Castro
Paulo Castro

Posted on • Updated on

Elixir Roadmap

Introdução

Muitas pessoas da rede social do passarinho azul (essa mesma que você imaginou) me procuraram para saber um bom roadmap de estudos em Elixir, e bem, eu não sou a maior referência da área, mas creio que posso guiar com clareza qualquer um que queira aprender sobre essa linguagem maravilhosa. Dito isso, resolvi juntar todo o conteúdo que mapeei e filtrei para o melhor aprendizado em Elixir dada a minha experiência estudando-os. Dessa forma, só apresentarei conteúdos que ESTUDEI e que me ajudaram a entender melhor a linguagem.

Parte 1 - Entendendo o básico

A primeira parte para um bom estudo, independentemente da linguagem, são as bases, entender concisamente os tipos básicos, operadores, funções, sintaxe e afins é de suma importância. Dessa forma, nada melhor do que aprender isso logo de cara pela documentação da linguagem. Nela você já terá acesso à aba GUIDES, com um guia bem entendível dos principais elementos que formam a linguagem Elixir. No entanto, caso queira algo mais tátil, visual e direto ao ponto, é possível estudar todos esses conteúdos por meio do ElixirSchool. Assim, se estudadas a sério, suas bases teóricas serão excelentes para um bom entendimento da linguagem.

E caso você goste de cursos em vídeo, é possível complementar os estudos por eles, no YouTube e na Udemy você encontra alguns canais ensinando Elixir com uma didática excelente, sendo eles:

  1. Rafael Camarda - Udemy
  2. Elly Academy
  3. Canal do Professor Adolfo Neto
  4. Alquimia Stone
  5. ElxPro

E Sobre a prática?

  • Para praticar os tipos básicos e operações, aí vai uma opinião MINHA:

    • Utilizar o iex: Eu sempre apoiei o começo dos estudos sobre a linguagem por meio da ferramenta iex, que já vem instalada com o Elixir, a mesma possibilita ao desenvolvedor criar funções, operações e manipular diversos elementos da linguagem sem ter que abrir uma IDE, fazendo tudo pelo terminal. Desse modo, eu incentivo imensamente o uso dela para o maior costume de testar as coisas em um ambiente seguro e prático.
    • MUITOS EXERCÍCIOS: Hoje, não vejo um site mais completo para praticar Elixir que não o Exercism. Os desafios nele contidos te permitem explorar as mais diversas formas de resolução e manipulação de dados, e em contextos divertidos, sem contar a ferramenta incrível de mentoria em que o estudante pode solicitar de forma GRATUITA na plataforma, onde alguém mais experiente pode ajudar.
    • Projetos simples: começar com projetos simples sempre é uma boa escolha, criar um módulo com funções que manipulam as estruturas de dados do Elixir, interagem com a criação e manipulação de arquivos, etc.

Parte 2 - Conhecendo ferramentas e libs

Após um bom estudo do básico da linguagem, creio que o próximo passo seria entender o mix, uma das principais ferramentas do Elixir, a partir dela é possível criar um conjunto de diretórios que permitem uma excelente estruturação do código, juntamente com exemplos de testes, libs e etc...

Você também pode acessar um conteúdo de ótima qualidade no ElixirSchool

Praticas com o Mix:

  • Aqui vão algumas sugestões para se praticar no mix:

    • Aplicação de libs (credo, oban, plugcowboy, money, etc.).
    • Criação de Plugs (Caso não saiba o que raios são Plugs em Elixir, recomendo o meu Post sobre).
    • Testes unitários com ExUnit e uma introdução ao TDD utilizando a lib mix-testwatch.
    • Primeiro CRUD com Ecto.
    • Criação de um projeto de gastos financeiros (CLI ou utilizando alguma lib para ter componentes visuais)
    • Criação de um projeto simulando um banco (Contas, transferencias, saques, depósitos)
    • Criar um mini RPG com personagens, habilidades, etc...

Parte 3 - Conhecendo o Framework Web Phoenix

Com uma boa base das partes 1 e 2, já é possível introduzir o framework Phoenix, e você pode aprender a base diretamente na documentação do mesmo. Em contraposição à parte básica do Elixir, não se acha um bom conteúdo gratuito sobre phoenix (pelo menos eu não achei, então sinta-se à vontade para deixar nos comentátios sugesões de conteúdo para eu colocar aqui), somente alguns tutoriais no youtube. Dessa forma, fica a indicação do Elxpro acima citado como um conteúdo introdutório do phoenix, juntamente com o estudo da sua documentação.

Colocando em prática / ideias de projetos

  • A minha principal dica para se estudar o framework é fazendo projetos reais, tais como:

    • Consumo de API's de terceiros (ViaCep, Riotgames, Github)
    • Criação de usuários
    • Criação e autenticação de tokens com a lib Guardian
    • Desenvolvimento de alguma API que interage com algum valor monetário (Controle de gastos, Simulação de banco, etc...)

Parte extra - Mapa visual e conclusão

Abaixo temos um bom resumão do que é MUITO interessante estudar caso queira conhecer e utilizar Elixir no dia-a-dia, e lembrando, esse artigo foi escrito com base nas minhas experiências e conteúdos gratuitos de ensino que encontrei na internet, mas para o meu estudo, também utilizei livros e alguns cursos da udemy (todos pagos).

Image description

Top comments (9)

Collapse
 
elixir_utfpr profile image
Elixir UTFPR (por Adolfo Neto)

Ótimo trabalho!
Obrigado pela menção a meu Canal Professor Adolfo Neto!

Collapse
 
cyytrus profile image
Paulo Castro

Que honra receber seu comentário, professor! Muito obrigado pelo feedback!

Collapse
 
elixir_utfpr profile image
Elixir UTFPR (por Adolfo Neto)

Ah, acho que você pode gostar do Elixir em Foco elixiremfoco.com/

Thread Thread
 
cyytrus profile image
Paulo Castro

Conheço demais! Já escutei todos os podcasts e estou esperando os próximos.

Collapse
 
andreciobezerra profile image
Andrecio Bezerra

Muito legal. Pena que não vejo a linguagem sendo absorvida pelo mercado, já que não vejo vagas para ela

Collapse
 
jbz profile image
jbz

Boa referência prá aprender qualquer linguagem mesmo. Ficou muito legal!!

Adorei o Mindmap ♥️

Collapse
 
marcklima profile image
marcelo lima do nascimento

show, vou seguindo esse caminho
obrigado

Collapse
 
allefgomes profile image
Allef Gomes

Ótimo post.
Parabéns pelo trabalho!

Collapse
 
katiacih profile image
Kátia Cibele

Sensacional!!! ótimo post