Scala para Engenharia de Backend e Programação Funcional
Scala roda na JVM e combina programação orientada a objetos e funcional em uma única linguagem estaticamente tipada. Ela alimenta a infraestrutura de dados em empresas como Twitter, LinkedIn e Databricks — através de frameworks como Apache Spark, Akka e Play. Esta trilha cobre Scala desde sua sintaxe e sistema de tipos até desenvolvimento de backend em nível de produção, concorrência e padrões funcionais avançados.
O Que Você Aprenderá
Você começará com a sintaxe de Scala, o REPL, valores, tipos e pattern matching, depois passará para case classes, tipos algébricos de dados e o modelo de tratamento de erros Option/Either/Try. A partir daí, você trabalhará com funções de ordem superior, recursão em cauda, for-comprehensions e avaliação lazy com streams. Os tópicos intermediários incluem implicits, type classes, genéricos, processamento JSON com Circe, REST APIs com http4s, programação assíncrona com Futures e desenvolvimento completo de backend com o Play Framework. Os cursos avançados cobrem Cats e a IO Monad, ZIO, modelagem funcional de domínio, acesso a banco de dados com Doobie, pipelines de dados com Akka Streams, sistemas distribuídos com Akka Actors e implantação de microsserviços. A trilha termina com metaprogramação Scala, macros e otimização de performance.
O Caminho de Aprendizado
Quarenta cursos progridem de A1 até C2. Os cursos A1 e A2 estabelecem os fundamentos da linguagem: sintaxe, coleções, strings, tuplas e pattern matching. Os cursos B1 desenvolvem fluência em programação funcional — recursão, folding, listas lazy, traits, imutabilidade e a ferramenta de build SBT. B2 avança para o ecossistema: type classes, Circe, Play, Spark, recursos do Scala 3 e programação assíncrona. O bloco C1 aborda preocupações de produção — Cats IO, ZIO, Akka Actors, Akka Streams, Doobie e microsserviços em nuvem. A trilha conclui em C2 com Metaprogramação Scala e Macros e Otimização de Performance em Scala.
Como Funciona
Cada curso é dividido em aulas breves e práticas que você completa no editor de código integrado com feedback em tempo real. Um tutor de IA está disponível quando você fica preso, e a progressão é projetada para que cada conceito se baseie diretamente no anterior — sem pular entre recursos externos.