Merhaba arkadaşlar, verdiğimiz uzun aradan sonra tekrar yazmanın mutluluğu içindeyim! Bu ayki yazımda sizlere elimden geldiğince bir Java Framework olan Grails’i anlatmaya çalışacağım. Grails açık kaynak kodlu bir Web Framework’tür ve esas olarak Groovy programlama dili ile yazılır. Grails, MVC(Model View Controller) paradigmasına sahiptir(başka bir yazımızda MVC üzerine derin bir paylaşım yapacağız). Grails’in biz web tabanlı uygulama geliştirmek isteyenler için, önceden Java tecrübesi olsun olmasın, bazı hayati avantajları vardır. Öncelikle bunlara değinelim. Grails bize dinamik etiket(tag) yapıları sağlar. Bu sayede web sayfası bileşenlerini çok kolay yaratabiliriz. Örnek verecek olursak;

<g:each in="${books}">
        <li>${it.title}</li>
    </g:each>

Bu yapı books objesinin hepsi bitene kadar books objesinin başlık(title)’larını liste şeklinde ekrana basacaktır. Bu etiketler if-else yapısı bakımından da oldukça zengindir ve bu sayede bize çok büyük kolaylılar sağlamaktadır. Ayrıca Grails yüksek verimliliğe sahiptir. İsterseniz bunu da birkaç örnekle açıklayalım. Grails’te XML yapılanmasına gerek yoktur. Java ile yapılan web uygulamalarında geliştiricilerin bunun için de XML dosyasını yapılandırmaları gerekiyordu. Bu da en ufak bir değişiklikte fazladan zaman ve emek istemekteydi. Ancak Grails sayesinde bu sorun ortadan kalkmıştır. Örneğin controller kısmında(altta değineceğiz), class yapısını oluşturduğumuzda ve bunu bitirdiğimizde, kendisi fazladan hiçbir şey yapmadan bitmiş olacaktır. Ayrıca controller kısmında oluşturacağımız fonksiyonlar ile karmaşık yöntemleri otomatik olarak hallederiz. "Delete" ve "save" fonksiyonlarını buna örnek olarak verebiliriz.

Grails’teki MVC mantığından bahsedelim biraz da. Model kısmı bizim oluşturduğumuz class yapısıdır. Örnek olarak;

class Book{
        String  baslik
        Person yazar    
}

Bu kısım bizim model kısmımızı oluşturmaktadır. Controller kısmında ise oluşturacağımız yöntemlerle class’ımızla ne yapacağımızı şekillendireceğiz. Mesela "save()" yöntemi ile oluşturduğumuz class’ları kaydedelim;

def book = new Book(baslik:"The Da Vinci Code", yazar:Yazar.findByName("Dan Brown"))
 book.save()

ya da "count()" yöntemi ile veri tabanımızdaki class sayımıza bakalım;

def Booknumber = Book.count()

Yukarıda anlattığım şeyler şimdi daha anlaşılır olmuştur umarım. Son olarak view kısmına gelelim. Bu kısım önceden HTML ile uğraşanların çok kolay uyum sağlayacağı bir yapıya sahiptir. Bu yapı bizim ekrana bastıracağımız yapıyı oluşturmaktadır. Tek farkı yukarıda da belirttiğimiz gibi dinamik tag yapısına sahip olmasıdır.

<html>
  <head>
    <title>Our books</title>
  </head>
  <body>
    <ul>
      <g:each in="${books}">
        <li>${it.title} (${it.author.name})</li>
      </g:each>
    </ul>
  </body>
</html>

Yukarıdaki yapı basit bir view örneğidir. Bu dosyanın uzantısı GSP (Groovy Server Pages)dir.

Bu yazımda siz değerli e-bergi takipçilerine Grails’i anlatmaya çalıştım, umarım başarılı olmuşumdur. Hoşça kalın.