Fundamentos de Play Framework
Comience a trabajar con Play, comprenda su arquitectura y configure su primera aplicación web.
Fundamentos de Play Framework es una lección gratuita de Scala for Backend Engineering & Functional Programming en CoddyKit. Esta es la lección 1 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Scala for Backend Engineering & Functional Programming, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Scala for Backend Engineering & Functional Programming incluye 3 lecciones en total.
Introducción a Play Framework
¡Le damos la bienvenida a Play Framework! Play es un potente framework web de código abierto para Scala y Java.
Está diseñado para crear aplicaciones web y API modernas y altamente escalables, con énfasis en la productividad y el rendimiento de los desarrolladores.
Núcleo reactivo y asíncrono
Play está construido sobre una base reactiva y utiliza Akka internamente. Esto significa que gestiona las solicitudes de forma asíncrona y, de manera predeterminada, no bloquea la ejecución.
- Reactivo: Gestiona eficazmente muchas solicitudes simultáneas.
- Asíncrono: Las operaciones no bloquean el hilo del servidor.
- Sin estado: Está diseñado para el escalado horizontal, por lo que es ideal para microservicios.
Crear un proyecto de Play
Para iniciar un proyecto nuevo de Play, utilizará SBT (Scala Build Tool) con una plantilla semilla de Play. Asegúrese de tener SBT instalado.
Ejecute este comando en su terminal:
sbt new playframework/play-scala-seed.g8Este comando crea un directorio de proyecto nuevo con una estructura básica para una aplicación Scala de Play.
Estructura de un proyecto de Play
Un proyecto de Play tiene una estructura de directorios bien definida:
app/: Contiene el código fuente de Scala, incluidos controladores, modelos y vistas.conf/: Contiene archivos de configuración comoroutes(asignación de URL) yapplication.conf.public/: Contiene recursos estáticos, como JavaScript, CSS e imágenes.project/: Contiene los archivos de definición de compilación de SBT, comobuild.sbt.test/: Contiene las pruebas de la aplicación.
Asignar URL con `routes`
El archivo conf/routes es fundamental. Define cómo se asignan las solicitudes HTTP (método + ruta) a acciones específicas de los controladores de la aplicación.
Cada línea especifica un método HTTP, una ruta URL y el método del controlador que se debe invocar.
# conf/routes
GET / controllers.HomeController.index()
GET /hello/:name controllers.HelloController.sayHello(name: String)Crear controladores de Play
Los controladores son objetos o clases de Scala que gestionan las solicitudes HTTP entrantes. Contienen funciones de acción que procesan las solicitudes y devuelven resultados.
Normalmente, sus controladores extienden BaseController y reciben una instancia de ControllerComponents mediante inyección.
package controllers
import play.api.mvc._
import javax.inject._
@Singleton
class HomeController @Inject()(val controllerComponents: ControllerComponents) extends BaseController {
// Action functions go here
}Definir la lógica de las acciones
Una función de acción contiene la lógica principal de un controlador. Recibe un Request implícito y devuelve un Result, como Ok, NotFound o Redirect.
El bloque Action { ... } envuelve su código y lo convierte en una acción válida de Play.
// Inside HomeController
def sayHello(name: String) = Action { implicit request =>
Ok(s"Hello, $name! Welcome to Play.")
}HTML dinámico con Twirl
Play utiliza plantillas Twirl (archivos .scala.html) para generar respuestas HTML dinámicas. Estas permiten insertar código Scala directamente en el HTML.
Las plantillas son seguras con respecto a los tipos y se compilan, por lo que detectan los errores con antelación.
@* 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>Iniciar su aplicación de Play
Una vez configurado el proyecto y definidas algunas rutas y controladores, puede ejecutar la aplicación mediante SBT.
Vaya al directorio raíz del proyecto en la terminal y ejecute:
sbt runNormalmente, la aplicación se iniciará en http://localhost:9000.
Cuestionario sobre los componentes de Play
Comprobemos su comprensión de los fundamentos de Play Framework.
Resumen: fundamentos de Play
¡Ha dado sus primeros pasos con Play Framework! Hemos visto lo siguiente:
- Qué es Play y cuál es su naturaleza reactiva.
- Cómo configurar un proyecto nuevo con SBT.
- Los directorios principales del proyecto.
- La función de
conf/routespara asignar URL. - Cómo crear controladores y funciones de acción.
- El uso de plantillas Twirl para crear vistas dinámicas.
- Cómo ejecutar una aplicación de Play.
A continuación, aprenderá a crear API RESTful con Play.
Preguntas frecuentes
¿La lección «Fundamentos de Play Framework» es gratis?
Sí — el texto completo de «Fundamentos de Play Framework» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Scala for Backend Engineering & Functional Programming, actualiza a CoddyKit PRO. El curso de Scala for Backend Engineering & Functional Programming incluye 3 lecciones en total.
¿Qué aprenderé en «Fundamentos de Play Framework»?
Comience a trabajar con Play, comprenda su arquitectura y configure su primera aplicación web. Practicas Scala for Backend Engineering & Functional Programming con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Scala for Backend Engineering & Functional Programming?
No se requiere experiencia previa. Scala for Backend Engineering & Functional Programming en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 3.
¿Cuánto tiempo toma la lección «Fundamentos de Play Framework»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Scala for Backend Engineering & Functional Programming?
Sí. Cada lección de Scala for Backend Engineering & Functional Programming incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Fundamentos de Play Framework
- Construcción de API RESTful con Play
- Integración de bases de datos con Slick/Doobie