0Pricing
Scala for Backend Engineering & Functional Programming · Aula

Fundamentos do Play Framework

Comece a usar o Play, compreenda sua arquitetura e configure sua primeira aplicação web.

Fundamentos do Play Framework é uma aula grátis de Scala for Backend Engineering & Functional Programming no CoddyKit. Esta é a aula 1 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Scala for Backend Engineering & Functional Programming, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Scala for Backend Engineering & Functional Programming inclui 3 aulas no total.

Introdução ao Play Framework

Bem-vindo ao Play Framework! Play é um poderoso framework de código aberto para aplicações web em Scala e Java.

Ele foi projetado para criar aplicações web e APIs modernas e altamente escaláveis, com ênfase na produtividade dos desenvolvedores e no desempenho.

Núcleo reativo e assíncrono

O Play é construído sobre uma base reativa, usando Akka internamente. Isso significa que ele processa requisições de forma assíncrona e, por padrão, sem bloqueios.

  • Reativo: processa com eficiência muitas requisições simultâneas.
  • Assíncrono: as operações não bloqueiam a thread do servidor.
  • Sem estado: projetado para escalabilidade horizontal, sendo excelente para microsserviços.

Criar um projeto Play

Para iniciar um novo projeto Play, você usará o SBT (Scala Build Tool) com um modelo inicial do Play. Certifique-se de que o SBT esteja instalado.

Execute este comando no seu terminal:

sbt new playframework/play-scala-seed.g8

Esse comando cria um novo diretório de projeto com uma estrutura básica de aplicação Play em Scala.

Estrutura de um projeto Play

Um projeto Play tem uma estrutura de diretórios bem definida:

  • app/: contém seu código-fonte Scala (controladores, modelos e visões).
  • conf/: arquivos de configuração, como routes (mapeamento de URLs) e application.conf.
  • public/: recursos estáticos (JavaScript, CSS e imagens).
  • project/: arquivos de definição da compilação do SBT (por exemplo, build.sbt).
  • test/: os testes da sua aplicação.

Mapeando URLs com `routes`

O arquivo conf/routes é fundamental. Ele define como as requisições HTTP (método + caminho) são mapeadas para ações específicas dos controladores da sua aplicação.

Cada linha especifica um método HTTP, um caminho de URL e o método do controlador a ser chamado.

# conf/routes
GET     /               controllers.HomeController.index()
GET     /hello/:name    controllers.HelloController.sayHello(name: String)

Criando controladores Play

Os controladores são objetos (ou classes) Scala que processam as requisições HTTP recebidas. Eles contêm funções de ação que processam requisições e retornam resultados.

Seus controladores normalmente estendem BaseController e recebem ControllerComponents por injeção.

package controllers

import play.api.mvc._
import javax.inject._

@Singleton
class HomeController @Inject()(val controllerComponents: ControllerComponents) extends BaseController {
  // Action functions go here
}

Definindo a lógica das ações

Uma função de ação é a lógica principal dentro de um controlador. Ela recebe uma Request implícita e retorna um Result (por exemplo, Ok, NotFound ou Redirect).

O bloco Action { ... } envolve seu código, tornando-o uma ação válida do Play.

// Inside HomeController
def sayHello(name: String) = Action { implicit request =>
  Ok(s"Hello, $name! Welcome to Play.")
}

HTML dinâmico com Twirl

O Play usa modelos Twirl (arquivos .scala.html) para gerar respostas HTML dinâmicas. Eles permitem incorporar código Scala diretamente ao HTML.

Os modelos são compilados e têm segurança de tipos, detectando erros antecipadamente.

@* app/views/welcome.scala.html *@
@(userName: String)

<!DOCTYPE html>
<html>
<head>
    <title>Welcome</title>
</head>
<body>
    <h1>Welcome, @userName!</h1>
    <p>This page was generated by a Play template.</p>
</body>
</html>

Iniciando sua aplicação Play

Depois que seu projeto estiver configurado e você tiver definido algumas rotas e controladores, poderá executar sua aplicação usando o SBT.

Navegue até o diretório raiz do projeto no terminal e execute:

sbt run

A aplicação normalmente será iniciada em http://localhost:9000.

Questionário sobre os componentes do Play

Vamos verificar sua compreensão dos fundamentos do Play Framework.

Recapitulação: fundamentos do Play

Você deu seus primeiros passos com o Play Framework! Vimos:

  • O que é o Play e sua natureza reativa.
  • Como configurar um novo projeto com o SBT.
  • Os principais diretórios do projeto.
  • O papel de conf/routes no mapeamento de URLs.
  • Como criar controladores e funções de ação.
  • Como usar modelos Twirl para visões dinâmicas.
  • Como executar sua aplicação Play.

Em seguida, você aprenderá a criar APIs RESTful com o Play!

Perguntas Frequentes

A aula “Fundamentos do Play Framework” é grátis?

Sim — o texto completo de “Fundamentos do Play Framework” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Scala for Backend Engineering & Functional Programming, atualize para CoddyKit PRO. O curso de Scala for Backend Engineering & Functional Programming inclui 3 aulas no total.

O que vou aprender em “Fundamentos do Play Framework”?

Comece a usar o Play, compreenda sua arquitetura e configure sua primeira aplicação web. Você pratica Scala for Backend Engineering & Functional Programming com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Scala for Backend Engineering & Functional Programming?

Nenhuma experiência prévia é necessária. Scala for Backend Engineering & Functional Programming no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 3.

Quanto tempo leva a aula “Fundamentos do Play Framework”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Scala for Backend Engineering & Functional Programming?

Sim. Cada aula de Scala for Backend Engineering & Functional Programming inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Fundamentos do Play Framework
  2. Construindo APIs RESTful com Play
  3. Integração com bancos de dados usando Slick/Doobie
← Voltar para Scala for Backend Engineering & Functional Programming