Ruby on Rails Ruby Estudo

Como eu estudo Ruby e Ruby on Rails (livros, cursos e outros recursos)

01 Aug 2022

Estou há três meses estudando Ruby e Ruby on Rails. O caminho tem sido bastante recompensador, visto que hoje consigo colocar quase todos os projetos que tenho na minha mente em produção. Sem sofrer? Não! Mas é um sentimento massa ter uma ideia e colocá-la em prática, sabendo por qual caminho percorrer.

Eu costumo ser uma pessoa extremamente organizada com estudos. Crio longos planejamentos do que estudar e onde estudar. Sei ver de longe um curso que não vale a pena. Didática importa bastante para mim, então decidi compartilhar as melhores recomendações do que estudei até agora e deixar esta postagem aberta para mais sugestões. Não é uma lista exaustiva, e sim do que achei e vi que é bom. Deixe outras recomendações no LinkedIn.

Importante ressaltar que a maioria das recomendações aqui são de recursos em inglês. Existem bons materiais em português, e quando tiver, os recomendarei. Mas não tem jeito: a maior parte do material, principalmente de recursos mais novos, só são encontrados em inglês.

Ruby

Algumas pessoas recomendam que você pule direto para o Rails e aprenda Ruby por demanda, e tudo bem, pode funcionar para algumas pessoas (ou mesmo todas). Para mim, é importante ter fundamentos da linguagem e ir se aprofundando nela com o tempo. Você não precisa se preocupar muito com o período do material neste caso, já que foram poucas as mudanças, especialmente para iniciantes.

Recursos:
🌟 Curso em vídeo: Ruby do Pragmatic Studio (em inglês) junto com o Ruby Blocks. Foi o que usei e recomendo. Em inglês e pago.
🇧🇷 Curso em vídeo: Ruby da OneBitCode. Não fiz, mas é bastante recomendado e em português.
Livro: The well-grounded Rubyist. Um livro para o próximo nível dos estudos com Ruby. Comecei recentemente. Em inglês.
Livro: Polished Ruby Programming. Um livro intermediário que uso bastante para escrever para este blog, gosto demais da organização dele e da escrita. Em inglês.
Livro: Programming Ruby. Um clássico, mas que tem um estilo 'documentação' que pode não agradar iniciantes. Eu uso ele para consultas. Em inglês.
Livro: 99 bottles of OOP. Eu tenho visto cada vez mais recomendações deste livro. Me parece mais avançado, então vou pegá-lo mais para frente, mas fica a recomendação. Em inglês.
Livro: Practical Object-Oriented Design. Este livro foi indicado pelo Gustavo Carvalho nos comentários, como uma forma de ter uma base melhor para entender o 99 bottles.
🇧🇷 Livro: Conhecendo Ruby. O melhor recurso em português pelas indicações. E foi atualizado recentemente.

Ruby on Rails MVC

O segundo passo foi aprender a criar uma aplicação fullstack com o Rails. Aqui o objetivo é compreender o padrão MVC e desenvolver uma aplicação do zero, como o clássico CRUD (criar, ler, atualizar e apagar informações do banco de dados). Foi a parte mais prazerosa, especialmente para iniciantes, porque ao contrário de outras stacks em que tudo fica separado e cada parte da sua aplicação é uma tecnologia diferente, aqui você tem um monólito para governar tudo, e é lindo quando você consegue juntar todas as peças.

Recursos:
🌟 Curso em vídeo:
Ruby on Rails do Pragmatic Studio. Curso espetacular, com excelente didática, inclusive com fluxogramas e resumos para imprimir e fixar o conteúdo. Em inglês e pago.
🇧🇷 Curso em vídeo: Ruby on Rails MVC do Paulo Eduardo Melo. É um dos cursos mais recentes e completo. A didática é muito boa também. Em português e gratuito.
Curso em vídeo: Rails Class do Mix & Go. É um curso ainda em andamento, mas com a promessa de inserir os novos recursos (como HotWire) desde o início do aprendizado. Vejo futuro e inclusive pode desbancar o do Pragmatic Studio (se ele não for atualizado também).
Tutoriais: Rails Guides, que tem um projeto de tradução aqui. Depois de pegar as bases, acredito que a melhor maneira de continuar aprendendo Rails é colocando a mão na massa e se guiando pela documentação.

Testes com RSpec (estou aqui)

Acredito que todos os cursos de Rails deveriam já começar ensinando testes. Tive que aprender com nãos em processos seletivos que não adianta desenvolver sem escrever testes antes. Achar bons materiais sobre isso também foi um desafio, já que existe uma diferença entre aprender a testar um código Ruby e aprender a testar a sua aplicação Rails. Mas encontrei algumas boas soluções, infelizmente, todas em inglês. 

🌟 Livro: Everyday Testing with RSpec. Este é o livro mais completo e atualizado que encontrei. O código de exemplo usado no livro tá um pouco bugado, mas estou estudando o livro e aplicando o conhecimento nas minhas aplicações.
Livro: Testing Rails da ThoughBot. Este é um livro gratuito que cobre quase tudo para poder testar uma aplicação Rails. É menor que a solução acima, mas gratuito.
Cursos em vídeo: A plataforma UpCase (também da ThoughBot, palmas para eles) tem várias trilhas sobre testes. Gostei de fazer alguns cursos, outros achei que faltou didática e coesão.
Livro: The Complete Guide do Rails Testing. Este é um dos mais recomendados, mas muito caro, então preferi a primeira indicação mesmo.

HotWire

Uma das maiores novidades do Rails 7 foi trazer o HotWire completo para uso. É uma grande mudança que permite adicionar 'reatividade' na sua aplicação com apenas umas tags no HTML. Tem sido tão impactante que existem relatos de migração do React de volta para o monólito Rails com HotWire. Eu aposto muito que é isso que vai trazer de volta os holofotes ao Rails, então apesar de não ser muito demandado profissionalmente por enquanto, parece ser um bom investimento para o futuro (e para projetos pessoais).

🌟 Curso em vídeo: HotWire for Rails Developers do Pragmatic Studio. Completo, super didático e muito atualizado, finalizado este ano. Em inglês e pago.
Tutorial: Hotwire.dev, a 'documentação oficial' do HotWire, muito bem escrita e gratuita. Em inglês.

Ruby on Rails API

Muitos usam o Ruby on Rails apenas como API (ou também com), para usar outras tecnologias no front-end. Me parece ser importante ter este conhecimento para o mercado de trabalho.

🌟🇧🇷 Curso em vídeo: Ruby on Rails 6 como API, do Paulo Eduardo Melo. Eu pesquisei bastante por conteúdos em inglês, mas parece que nenhum supera o do Paulo. Didática excelente e o cara sabe muito. Já vi umas partes e estou ansioso para ver todo o curso. Nem fui atrás de outros recursos.

Gems

Por enquanto eu tento aprender a fazer tudo de forma nativa, mas a maioria das aplicações usa gems para poupar o trabalho. Vou deixar esta seção aberta para sugestões de vocês, por enquanto sei que vou aprender Devise e Sidekiq, as que eu mais vi em postagens de emprego. Quais são as outras gems que você acha essencial aprender?

Existem outras coisas que quero aprender, mas me pareceu prepotente já colocar aqui nesta postagem. Já tenho, por exemplo, material que escolhi para estudar PostgreSQL e deployment, mas melhor cumprir o básico aqui listado antes de partir para conhecimentos mais aprofundados, né? Também tenho os estudos da faculdade e autodidatas da teoria, mas isso vale uma postagem específica. Espero que tenha sido útil e estou aberto para outras indicações/orientações. A ideia de aprender em público não é só ensinar, e sim receber input de todo mundo.

Receba atualizações por e-mail

Sempre que tiver novidades por aqui vou enviar aos inscritos.

Entre na conversa

Criei uma postagem lá no LinkedIn para receber comentários:

Comente