Rabu, 05 Desember 2012

Menulis program GNOME dengan mudah menggunakan Vala

Sebelum adanya bahasa pemograman Vala ini, para pengembang yang ingin mengembangkan suatu aplikasi pada lingkungan destop GNOME (menggunakan pustaka GTK+ pastinya) memiliki tiga alternatif : C, C++ dan Python. Dua bahasa pertama merupakan bahasa "asli" yang digunakan oleh GTK+, sementara Python membutuhkan bantuan pustaka tambahan bernama pyGTK untuk menuliskan aplikasi berbasis GTK+.
Logo GNOME
Tampilan destop GNOME 3

Kelebihan dan kekurangan ada di masing-masing bahasa pemograman yang dipilih oleh pengembang. Jika pengembang memilih C atau C++, program menjadi hemat memori dan cepat karena program dikompilasi langsung ke bahasa mesin namun penulisan kode yang sangat rumit. Namun jika pengembang memilih Python, penulisan kodenya sangat sederhana namun tidak hemat memori dan sumber daya karena dijalankan dibawah intepreter Python.

Diantara kelebihan dan kekurangan dari ketiga bahasa pemograman tersebut, kini hadir bahasa pemograman baru yang bisa mengambil kemudahan penulisan kode dari Python dan eksekusi performa tinggi melalui kompilasi bahasa C/C++. Namanya adalah Vala (https://live.gnome.org/Vala). Jika dilihat dari segi sintaksis kodenya, bahasa ini sangat mirip dengan bahasa pemograman C# yang biasanya ada di Microsoft Visual Studio. Pada dasarnya, compiler dari Vala mengkonversi kodenya ke dalam bentuk bahasa C terlebih dahulu sebelum akhirnya dikompilasi melalui GCC.

Penasaran ingin menggunakan bahasa pemograman yang satu ini? Mari membuka destop GNOME atau turunannya (Saya menggunakan destop Manokwari dari BlankOn pada contoh ini). Perangkat lunak kompilator Vala dapat dipasang dengan nama paket "valac" pada APT (pada sistem berbasis Debian), atau bisa diunduh secara mandiri (kode sumbernya) melalui situs Pusat Pengembangan GNOME.

Program pertama: Halo Dunia

Karena "Hello, World" sudah biasa, maka sekarang kita mencoba membuat program "Halo Dunia!". Silahkan membuka editor teks yang Anda biasa gunakan, lalu menulis kode berikut dan menyimpannya dalam berkas "halodunia.valac" :


Setelah disimpan, kode dalam dikompilasi ke bentuk berkas biner melalui perintah berikut (melalui terminal pastinya) :
valac halodunia.vala

Kemudian program tersebut bisa dijalankan dengan perintah :
./halodunia

Penasaran bagaimana hasil konversi kode dari Vala ke C sebelum akhirnya dikompilasi oleh GCC? Gunakan opsi -C untuk melihat kode .c nya :
valac halodunia.vala -C

Dan hasilnya? Wah panjang banget hanya untuk program "Hello, World" eh "Halo Dunia" saja. Kenapa hal itu terjadi? Karena tadi dengan tidak sengaja kode "Halo, Dunia" tadi ada di dalam kelas yang merupakan turunan dari kelas GLib.Object. Kelas apaan tuh? Nah disini terlihat kelebihan dari Vala bahwa sudah memudahkan para pengembang untuk membuat program berbasis pustaka-pustaka GNOME, seperti misalnya GTK+.

Menulis program GTK+ pertama
OK, jika ingin menggunakan GTK+ pada Bahasa Pemograman Vala, maka jalan Anda sangat dipermudah. Yang perlu dilakukan adalah mengimpor ruangnama Gtk kemudian menggunakan kelas-kelas yang tersedia (Daftarnya lihat disi http://www.valadoc.org/#!api=gtk+-2.0/Gtk).

Kelas pertama yang harus dikenal adalah "Window". Sesuai namanya, kelas ini jika diinstantiasi akan membentuk sebuah jendela pada layar. Bagaimana cara menggunakannya? Ini contoh kode sumbernya :

Kemudian kode disimpan (misalnya bernama blankwindow.vala) kemudian dikompilasi dengan perintah berikut :
valac blankwindow.vala --pkg gtk+-3.0

Maka setelah dieksekusi akan muncul seperti tampilan ini :

Lho kok kosong? Yang namanya aja blank window! Penasaran bagaimana caranya orang membuat jendela kosong melalui pustaka GTK+ dengan bahasa pemograman C? Lihat kode sumber ini (tidak semua ditampilkan, kira-kira 38 baris lah) :


Untuk mempelajari berbagai contoh penggunaan Vala, silahkan buka dokumentasi yang tersedia pada situs https://live.gnome.org/Vala/Documentation. Selamat belajar :D

Tidak ada komentar:

Posting Komentar