Play Framework

Bu hafta yaptıklarıma şöyle bir göz gezdiriyim..

Neler yaptım??

Play Framework‘ün kendi sitesinden versiyon 1.2.4’ü indirdim. Bunun yanında Play Framework’de java kullanılıyor, javanın da 1.6 versiyonunu indirdim, bir diğer gerekli araç da, eclipse bunu da javayı kullanacağımız için kuruyoruz. Kurulumlar tamamlandıktan sonra, play’in her yerden çalışabilmesi için ´.bashrc´’ye :

export PATH=' play'in kurulu olduğu yol' :$PATH ayarın tanımlanması için bilgisayarı açıp kapatmamak için(ayarların etkinleşmesi için) şu komutu komut satırına yazıyoruz:

source .bashrc play'in kurulu olduğu dosyamızın içine girip,güncelleme için:

 $ play deps --sync uygulamamızın çalışacağı klasörün içine de eclipse de projemizi görebilmemiz için aşağıdaki komutu çalıştırıyoruz: 

$play eclipsify
$play run  ´play run´ ile de play'i çalıştırmış oluyoruz. 

Eclipse’i ilk açtığımızda karşımıza
Workspace ekranı geliyor. Eclipse’i açmadan önce bir yerde workspace adlı bir dosya açmamız gerekiyor ve bu ekran geldiğinde de o dosyanın yolunu seçmeliyiz çünkü eclipse çalışmaları o dosyaya depoluyor. Bu adımdan sonra play projemizi açmak için:

import -> general -> existing project into workspace
select root directory -> browse -> proje_adı

Eclipse, java, play.. Bunlar daha önce haşır neşir olmadığım araçlardı. Kurulum kısmı geçtikten sonra play’i kurcalama zamanı gelmişti.. Play ile çalışmanın güzel yanı, bir deneme yapınca hatanı ya da yaptığını anında kontrol etme fırsatının olması mesela; application.java’da bir değişiklik yapıp kaydettikten sonra tarayıcımızın 9000 portu çalıştırdığımızda sonucu direkt olarak görebiliriz. Play kendi içindeki ´H2´ adlı bir SQL veritabanı yönetimi sistemi kullanıyor.

/conf/application.conf  içinde,
db=mem satırının komentini kaldırdığımızda ´in_memory´ veritabı kullanıyoruz yani, verilerimiz bellekte tutuluyor. Böylelikle Play uygulamamızı açtığımızda verilere ulaşabiliyoruz, uygulamayı kapattığımızda ulaşamıyoruz.

Uyarı
Hemen burada kendi yaptığım bir hataya düşmemeniz için uyarı da bulunayım. ´Play run´ komutu girdikten sonra eclipse de çalışmaya başladım.localhost:9000 porttan yaptıklarımı kontrol ediyordum derken bum! localhost’da hata almaya başladım kurcaladım,adımları baştan yaptım düzeltemedim, en sonunda bilgisayara reset attım düzeldi fakat sorunu bulamadım. Ertesi gün Umut abi’ye sorduğumda sorunu ve çözümünü anladım: Ben ´play run´ diyip çalıştırdığım süreci tekrar çalıştırmaya çalışmışım, yani terminali kapatmışım fakat process hala arkada çalışıyor ve ben üstüne yeniden play run dediğimde hata veriyormuş.Çözüm: Süreci nasıl sonlandıracağız?

$ps aux |grep java     :içinde java geçen process isimlerine bakıyoruz.
$kill -9 process number      ilk komutun çıktısındaki verilerden java processinin numarasını buraya yazarak o süreci sonlandırıyoruz. Bu kadarcık.

Play’de oluşturduğumuz projemizin içindeki dosyalara göz gezdirecek olursak:

Play (request-response) istek-yanıt mantığıyla çalışır. 1.HTTP isteği framework tarafından alınır. 2.Router bileşeni bu isteği kabul edebilecek en uygun router’ı bulmaya çalışır. 3.İlgili uygumala methodu yürütülür ( controller) . 4.Şablon dosyası oluşturulur ( render,model) . 5.Action methodunun sonucu HTTP response olarak yazılır.

GitHub'dayım