Play Framework Temelleri
Play ile çalışmaya başlayın, mimarisini anlayın ve ilk web uygulamanızı kurun.
Play Framework Temelleri, CoddyKit'te ücretsiz bir Scala for Backend Engineering & Functional Programming dersidir. Bu, 3 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Scala for Backend Engineering & Functional Programming öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Scala for Backend Engineering & Functional Programming kursu toplamda 3 dersten oluşur.
Play Çatısına Giriş
Play çatısına hoş geldiniz! Play, Scala ve Java için güçlü, açık kaynaklı bir web uygulaması çatısıdır.
Geliştirici üretkenliğini ve performansını ön planda tutarak yüksek düzeyde ölçeklenebilir, modern web uygulamaları ve API'ler oluşturmak için tasarlanmıştır.
Tepkisel ve Eş Zamanlı Olmayan Çekirdek
Play, temelinde Akka'dan yararlanan tepkisel bir yapı üzerine kuruludur. Bu, istekleri varsayılan olarak eş zamanlı olmayan ve engellemesiz bir şekilde işlediği anlamına gelir.
- Tepkisel: Aynı anda gelen çok sayıda isteği verimli bir şekilde işler.
- Eş zamanlı olmayan: İşlemler sunucu iş parçacığını engellemez.
- Durumsuz: Yatay ölçeklendirme için tasarlanmıştır; bu da onu mikro hizmetler için ideal kılar.
Play Projesi Oluşturma
Yeni bir Play projesi başlatmak için Play seed şablonuyla SBT (Scala Derleme Aracı) kullanacaksınız. SBT'nin yüklü olduğundan emin olun.
Terminalinizde şu komutu çalıştırın:
sbt new playframework/play-scala-seed.g8Bu komut, temel bir Play Scala uygulaması yapısına sahip yeni bir proje dizini oluşturur.
Play Proje Yerleşimi
Bir Play projesinin iyi tanımlanmış bir dizin yapısı vardır:
app/: Scala kaynak kodunuzu (denetleyiciler, modeller ve görünümler) içerir.conf/:routes(URL eşleme) veapplication.confgibi yapılandırma dosyalarını içerir.public/: Statik varlıkları (JavaScript, CSS ve görseller) içerir.project/: SBT derleme tanımı dosyalarını (örneğinbuild.sbt) içerir.test/: Uygulamanızın testlerini içerir.
`routes` ile URL'leri Eşleme
conf/routes dosyası çok önemlidir. HTTP isteklerinin (yöntem + yol) uygulamanızdaki belirli denetleyici eylemleriyle nasıl eşleneceğini tanımlar.
Her satırda bir HTTP yöntemi, URL yolu ve çağrılacak denetleyici yöntemi belirtilir.
# conf/routes
GET / controllers.HomeController.index()
GET /hello/:name controllers.HelloController.sayHello(name: String)Play Denetleyicileri Oluşturma
Denetleyiciler, gelen HTTP isteklerini işleyen Scala nesneleri (veya sınıfları)dır. İstekleri işleyen ve sonuç döndüren eylem işlevleri içerirler.
Denetleyicileriniz genellikle BaseController sınıfını genişletir ve ControllerComponents ile enjekte edilir.
package controllers
import play.api.mvc._
import javax.inject._
@Singleton
class HomeController @Inject()(val controllerComponents: ControllerComponents) extends BaseController {
// Action functions go here
}Eylem Mantığını Tanımlama
Bir eylem işlevi, denetleyici içindeki temel mantıktır. Örtük bir Request alır ve bir Result (örneğin Ok, NotFound veya Redirect) döndürür.
Action { ... } bloğu, kodunuzu geçerli bir Play eylemine dönüştürür.
// Inside HomeController
def sayHello(name: String) = Action { implicit request =>
Ok(s"Hello, $name! Welcome to Play.")
}Twirl ile Dinamik HTML
Play, dinamik HTML yanıtları oluşturmak için Twirl şablonlarını (.scala.html dosyaları) kullanır. Bu şablonlar, Scala kodunu doğrudan HTML'nizin içine yerleştirmenize olanak tanır.
Şablonlar tür güvenlidir ve derlenir; böylece hatalar erkenden yakalanır.
@* 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>Play Uygulamanızı Başlatma
Projeniz kurulduktan ve bazı yollar ile denetleyiciler tanımlandıktan sonra uygulamanızı SBT kullanarak çalıştırabilirsiniz.
Terminalde projenizin kök dizinine gidin ve şu komutu çalıştırın:
sbt runUygulama genellikle http://localhost:9000 adresinde başlar.
Play Bileşenleri Sınavı
Play çatısının temellerini ne kadar anladığınızı kontrol edelim.
Özet: Play Temelleri
Play çatısıyla ilk adımlarınızı attınız! Şunları ele aldık:
- Play'in ne olduğunu ve tepkisel yapısını.
- SBT ile yeni bir projenin nasıl kurulacağını.
- Temel proje dizinlerini.
- URL eşleme için
conf/routesdosyasının rolünü. - Denetleyicilerin ve eylem işlevlerinin nasıl oluşturulacağını.
- Dinamik görünümler için Twirl şablonlarının kullanılmasını.
- Play uygulamanızın çalıştırılmasını.
Sırada Play ile RESTful API'ler oluşturmayı öğreneceksiniz!
Sıkça Sorulan Sorular
“Play Framework Temelleri” dersi ücretsiz mi?
Evet — “Play Framework Temelleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Scala for Backend Engineering & Functional Programming kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Scala for Backend Engineering & Functional Programming kursu toplamda 3 dersten oluşur.
“Play Framework Temelleri” dersinde ne öğreneceğim?
Play ile çalışmaya başlayın, mimarisini anlayın ve ilk web uygulamanızı kurun. Scala for Backend Engineering & Functional Programming ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Scala for Backend Engineering & Functional Programming öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Scala for Backend Engineering & Functional Programming, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 1. dersidir.
“Play Framework Temelleri” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Scala for Backend Engineering & Functional Programming dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Scala for Backend Engineering & Functional Programming dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Play Framework Temelleri
- Play ile RESTful API Oluşturma
- Slick/Doobie ile Veritabanı Entegrasyonu