Bölüm 5: Uygulama Pratiği

Sevgili Geleceğin Kemal Uzmanları,

Teori ve pratik, birbirini tamamlayan iki yarım gibidir. İşte bu yüzden, bu bölümde öğrendiklerimizi uygulamalı örneklerle pekiştireceğiz. Öğrendiklerimizin üzerine bir adım daha ekleyerek, bir Kemal web uygulaması inşa etmeye başlayalım.

5.1 Proje Yapısının Oluşturulması

İlk olarak, düzenli bir proje yapısı oluşturalım. Bu yapıda, farklı işlevler farklı dosyalarda yer alacak, böylece projeniz kolayca ölçeklenebilir olacak.

/projeniz
  /src
    /models
    /views
    /controllers
  app.cr
  shard.yml

5.2 Modellerin Tanımlanması

/models klasöründe, veritabanı modellerimizi tanımlayalım. Örneğin, bir “User” modeli şöyle olabilir:

class User
  DB.mapping(
    id: Int64,
    isim: String,
    email: String
  )
end

5.3 Görünümlerin Hazırlanması

/views klasöründe, web sayfalarınız için HTML şablonlarınızı oluşturun. Crystal ve Kemal, ECR (Embedded Crystal) gibi şablon dillerini destekler, böylece dinamik içerik oluşturabilirsiniz.

5.4 Denetleyicilerin Oluşturulması

/controllers klasöründe, işlevlerinizi yönetecek denetleyicilerinizi oluşturun. Örneğin, bir HomeController şöyle görünebilir:

class HomeController
  def self.index(env)
    env.response.content_type = "text/html"
    env.response.print "Merhaba Dünya! Hoş geldiniz!"
  end
end

get "/" { |env| &HomeController.index(env) }

5.5 Uygulamanın Toplanması

Son olarak, app.cr dosyasında tüm parçaları bir araya getirelim. Kemal’i başlatmak ve rotaları tanımlamak için bu dosyayı kullanacağız.

require "kemal"
require "./controllers/*"
require "./models/*"

Kemal.run

Böylece, ilerledikçe ve projeniz büyüdükçe, düzenli bir yapıda çalışmayı sürdürebilirsiniz.

Bu bölümde bir web uygulamasının temel yapı taşlarını oluşturduk ve her birini detaylı bir şekilde inceledik. Umarız ki bu, sizin kendi Kemal projelerinizde sağlam bir başlangıç yapmanıza yardımcı olmuştur.

Sonraki bölümde, projemizi bir adım daha ileri götüreceğiz. Şimdilik hoşça kalın ve kodlamaya devam edin!

Last updated