0Pricing
Scala for Backend Engineering & Functional Programming · Pelajaran

Dasar-Dasar Play Framework

Mulailah menggunakan Play, pahami arsitekturnya, dan siapkan aplikasi web pertama Anda.

Dasar-Dasar Play Framework adalah pelajaran Scala for Backend Engineering & Functional Programming gratis di CoddyKit. Ini adalah pelajaran 1 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Scala for Backend Engineering & Functional Programming, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Scala for Backend Engineering & Functional Programming mencakup 3 pelajaran total.

Pengantar Play Framework

Selamat datang di Play Framework! Play adalah framework aplikasi web sumber terbuka yang andal untuk Scala dan Java.

Framework ini dirancang untuk membangun aplikasi web dan API modern yang sangat mudah diskalakan, dengan menekankan produktivitas pengembang dan kinerja.

Inti Reaktif dan Asinkron

Play dibangun di atas fondasi reaktif dengan memanfaatkan Akka di baliknya. Artinya, Play menangani permintaan secara asinkron dan secara default tidak memblokir.

  • Reaktif: Menangani banyak permintaan serentak secara efisien.
  • Asinkron: Operasi tidak memblokir thread server.
  • Tanpa status: Dirancang untuk penskalaan horizontal sehingga sangat cocok untuk layanan mikro.

Membuat Proyek Play

Untuk memulai proyek Play baru, Anda akan menggunakan SBT (Scala Build Tool) dengan template seed Play. Pastikan SBT telah terpasang.

Jalankan perintah ini di terminal Anda:

sbt new playframework/play-scala-seed.g8

Perintah ini membuat direktori proyek baru dengan struktur dasar aplikasi Play Scala.

Tata Letak Proyek Play

Proyek Play memiliki struktur direktori yang terdefinisi dengan baik:

  • app/: Berisi kode sumber Scala Anda (controller, model, dan tampilan).
  • conf/: File konfigurasi seperti routes (pemetaan URL) dan application.conf.
  • public/: Aset statis (JavaScript, CSS, dan gambar).
  • project/: File definisi build SBT (misalnya, build.sbt).
  • test/: Test aplikasi Anda.

Memetakan URL dengan `routes`

File conf/routes sangat penting. File ini menentukan bagaimana permintaan HTTP (method + path) dipetakan ke action controller tertentu dalam aplikasi Anda.

Setiap baris menentukan method HTTP, path URL, dan method controller yang akan dipanggil.

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

Membuat Controller Play

Controller adalah objek (atau class) Scala yang menangani permintaan HTTP masuk. Controller berisi fungsi action yang memproses permintaan dan mengembalikan hasil.

Controller Anda biasanya memperluas BaseController dan menerima injeksi ControllerComponents.

package controllers

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

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

Mendefinisikan Logika Action

Fungsi action adalah logika inti di dalam controller. Fungsi ini menerima Request implisit dan mengembalikan Result (misalnya, Ok, NotFound, Redirect).

Blok Action { ... } membungkus kode Anda sehingga menjadi action Play yang valid.

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

HTML Dinamis dengan Twirl

Play menggunakan template Twirl (file .scala.html) untuk menghasilkan respons HTML dinamis. Template ini memungkinkan Anda menyisipkan kode Scala langsung ke dalam HTML.

Template bersifat aman secara tipe dan dikompilasi sehingga error dapat ditemukan lebih awal.

@* 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>

Menjalankan Aplikasi Play

Setelah proyek Anda disiapkan dan Anda telah mendefinisikan beberapa rute serta controller, Anda dapat menjalankan aplikasi menggunakan SBT.

Buka direktori root proyek Anda di terminal, lalu jalankan:

sbt run

Aplikasi biasanya akan dimulai di http://localhost:9000.

Kuis Komponen Play

Mari periksa pemahaman Anda tentang dasar-dasar Play Framework.

Rekap: Dasar-Dasar Play

Anda telah mengambil langkah pertama dengan Play Framework! Kita membahas:

  • Pengertian Play dan sifat reaktifnya.
  • Cara menyiapkan proyek baru dengan SBT.
  • Direktori utama proyek.
  • Peran conf/routes dalam pemetaan URL.
  • Cara membuat controller dan fungsi action.
  • Penggunaan template Twirl untuk tampilan dinamis.
  • Cara menjalankan aplikasi Play Anda.

Selanjutnya, Anda akan belajar membangun API RESTful dengan Play!

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Dasar-Dasar Play Framework” gratis?

Ya — teks lengkap “Dasar-Dasar Play Framework” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Scala for Backend Engineering & Functional Programming, upgrade ke CoddyKit PRO. Kursus Scala for Backend Engineering & Functional Programming mencakup 3 pelajaran total.

Apa yang akan aku pelajari di “Dasar-Dasar Play Framework”?

Mulailah menggunakan Play, pahami arsitekturnya, dan siapkan aplikasi web pertama Anda. Kamu berlatih Scala for Backend Engineering & Functional Programming dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Scala for Backend Engineering & Functional Programming?

Tidak diperlukan pengalaman sebelumnya. Scala for Backend Engineering & Functional Programming di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 3.

Berapa lama pelajaran “Dasar-Dasar Play Framework” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Scala for Backend Engineering & Functional Programming ini?

Ya. Setiap pelajaran Scala for Backend Engineering & Functional Programming menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Dasar-Dasar Play Framework
  2. Membangun API RESTful dengan Play
  3. Integrasi Basis Data dengan Slick/Doobie
← Kembali ke Scala for Backend Engineering & Functional Programming