Fondamenti di Play Framework
Inizi a utilizzare Play, ne comprenda l’architettura e configuri la Sua prima applicazione web.
Fondamenti di Play Framework è una lezione Scala for Backend Engineering & Functional Programming gratuita su CoddyKit. Questa è la lezione 1 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Scala for Backend Engineering & Functional Programming, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Scala for Backend Engineering & Functional Programming include 3 lezioni in totale.
Introduzione a Play Framework
Benvenuto in Play Framework! Play è un potente framework web open source per Scala e Java.
È progettato per creare applicazioni web e API moderne e altamente scalabili, con particolare attenzione alla produttività degli sviluppatori e alle prestazioni.
Base reattiva e asincrona
Play è basato su un'architettura reattiva e utilizza Akka internamente. Ciò significa che gestisce le richieste in modo asincrono e non bloccante per impostazione predefinita.
- Reattivo: gestisce in modo efficiente molte richieste simultanee.
- Asincrono: le operazioni non bloccano il thread del server.
- Senza stato: è progettato per la scalabilità orizzontale, risultando ideale per i microservizi.
Creazione di un progetto Play
Per iniziare un nuovo progetto Play, utilizzerà SBT (Scala Build Tool) con un template seed di Play. Si assicuri di avere SBT installato.
Esegua questo comando nel terminale:
sbt new playframework/play-scala-seed.g8Questo comando crea una nuova directory di progetto con la struttura di base di un'applicazione Scala Play.
Struttura di un progetto Play
Un progetto Play presenta una struttura di directory ben definita:
app/: contiene il codice sorgente Scala (controller, modelli e viste).conf/: contiene i file di configurazione, comeroutes(mappatura degli URL) eapplication.conf.public/: contiene le risorse statiche (JavaScript, CSS e immagini).project/: contiene i file di definizione della build di SBT (ad esempiobuild.sbt).test/: contiene i test dell'applicazione.
Mappatura degli URL con `routes`
Il file conf/routes è fondamentale. Definisce come le richieste HTTP (metodo e percorso) vengono associate ad azioni specifiche dei controller dell'applicazione.
Ogni riga specifica un metodo HTTP, un percorso URL e il metodo del controller da chiamare.
# conf/routes
GET / controllers.HomeController.index()
GET /hello/:name controllers.HelloController.sayHello(name: String)Creazione dei controller Play
I controller sono oggetti (o classi) Scala che gestiscono le richieste HTTP in arrivo. Contengono funzioni di azione che elaborano le richieste e restituiscono risultati.
In genere i controller estendono BaseController e ricevono tramite injection ControllerComponents.
package controllers
import play.api.mvc._
import javax.inject._
@Singleton
class HomeController @Inject()(val controllerComponents: ControllerComponents) extends BaseController {
// Action functions go here
}Definizione della logica delle azioni
Una funzione di azione contiene la logica principale di un controller. Riceve una Request implicita e restituisce un Result (ad esempio Ok, NotFound o Redirect).
Il blocco Action { ... } racchiude il codice, rendendolo un'azione Play valida.
// Inside HomeController
def sayHello(name: String) = Action { implicit request =>
Ok(s"Hello, $name! Welcome to Play.")
}HTML dinamico con Twirl
Play utilizza i template Twirl (file .scala.html) per generare risposte HTML dinamiche. Consentono di incorporare direttamente codice Scala nell'HTML.
I template sono tipizzati in modo sicuro e compilati, così gli errori vengono rilevati tempestivamente.
@* 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>Avvio dell'applicazione Play
Una volta configurato il progetto e definite alcune route e alcuni controller, è possibile eseguire l'applicazione con SBT.
Nel terminale, raggiunga la directory root del progetto ed esegua:
sbt runL'applicazione verrà in genere avviata su http://localhost:9000.
Quiz sui componenti di Play
Verifichiamo la Sua comprensione dei fondamenti di Play Framework.
Riepilogo: fondamenti di Play
Ha mosso i primi passi con Play Framework! Abbiamo visto:
- Che cos'è Play e qual è la sua natura reattiva.
- Come configurare un nuovo progetto con SBT.
- Le directory principali del progetto.
- Il ruolo di
conf/routesper la mappatura degli URL. - Come creare controller e funzioni di azione.
- L'utilizzo dei template Twirl per le viste dinamiche.
- Come eseguire l'applicazione Play.
Ora imparerà a creare API RESTful con Play!
Impara Scala con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 39
- Lezioni
- 143
Domande Frequenti
La lezione «Fondamenti di Play Framework» è gratuita?
Sì — il testo completo di «Fondamenti di Play Framework» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Scala for Backend Engineering & Functional Programming, passa a CoddyKit PRO. Il corso Scala for Backend Engineering & Functional Programming include 3 lezioni in totale.
Cosa imparerò in «Fondamenti di Play Framework»?
Inizi a utilizzare Play, ne comprenda l’architettura e configuri la Sua prima applicazione web. Eserciti Scala for Backend Engineering & Functional Programming con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Scala for Backend Engineering & Functional Programming?
Non è richiesta alcuna esperienza precedente. Scala for Backend Engineering & Functional Programming su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 3.
Quanto tempo richiede la lezione «Fondamenti di Play Framework»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Scala for Backend Engineering & Functional Programming?
Sì. Ogni lezione Scala for Backend Engineering & Functional Programming include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Fondamenti di Play Framework
- Creazione di API RESTful con Play
- Integrazione dei database con Slick/Doobie