Recursos Adicionais
Esta seção contém uma curadoria de livros, cursos, sites, ferramentas e comunidades para complementar seu aprendizado de Scala.
Documentação Oficial
Seção intitulada “Documentação Oficial”| Recurso | Descrição | Link |
|---|---|---|
| Scala Documentation | Ponto de partida para guias, tutoriais e referências | docs.scala-lang.org |
| Scala 3 Book | Livro oficial e gratuito sobre Scala 3 | docs.scala-lang.org/scala3/book |
| Tour of Scala | Visão geral rápida dos recursos da linguagem | docs.scala-lang.org/tour |
| API da biblioteca padrão | Referência das classes e coleções do Scala | scala-lang.org/api |
| Scala CLI | Documentação da ferramenta de linha de comando | scala-cli.virtuslab.org |
| Scaladex | Índice de bibliotecas do ecossistema Scala | index.scala-lang.org |
Livros Recomendados
Seção intitulada “Livros Recomendados”| Livro | Autor(es) | Nível | Descrição |
|---|---|---|---|
| Programming in Scala | Martin Odersky, Lex Spoon, Bill Venners e Frank Sommers | Iniciante/Intermediário | O livro escrito pelo criador da linguagem |
| Scala for the Impatient | Cay S. Horstmann | Iniciante | Introdução rápida para quem já programa em outra linguagem |
| Hands-on Scala Programming | Li Haoyi | Intermediário | Scala aplicado a projetos práticos, de scripts a servidores |
| Functional Programming in Scala | Michael Pilquist, Rúnar Bjarnason e Paul Chiusano | Intermediário/Avançado | O “livro vermelho” da programação funcional |
| Essential Effects | Adam Rosien | Avançado | Cats Effect na prática |
Cursos e Tutoriais
Seção intitulada “Cursos e Tutoriais”| Recurso | Descrição | Idioma | Link |
|---|---|---|---|
| Functional Programming Principles in Scala | Curso da EPFL ministrado por Martin Odersky | EN | coursera.org |
| Rock the JVM | Cursos e artigos sobre Scala, Cats, ZIO, Spark e Pekko | EN | rockthejvm.com |
| Scala Exercises | Exercícios interativos sobre a linguagem e bibliotecas | EN | scala-exercises.org |
| ZIO - documentação | Guias e tutoriais oficiais do ZIO | EN | zio.dev |
| Typelevel | Documentação de Cats, Cats Effect, http4s e fs2 | EN | typelevel.org |
Plataformas de Prática
Seção intitulada “Plataformas de Prática”| Plataforma | Descrição | Link |
|---|---|---|
| Exercism | Exercícios com mentoria gratuita | exercism.org/tracks/scala |
| LeetCode | Problemas de algoritmos com suporte a Scala | leetcode.com |
| Advent of Code | Desafios anuais de programação em dezembro | adventofcode.com |
Ferramentas
Seção intitulada “Ferramentas”Editores e IDEs
Seção intitulada “Editores e IDEs”| Ferramenta | Descrição | Link |
|---|---|---|
| VS Code + Metals | Editor leve com o language server do Scala | scalameta.org/metals |
| IntelliJ IDEA + plugin Scala | IDE da JetBrains com suporte completo a Scala | jetbrains.com/idea |
Build e qualidade de código
Seção intitulada “Build e qualidade de código”| Ferramenta | Descrição | Link |
|---|---|---|
| sbt | Ferramenta de build mais usada no ecossistema | scala-sbt.org |
| Mill | Ferramenta de build alternativa | mill-build.org |
| scalafmt | Formatador de código | scalameta.org/scalafmt |
| Scalafix | Linter e ferramenta de refatoração | scalacenter.github.io/scalafix |
| MUnit | Biblioteca de testes | scalameta.org/munit |
| Ferramenta | Descrição | Link |
|---|---|---|
| Scastie | Execute e compartilhe código Scala no navegador | scastie.scala-lang.org |
Comunidades
Seção intitulada “Comunidades”| Comunidade | Descrição | Link |
|---|---|---|
| Scala Users | Fórum oficial para dúvidas e discussões | users.scala-lang.org |
| Discord do Scala | Servidor oficial da comunidade | discord.com/invite/scala |
| Reddit r/scala | Novidades, projetos e discussões | reddit.com/r/scala |
Dicas de Uso
Seção intitulada “Dicas de Uso”- Comece pelo Scala 3 Book - é gratuito, atualizado e feito para quem está começando
- Use o Scala CLI para estudar - sem arquivo de build, você foca na linguagem
- Domine coleções e pattern matching antes das bibliotecas funcionais - Cats e ZIO ficam muito mais fáceis depois
- Escreva testes com MUnit desde o primeiro dia -
scala test .já funciona sem configuração - Construa projetos - CLIs e processamento de arquivos são ótimos primeiros projetos
Contribuindo
Seção intitulada “Contribuindo”Conhece um recurso excelente que não está aqui?
- Verifique se é relevante para iniciantes/intermediários
- Teste o recurso antes de recomendar
- Adicione seguindo o formato existente
- Envie um Pull Request
Veja o Guia de Contribuição para mais detalhes.