Menyiapkan Griffon Untuk Dipakai Di Eclipse STS


Pada suatu hari, saya mendengarkan perbincangan antara seorang mahasiswa dan seorang dosen.  Sang mahasiswa yang terkenal pintar ini berkata bahwa aplikasi desktop akan digantikan dengan situs web dan segala sesuatunya akan berbasis web.   Lalu, si dosen memberikan jawaban mengapa aplikasi desktop masih dibutuhkan.   Tidak ada hasil yang pasti dari tanya jawab tersebut.  Apakah benar aplikasi desktop akan usang dan tidak dibutuhkan lagi?

Sebagai seorang developer yang pernah terlibat dalam pemograman low-level, saya tahu itu tidak benar.   Mari lakukan pembuktian sederhana.   Windows menawarkan API yang bisa dipakai oleh program desktop (yang bisa dilihat di http://msdn.microsoft.com/en-us/library/windows/desktop/ff818516(v=vs.85).aspx).  Semakin canggih API yang ditawarkan oleh sebuah OS, berarti semakin mantap OS tersebut.  API dari Windows bisa dipanggil untuk melakukan manipulasi registry, grafis, jaringan, manajemen memori, printing,  sensor, threading, dan lainnya.   Logika berikut ini memperlihatkan apa yang akan terjadi bila seluruh aplikasi harus beralih menjadi web dan tidak boleh ada aplikasi desktop lagi:

  1. Berapa banyak dari API tersebut yang dapat dipanggil melalui JavaScript di browser secara langsung?  Bisa dipastikan bahwa sebuah aplikasi web murni yang berbasis HTML5, CSS3 dan JavaScript  sekalipun tidak dapat memanfaatkan Windows API yang ada sesuka hati.
  2. Dengan demikian seluruh API yang lengkap tersebut sia-sia dan berlebihan.  Hanya perlu sisakan API yang dipakai oleh browser.
  3. Tidak perlu merilis versi baru dari sistem operasi, karena semua aplikasi berjalan di web, sehingga cukup rilis versi baru dari browser.
  4. Karena browser wajib memiliki kemampuan yang sama dan seragam (misalnya mengikuti standar HTML5), maka seluruh sistem operasi dan semua hardware komputer memiliki sifat yang sama, sehingga pada akhirnya hanya butuh satu pembuat hardware sekaligus pembuat sistem operasi (kembali seperti zaman berjayanya IBM PC + IBM PC-DOS ?!).  Tidak ada lagi developer yang perlu membuat program di Intel Parallel Studio XE ataupun yang memakai AMD Accelerated Parallel Processing Math Libraries.

Pembuktian terbalik di atas menghasilkan sebuah kondisi yang sulit menjadi kenyataan dan tidak ada gejala bahwa sedang terjadi proses untuk menuju ke arah kondisi tersebut, sehingga kesimpulannya adalah tidak semua aplikasi harus berupa aplikasi web.   Tidak dipungkiri bahwa aplikasi web sangat populer.  Walaupun masih kalah dalam hal kinerja dan fleksibilitas, aplikasi web memiliki daya tarik tersendiri karena dapat menjangkau pengguna dengan mudah.

Bila Groovy memiliki framework Grails untuk aplikasi web, maka terdapat juga Griffon untuk membuat aplikasi desktop.   Bisa dibilang ini adalah untuk pertama kalinya saya menemukan sebuah framework MVC untuk aplikasi desktop di Java.  Yup!  Biasanya yang saya temukan adalah UI layer seperti SwingX atau Eclipse SWT, tetapi Griffon benar-benar sebuah framework yang memisahkan model view controller persis seperti di Grails.

Saya akan mencoba memakai Griffon di STS dimana sebelumnya saya sudah men-install plugin Groovy.  Setelah men-download dan men-extract Griffon pada sebuah folder, saya akan menambahkan lokasi folder tersebut sebagai nilai dari environment variables GRIFFON_HOME.  Untuk menambah environment variable baru, klik kanan My Computer, memilih Properties, Advanced System Settings,  lalu memilih tab Advanced, men-klik Environment Variables…  Pada dialog yang muncul, saya bisa men-klik tombol New di User variables.  Pada Variable name, saya isi dengan GRIFFON_HOME.  Pada Variable value, saya isi dengan lokasi dimana file Griffon berada, misalnya C:\Programs\Griffon-1-1.0.  Setelah itu, saya memilih variabel Path, men-klik Edit, lalu diakhir nilai variabel tersebut, saya menambahkan lokasi folder bin, misalnya …;C:\Programs\griffon-1.1.0\bin (dimana … adalah nilai yang sudah ada dan tidak perlu diubah).

Sayang sekali saya tidak memperoleh fasilitas ‘mewah’ seperti saat memakai Grails.  Untuk membuat proyek Griffon baru, saya harus memakai Command Prompt.   Jadi, langkah pertama yang saya lakukan adalah membuka command prompt dan memberikan perintah untuk membuat proyek baru seperti berikut ini:

C:\Users\Snake\Desktop> griffon create-app latihan
...
Created Tests for Latihan
Created Griffon Application at C:\Users\Snake\Desktop/latihan

C:\Users\Snake\Desktop> cd latihan

C:\Users\Snake\Desktop\latihan> griffon integrate-with --eclipse
...
Created Eclipse project files.
  [delete] Deleting directory C:\Users\Snake\.griffon\1.1.0\projects\latihan\integration-files

C:\Users\Snake\Desktop\latihan> griffon install-plugin eclipse-support
...
Installed plugin 'eclipse-support-0.6.3' in C:\Users\Snake\Snake\.griffon\1.1.0\projects\latihan\plugins/eclipse-support-0.6.3

C:\Users\Snake\Desktop\latihan> griffon integrate-with --ant
...
Created Ant build file.
  [delete] Deleting directory C:\Users\Snake\.griffon\1.1.0\projects\latihan\integration-files

Setelah ini, saya bisa membuka Spring Tool Suite (STS).  Saya akan melakukan konfigurasi yang hanya dilakukan sekali saja pada saat pertama kali memakai Griffon.  Saya memilih menu Window, Preferences.  Lalu saya mencari menu Java, Build Path, Classpath Variables.  Saya men-klik tombol New …, lalu mengisi Name dengan GRIFFON_HOME dan mengisi Path dengan lokasi instalasi Griffon, misalnya C:\Programs\Griffon-1-1.0.  Setelah menklik tombol OK,  saya kembali men-klik tombol New…  Kali ini saya mengisi Name dengan USER_HOME dan mengisi Path dengan lokasi home user saya, misalnya C:\Users\Snake.  Klik tombol OK untuk menutup dialog.

Untuk membuka proyek, saya memilih menu File, Import…  Pada dialog yang muncul, saya memilih Existing Projects into Workspace.  Kemudian di Select root directory, saya memilih lokasi direktori saat saya memberikan perintah create-app di atas, yaitu di C:\Users\Snake\Desktop.  Secara otomatis akan muncul nama proyek latihan dengan tanda centang.  Saya kemudian men-klik tombol Finish.

Di Package Explorer, saya akan memperoleh sebuah proyek yang memiliki struktur seperti pada gambar berikut ini:

Struktur Proyek Griffon

Struktur Proyek Griffon

Pertanyaan yang muncul adalah bagaimana cara menjalankan proyek ini?  Lagi-lagi tidak ada dukungan yang memanjakan seperti saat memakai Grails.  Saya harus memakai Ant build file.  Caranya adalah dengan memilih menu Window, Show View, Ant.  Pada view Ant yang muncul, saya men-klik icon Add Buildfiles (iconnya berupa tombol tambah disamping semut).  Lalu saya memilih file build.xml yang ada di proyek latihan.   Tampilan view Ant akan berisi daftar target seperti pada gambar berikut ini:

Tampilan View Ant

Tampilan View Ant

Saya sudah lama tidak menjumpai proyek yang memakai Ant (sejak beralih ke Maven).   Sungguh terasa nostalgia!  Untuk menjalankan salah satu target yang ada, saya tinggal men-double klik nama target tersebut.  Misalnya untuk menjalankan aplikasi desktop ini, saya bisa men-double click target run-app.  Bila ingin menjalankan aplikasi melalui Java Web Start, saya dapat memakai target run-webstart.

Perihal Solid Snake
I'm nothing...

Apa komentar Anda?

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: