- Beranda
- Programmer Forum
Groovy and Grails Thread
...
TS
coding.kumat
Groovy and Grails Thread
Pendahuluan:
Spoiler for Pendahuluan:
Groovy
The Way of Groovy
Pendahuluan, Instalasi, Getting Started
Perbedaan Groovy dan Java
Tipe data pada Groovy
Struktur Logika (Conditional & Loop)
String, Method, Closure
Collections
Range, Array, Operator
Groovy dan Database
Groovy di Eclipse dan Netbeans
Dari Groovy ke Java dan Sebaliknya
Output berupa XML dan JSON
Parsing XML
Parsing JSON
Expando
SwingBuilder
Membuat GUI dengan SwingBuilder
Memperkenalkan MigLayout
Memakai Google Chart di SwingBuilder
Membuat Tabel Sederhana
JComboBox dan JOptionPane
JMenuBar, JSlider, JCheckBox dan Binding Dasar
Download
Eb00k Gr00vy
FAQ
Terkait .size dan .class pada map
Drawback pada Groovy
Penjelasan dan Contoh tambahan mengenai Closure
Pendahuluan, Instalasi, Getting Started
Perbedaan Groovy dan Java
Tipe data pada Groovy
Struktur Logika (Conditional & Loop)
String, Method, Closure
Collections
Range, Array, Operator
Groovy dan Database
Groovy di Eclipse dan Netbeans
Dari Groovy ke Java dan Sebaliknya
Output berupa XML dan JSON
Parsing XML
Parsing JSON
Expando
SwingBuilder
Membuat GUI dengan SwingBuilder
Memperkenalkan MigLayout
Memakai Google Chart di SwingBuilder
Membuat Tabel Sederhana
JComboBox dan JOptionPane
JMenuBar, JSlider, JCheckBox dan Binding Dasar
Download
Eb00k Gr00vy
FAQ
Terkait .size dan .class pada map
Drawback pada Groovy
Penjelasan dan Contoh tambahan mengenai Closure
Grails
Grails, the Beginning
Apa itu Grails?
Instalasi Grails, Perintah perintah pada grails, Struktur Aplikasi Grails
Buat aplikasi Grails baru
Contoh Generate CRUD/Scaffolding
Static Scaffolding dan Dynamic Scaffolding
Domain Class (Model) part 1
Controller Part 1
FAQ
Grails REST
Terkait {0}, {1} di messaging
Untuk action, lebih baik method atau closure?
Apa itu Grails?
Instalasi Grails, Perintah perintah pada grails, Struktur Aplikasi Grails
Buat aplikasi Grails baru
Contoh Generate CRUD/Scaffolding
Static Scaffolding dan Dynamic Scaffolding
Domain Class (Model) part 1
Controller Part 1
FAQ
Grails REST
Terkait {0}, {1} di messaging
Untuk action, lebih baik method atau closure?
Diubah oleh coding.kumat 05-01-2013 00:41
0
9.9K
48
Komentar yang asik ya
Mari bergabung, dapatkan informasi dan teman baru!
Programmer Forum
20.3KThread•5.1KAnggota
Tampilkan semua post
TS
coding.kumat
#1


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:
- Hibernate: Standar de facto untuk object-relational mapping (ORM) di dunia Java.
- Spring: framework kontainer bagi IoC (Inversion of Control) dan pembungkus (wrapper) bagi Java yang bersifat open source dan sangat populer.
- sitemesh: framework untuk menerapkan layout yang kuat dan stabil bagi halaman web.
- Jetty: Servlet container yang bisa dibenamkan dan telah teruji.
- 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.

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.

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.
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






