Grunderna i Play Framework
Kom igång med Play, förstå dess arkitektur och konfigurera er första webbapplikation.
Grunderna i Play Framework är en gratis lektion i Scala för backendutveckling och funktionell programmering på CoddyKit. Detta är lektion 1 av 3. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Scala för backendutveckling och funktionell programmering, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Scala för backendutveckling och funktionell programmering innehåller totalt 3 lektioner.
Introduktion till Play Framework
Välkommen till Play Framework! Play är ett kraftfullt ramverk med öppen källkod för webbapplikationer i Scala och Java.
Det är utformat för att bygga moderna webbapplikationer och API:er med hög skalbarhet, med fokus på utvecklares produktivitet och prestanda.
Reaktiv och asynkron kärna
Play bygger på en reaktiv grund och använder Akka under huven. Det innebär att ramverket hanterar förfrågningar asynkront och som standard inte blockerar.
- Reaktivt: Hanterar effektivt många samtidiga förfrågningar.
- Asynkront: Operationer blockerar inte servertråden.
- Tillståndslöst: Utformat för horisontell skalning, vilket gör det väl lämpat för mikrotjänster.
Skapa ett Play-projekt
För att starta ett nytt Play-projekt använder du SBT (Scala Build Tool) tillsammans med en Play-seed-mall. Se till att SBT är installerat.
Kör det här kommandot i terminalen:
sbt new playframework/play-scala-seed.g8Kommandot skapar en ny projektkatalog med en grundläggande struktur för en Play-applikation i Scala.
Play-projektets struktur
Ett Play-projekt har en väldefinierad katalogstruktur:
app/: Innehåller din Scala-källkod (controllers, modeller och vyer).conf/: Konfigurationsfiler somroutes(URL-mappning) ochapplication.conf.public/: Statiska resurser (JavaScript, CSS och bilder).project/: Filer som definierar SBT-bygget (t.ex.build.sbt).test/: Applikationens tester.
Mappa URL:er med `routes`
Filen conf/routes är central. Den definierar hur HTTP-förfrågningar (metod + sökväg) mappas till specifika controller-åtgärder i applikationen.
Varje rad anger en HTTP-metod, en URL-sökväg och den controllermetod som ska anropas.
# conf/routes
GET / controllers.HomeController.index()
GET /hello/:name controllers.HelloController.sayHello(name: String)Skapa Play-controllers
Controllers är Scala-objekt (eller klasser) som hanterar inkommande HTTP-förfrågningar. De innehåller åtgärdsfunktioner som bearbetar förfrågningar och returnerar resultat.
Dina controllers utökar vanligtvis BaseController och får ControllerComponents injicerade.
package controllers
import play.api.mvc._
import javax.inject._
@Singleton
class HomeController @Inject()(val controllerComponents: ControllerComponents) extends BaseController {
// Action functions go here
}Definiera åtgärdslogik
En åtgärdsfunktion är kärnlogiken i en controller. Den tar emot en implicit Request och returnerar ett Result (t.ex. Ok, NotFound eller Redirect).
Blocket Action { ... } omsluter din kod och gör den till en giltig Play-åtgärd.
// Inside HomeController
def sayHello(name: String) = Action { implicit request =>
Ok(s"Hello, $name! Welcome to Play.")
}Dynamisk HTML med Twirl
Play använder Twirl-mallar (.scala.html-filer) för att generera dynamiska HTML-svar. De gör det möjligt att bädda in Scala-kod direkt i HTML-koden.
Mallarna är typsäkra och kompileras, vilket gör att fel upptäcks tidigt.
@* 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>Starta Play-applikationen
När projektet är konfigurerat och du har definierat några routes och controllers kan du köra applikationen med SBT.
Gå till projektets rotkatalog i terminalen och kör:
sbt runApplikationen startar vanligtvis på http://localhost:9000.
Frågesport om Play-komponenter
Nu testar vi dina kunskaper om grunderna i Play Framework.
Sammanfattning: grunderna i Play
Du har tagit dina första steg med Play Framework! Vi gick igenom:
- Vad Play är och dess reaktiva egenskaper.
- Hur man konfigurerar ett nytt projekt med SBT.
- De viktigaste projektkatalogerna.
- Rollen för
conf/routesvid URL-mappning. - Hur man skapar controllers och åtgärdsfunktioner.
- Hur Twirl-mallar används för dynamiska vyer.
- Hur Play-applikationen körs.
Nästa steg är att lära dig bygga RESTful API:er med Play!
Lär dig Scala med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 39
- Lektioner
- 143
Vanliga frågor
Är lektionen ”Grunderna i Play Framework” gratis?
Ja – hela texten till ”Grunderna i Play Framework” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Scala för backendutveckling och funktionell programmering, kan Ni uppgradera till CoddyKit PRO. Kursen i Scala för backendutveckling och funktionell programmering innehåller totalt 3 lektioner.
Vad lär jag mig i ”Grunderna i Play Framework”?
Kom igång med Play, förstå dess arkitektur och konfigurera er första webbapplikation. Ni övar på Scala för backendutveckling och funktionell programmering med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Scala för backendutveckling och funktionell programmering?
Du behöver inga förkunskaper. Utbildningen i Scala för backendutveckling och funktionell programmering på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 3.
Hur lång tid tar lektionen ”Grunderna i Play Framework”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Scala för backendutveckling och funktionell programmering-lektionen?
Ja. Varje Scala för backendutveckling och funktionell programmering-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Grunderna i Play Framework
- Bygg RESTful-API:er med Play
- Databasintegration med Slick/Doobie