Kaskus

Tech

coding.kumatAvatar border
TS
coding.kumat
Groovy and Grails Thread
Diubah oleh coding.kumat 05-01-2013 00:41
0
9.9K
48
GuestAvatar border
Komentar yang asik ya
Mari bergabung, dapatkan informasi dan teman baru!
Programmer Forum
Programmer Forum
KASKUS Official
20.3KThread5.1KAnggota
Tampilkan semua post
coding.kumatAvatar border
TS
coding.kumat
#1
kaskus-image

kaskus-image


Apa itu Grails?

Menurut Rocher dan Brown, Tujuan dari digunakannya framework Grails adalah untuk menyederhanakan pengembangan web berbasis java yang bersifat enterprise.
Grails mengutamakan konsep konvensi di atas konfigurasi (convention over configuration), DRY (don’t repeat yourself) dan pengaturan-pengaturan yang dilakukan melalui bahasa Groovy serta sekumpulan bahasa spesifik domain (DSL) yang membuat pengembangan web menjadi lebih mudah.

Grails berdiri di atas beberapa teknologi fundamental, yakni Spring, Hibernate dan platform Java. Grails memanfaatkan bahasa dinamis seperti halnya Ruby on Rails, Django dan Turbogears, namun dengan tetap membawa lingkungan Java Virtual Machine (JVM) ke hadapan developer.

Faktor yang secara jelas menetapkan Grails terpisah dari framework lainnya terbukti dalam pilihan desain yang dibuat selama tahap pengembangannya. Dengan tidak menciptakan kembali roda (reinvent the wheels), dan dengan memanfaatkan framework yang telah teruji dan terpercaya seperti Spring dan Hibernate, Grails dapat memberikan fitur-fitur yang membuat pengembangan web lebih mudah tanpa mengorbankan kematangan yang telah ada pada bahasa Java.

Grails ini didukung oleh beberapa teknologi yang paling populer bersifat open source pada kategori mereka masing-masing:

  1. Hibernate: Standar de facto untuk object-relational mapping (ORM) di dunia Java.
  2. Spring: framework kontainer bagi IoC (Inversion of Control) dan pembungkus (wrapper) bagi Java yang bersifat open source dan sangat populer.
  3. sitemesh: framework untuk menerapkan layout yang kuat dan stabil bagi halaman web.
  4. Jetty: Servlet container yang bisa dibenamkan dan telah teruji.
  5. HSQLDB: Relational Database Management System (RDBMS) yang diimplementasi dalam bahasa Java murni.


ORM berfungsi sebagai cara untuk memetakan objek dari dunia berorientasi objek ke dalam tabel relasional pada basis data. ORM menyediakan abstraksi tambahan di atas SQL, memungkinkan pengembang untuk berpikir tentang domain model mereka bukan terpaku dalam lingkup SQL. IOC menyediakan cara untuk "mengaitkan" bersama objek sehingga dependensi tersedia pada saat runtime. Sebagai contoh, sebuah object yang melakukan persistence mungkin memerlukan akses ke sumber data. IOC mengurangi beban developer untuk mendapatkan referensi ke data sumber.

Developer mendapatkan keuntungan dari Grails karena membungkus (wrap) framework-framework tersebut dengan memperkenalkan lapisan abstraksi lain melalui bahasa Groovy. Pengembang, tidak akan tahu bahwa mereka sedang membangun sebuah Spring dan Hibernate aplikasi. Tentu pengembang tak perlu menyentuh satu pun baris Hibernate atau Spring XML, tapi bilamana dibutuhkan hal-hal tersebut pun telah disediakan.

kaskus-image


Smith dan Ledbrook menyatakan bahwasanya framework Grails terinspirasi dari framework Ruby on Rails. Grails adalah framework pengembangan Java Web generasi terbaru, yang pada intinya membawa 7 ide utama kepada developer.

kaskus-image


1. Convention over Configuration

Grails memiliki pemahaman awal yang bersifat sensibel dari source code yang ditulis pengembang.

a. Tambahkan kelas controller disebut Shop dengan suatu action yang disebut order, dan Grails akan mengeksposnya sebagai URL /yourapp/shop/order

b. Tempatkan file view dalam direktori yang disebut /views/shop/order, dan Grails akan mencari hubungan semuanya tanpa satu baris konfigurasi.

c. Buat kelas domain baru yang disebut Nasabah, dan Grails secara otomatis akan membuat tabel yang disebut nasabah dalam database, secara otomatis.

d. Tambahkan beberapa field untuk objek Pelanggan, dan Grails secara otomatis akan membuat yang diperlukan field dalam tabel pelanggan dengan cepat (termasuk tipe data yang benar berdasarkan batasan yang ditetapkan). Tidak ada SQL yang dibutuhkan.

2. agile philosophy

Grails membuat kesepakatan/convention besar tentang menjadi sebuah framework yang agile. Dengan memanfaatkan bahasa dinamis (Groovy), Grails membuat hal-hal yang dulunya sulit di Java menjadi lebih mudah. Apakah itu pengolahan form, pelaksanaan tag libraries, atau menulis unit test, ada keringkasan dan ekspresif untuk Grails yang membuat operasi-operasi ini lebih mudah dan lebih dapat di-maintenance pada saat yang sama.

Dengan Grails pula, developer dapat dengan mudah mengubah (edit) controller maupun view, taglib, konfigurasi dan sebagainya tanpa perlu me-restart server.

3. rock-solid foundations

Grails tidak hanya dibangun di atas teknologi Hibernate dan Spring, namun juga library Quartz bahkan Lucene dan Compass.

4. scaffolding and templating

Proses scaffolding (mengotomatisasi pembuatan CRUD) adalah sangat mudah, dengan cukup membuat POGO (Plain Old Groovy Object), sebuah model/domain class dapat dibuatkan controller dan view-nya dengan sekejap. Proses scaffolding ini berbasis kepada templating.

5. Java integration

Grails melalui Groovy, dapat dengan mudah mengakses class pada Java, maupun suatu .jar. Hal ini menjadikan developer Java dapat tetap menulis kode sumber Java, jika diinginkan. Dan jika memang diperlukan, developer juga diizinkan menggunakan kembali (re-use) file-file konfigurasi Hibernate dan Spring yang telah ada sebelumnya. Bahkan sintaks yang ada pada Java, dapat diterima pada Groovy.

6. incredible wetware

Grails memiliki komunitas yang besar dan setiap harinya berkembang semakin besar, baik melalui forum maupun mailing list. Komunitas-komunitas tersebut tersebar di berbagai jejaring sosial, blog dan gathering-gathering yang diadakan rutin.

Hal ini menjadikan jumlah plugin yang ada pada Grails semakin banyak, dan dengan adanya keikutsertaan developer-developer lain pada pengembangannya, menjadikan plugin-plugin Grails tersebut semakin baik dan berkualitas.

7. productivity ethos

Dengan konvensi di atas konfigurasi, dan fitur-fitur lain yang unik, diharapkan Grails dapat meningkatkan produktivitas bagi developer.

Rocher dan Brown menambahkan bahwasanya Grails memberikan developer untuk mengambil keuntungan penuh dari bahasa Java dan JVM, karena Grails menggunakan bahasa Groovy. Adapun Groovy tersebut merupakan bahasa JVM, yang dinamis, ringan namun tetap kuat (robust) dan dapat terintegrasi mudah dengan bahasa Java.

Sumber: Rocher dan Brown, Definitive Guide to Grails, 2nd Edition. Apress.

Link ke wikipedia: Grails di wikipedia
Diubah oleh coding.kumat 24-11-2012 14:51
0
Ikuti KASKUS di
© 2026 KASKUS, PT Darta Media Indonesia. All rights reserved.