Category Archives: grails
Devoxx
Devox yukarıdaki görselden de anlaşılacağı gibi bir java topluluğu konferansı. Ama öyle haybeye bir konferans değil… Bizim takımdan Barış ve Cenk bu konferansa katılacaklar…(evet çok şanslılar…) Herneyse… Sıradan bir konferans değil demiştik.
Konferans Bilgileri; Read the rest of this entry
Ve bir Grails uygulaması…
Öncelikle grails ile bir web uygulaması geliştirmek için buradan bütün eksiklerinizi gideriniz.
………………………………………………………………………………………………………………………………………………….
Komut satırını açıp uygulamamızı oluşturmak istediğimiz dizine geliyoruz ve
> grails create-app kutuphane
komutunu kodluyoruz. Kutuphane web uygulamamızın ismi. Bu komut bize kodlama yapacağımız paket hiyerarşisini otomatik olarak sunuyor. Oluşturulan dizinlere kabaca göz attığımızda dikkatimizi çekmesi gereken klasörler
+ grails-app + lib + web-app
Uygulamamızı geliştirmeye başlamadan önce grails’ın bize sunduğu “default” konfigürasyonları biraz değiştirmemiz gerekecek.
+ grails-app
+ conf – DevelopmentDataSource.groovy
isimli dosyayı açtığımızda bizi:
class DevelopmentDataSource { boolean pooling = true String dbCreate = “create-drop” String url = “jdbc:hsqldb:mem:devDB” String driverClassName = “org.hsqldb.jdbcDriver” String username = “sa” String password = “” }
gibi bir groovy kodu karşılayacak. Burada veritabanı ayarlarımızı kişiselleştirmeliyiz. Url kısmına genel olarak kullandığımız bağlantı linkini yazıyoruz. driverClassName karşısına yine db sürücüsünün classpath’i ile yazdıktan sonra username ve password kısımlarını önceden oluşturulmuş hesabımızca dolduruyoruz. Ben Oracle’ın ekspres sürümlerinden birini kkullandığım için benim kodum bu hale geldi ;
class DevelopmentDataSource { boolean pooling = true String dbCreate = “update” String url = “jdbc:oracle:thin:@localhost:1521:XE” String driverClassName = “oracle.jdbc.driver.OracleDriver” String username = “cagdas” String password = “sifre” }
bu düzenlemeyi yaptıktan hemen sonra yapmamız gerekn bir önemli şey ise veritabanımızın sürücüsünü projemizin lib klasörü altına taşımak.
İkinci adım olarak domain-class diye tanımlanan veri sınıflarını oluşturmak. Veri sınıfları genelde akılsızdırlar yani işlevsellikten çok veritabanında tutulan verinin yazılımdaki yansımasıdır sadece. Grails bize veritabanı ile yüzgöz olmadan bu sınıflar üzerinden veritabanı tasarımlarımızı gerçekseme imkanı kılıyor. Biz önce sınıfları ve bağlantıları yazılım seviyesinde oluşturacağız ve geriye kalan bütün tabloları ve tablo ilişkilerini veritabanında grails yapıcak. Şimdi Kitap sınıfımızı oluşturalım;
> grails create-domain-class Kitap
Evet artık böyle bir sınıfımız var ve içini doldurmamız için bizi bekliyor.
[Devamı bir sonraki postta...]
Grails – Getting Started!
Grails hakkında geçenlarde bir fikir gönderisi yapmıştık. Artık Grails’i biraz daha yakından tanıyabiliriz sanırım.
Öncelikle Grails nedir böyle bir şeye neden ihtiyaç duyulmuştur? Ruby 2004 yılında Rails adında bir web uygulama paketi (web application framework) çıkardı ve büyük yankı uyandırdı bu. Nedeni de şuydu ! Kontrollü bir şekilde ve son derece hızlı web uygulamaları geliştirilebiliyordu. Tabi bunun Java platformuna sıçraması pek şaşılacak bir durum değil! Yalnız Grails paketi Java ile değil Groovy ile oluşturulmuştu!
Nedir bu Groovy!?
Groovy çok kısa olarak Ruby,Python gibi dinamik dillerin özelliklerini bünyesine katmış ve Javanın stabilitysini bununla birleştirmiş bir dil! Yazımı (syntax) javayla çok benzer bir şekilde olup özelleşmiş yapılara sahiptir extra olarak. Bunlar da yetmezmiş gibi java ile entegrasyonu (yani javadan groovy e , groovyden javaya referans vermeler falan filan) sağlanmış durumda.Çok kolay bir şekilde java projenize entegre edilebilir sözün kısası.Groovy ile bilgilendirmeyi daha detaylı olarak ileriki postlarda konuşacağız elbette!
Peki insanlar neden Grails’i tercih etsin?!
Grails veri tabanı düzenlemelerinden arayüz tasarımlarına kadar olan katmanları sizin belirlediğiniz bilgilere göre default bir şekilde size sunuyor.Bunu çok kısa bir süre , otomatik ve en önemlisi sonradan düzenlemelere açık olarak geliştiriciye sunuyor. Üstüne üstlük bir java geliştiricisinin bu teknolojiyi kullanması için oluşturulan öğrenme eğrisi Groovy nedeniyle neredeyse 0 (sıfır). Grails’in open source bir paket olması ve henüz çok yeni br gelişim olmasına rağmen web uygulamalarında çığır açacağı kesin.
Grails’e teknik yönden yaklaşırsak;
Grails’in database mapping işlemlerini gerçekleştiren modülü Gorm(grails object relational mapping) a bir göz atabiliriz başlangıç olarak. Gorm Hibernate 3 kullanıyor. Bunun yanında hiçbir konfigürasyon gereksinimi duymuyor. Grails ile oluşturduğumuz Domain (Entity) class’larımızı veritabanında gerçeksiyor üstüne tüm ilişkileri veya ara tabloları hatta ve hatta “recursive table” denilen tabloları oluşturabiliyor. Bunu uygulamalı olarak paylaşıcam sizinle.
Gorm’dan başka Spring ‘i kullanmamızı (hatta eminim kimileri kullandığının bile farkında değildir.) çocuk oyuncağı kadar kolay bir hale getiriyor. Gerekli paketleri projeye dahil etmek yeterli; tüm konfigürasyonlar Grails tarafından yapılıyor! Tabi geliştiriciye kendi konfigürasyonunu yapma olasılığı da sağlanıyor (hem hibernate hem de spring)
Bunun yanında Grails Groovy nin dinamik metod tanımlamalarından yararlanıyor çokça. Nedir bu dinamik metod kavramı? Bildiğimiz gibi nesnel programlamada (OOP – Object Oriented Programming) standart olarak oluşturduğumuz yada gereksinim duyduğumuz getter-setter ve yardımcı (find,findAll, isEmpty gibi metodlar tanıdık geldi mi size ;) ) metodlar önceden tanımlı. Diyelim ki Kitap diye bir tipimiz var ve title diye bir String tipinde özelliği olsun.Siz kitap classı içinde findByTitle(“Getting Started with Grails”) diye bir metod çağırabilirsiniz :) Grails onu sizin için çok önceden implement etmişti bile! Peki bu bize ne sağlar? Bu bize “code noise” deniler basit işlevlerin ortadan kalkmasını developerın asıl probleme odaklanmasını ayrıca zaman kazanmasını sağlar!
Peki ya Dependency?
Projelerimizde kullandığımız paketlerin birbirleriyle bağıntılarını organize eden yapılar kullanırız. Grails Ivy’yi standart oalrak kullanmakta. Fakat Maven da kullanılabilir durumda çok etkili olmasa da. Maven da “.\src\main\grailsProject ” dizininde oluşuturlabiliyor ve verim alınabiliyor.
En üst seviyeye geldiğimizde GSP denilen Groovy Server Pages ile karşılaşıyoruz Grails uygulamalarında. JSP ile çok benzeşen bu yapı Groovy nin tüm özellikleriyle gelişmiş bir yapı.
Bir sonraki gönderide basit bir uygulamanın gelişimini yayınlayacağım.
Grails!
GRAILS BİR WEB UYGULAMA YAPISIDIR
(web application framework)
RubyOnRails ile ortaya şatafatlı bir şekilde çıkan daha öğrenmekte olduğum “olay”ın java dünyasına yansıması diyebiliriz. Grails ile neyi nasıl yaparım diye güzel bi sorunun cevabını “Javada Web Geliştirmeyi konfigürasyonlara ihtiyaç duymadığınızı ve katmanlarınızı (MVC) oluşturmada yaşanan zaman kaybını geri kazandığınızı düşünün.” şeklinde alıyoruz. Hibernate ve Spring ile oluşturduğumuz tüm bu katmanlar otomatik olarak oluşturuluyor ve en üst katmana kadar
[MVC (model-view-controller ref: http://en.wikipedia.org/wiki/Model-view-controller ) de view]default bir biçimde geliştiriciye sunuluyor.
Bu otomatik kod geliştiricinin iyi ve kötü yönlerini ilerleyen zamanlarda sizinle paylaşabilirim. Daha detaylı şekilde konuşmak için sonraki gönderilerde görüşmek üzere :)
ref:
[ http://grails.org/ ]
[ http://groovy.codehaus.org/ ]
ayrıca bknz:
[benzer çalışmalar]
Ruby On Rails !

