Arsip Kategori: cappucinno

Cappucinno Framework, Aplikasi Web dengan rasa Desktop

Selamat datang hari senin 🙂

Beberapa pekan lalu ada tugas untuk matakuliah DataMining, dan pemrogramannya tidak boleh menggunakan PHP. Hmm, padahal saya sudah cukup terbiasa dengan itu. Solusinya mungkin Java, Web Java, atau apapun lah… Kemudian saya riset, menemukan SproutCore dan Cappucinno, lalu penelitian dimulai.

Cappucinno Web Framework, itu sebutannya. Mengusung bahasa yang baru dan aneh buat saya, turunan dari Javascript, Objective-J. Sintaksnya mirip-mirip dengan Objective-C, dengan maksud bukan untuk meniru Objective-C, tapi untuk menambah Abstraction Layer pada Javascript dan programmernya. Karena turunan dari Javascript, jadi Objective-J bisa menjalankan script Javascript apapun, tapi agar lebih fleksibel (tidak bertabrakan dengan reserved words milik Javascript), maka sintaksnya dirombak total jadi mirip Objective-C. Sayangnya saya bukan programmer asal MacOS, saya bermula dengan Windows, dan sekarang saya di Linux~rasa Ubuntu. Jadi perlu extra efforts untuk mempelajari bahasa asing ini…

Hasil Riset

Naah, dari beberapa pekan itu, kurang lebih 2 pekan saya sudah mulai menyesuaikan diri dengan Objective-J. Ini beberapa hal yang saya dapat.

Dibandingkan dengan sproutcore, yang harus menggunakan Ruby gem untuk menginstallnya, Cappucinno terhitung lebih praktis, tinggal download di halaman utama, 5.3mb versi 0.8.1.

Disitu disertakan API Documentation, NewApplication, yang aplikasi Hello World yang siap diotak-atik, juga bootstrap.sh yang dapat dijalankan di shell untuk menginstall cappucinno tools (perlengkapan bagi para programmer yang serius :D)

Struktur Cappucinno Starter

Tapi jangan khawatir, tanpa cappucinno tools-pun ini sudah dapat dijalankan, langsung lewat web-browser. Silahkan gunakan Firefox untuk ke direktori file (Tempat Cappucinno Starter)/NewApplication/index.php, atau dengan praktis drag file tersebut, dan drop di Firefox.

Aplikasi HelloWorld bawaan, NewApplication

tanpa disentuh-pun aplikasi ini sudah jalan.

Catatan: Untuk Google Chrome, aplikasi tidak akan berjalan dengan baik tanpa disimpan di web server, hal ini dikarenakan Chrome hanya mau menerima XmlHttpRequest dari web saja, tidak dari file.

Editor

Untuk kemudian mengubah alur program, di direktori yang sama terdapat file AppController.j, file ini yang dapat kita edit, menggunakan TextMate di Mac, Notepad++ di Windows, atau dengan rasa Linux, saya gunakan Gedit. Memang Gedit tidak begitu bagus untuk Objective-J, tapi tak apa lah (baca:bahasa baru).

Untuk langsung melihat apa yang bisa kita ubah, kita cek isi AppController.j


 

/*
 * AppController.j
 * NewApplication
 *
 * Created by You on April 9, 2010.
 * Copyright 2010, Your Company All rights reserved.
 */

@import

@implementation AppController : CPObject
 {
 }

- (void)applicationDidFinishLaunching:(CPNotification)aNotification
 {
 var theWindow = [[CPWindow alloc] initWithContentRect:CGRectMakeZero() styleMask:CPBorderlessBridgeWindowMask],
 contentView = [theWindow contentView];

var label = [[CPTextField alloc] initWithFrame:CGRectMakeZero()];

[label setStringValue:@"Hello World!"];
 [label setFont:[CPFont boldSystemFontOfSize:24.0]];

[label sizeToFit];

[label setAutoresizingMask:CPViewMinXMargin | CPViewMaxXMargin | CPViewMinYMargin | CPViewMaxYMargin];
 [label setCenter:[contentView center]];

[contentView addSubview:label];

[theWindow orderFront:self];

// Uncomment the following line to turn on the standard menu bar.
 //[CPMenu setMenuBarVisible:YES];
 }

@end
 

dan ubah bagian

 ...
 [label setStringValue:@"Hello World!"];
 ...
 

menjadi

 ...
 [label setStringValue:@"Hai Om!"];
 ...
 

Apa yang kemudian tampil?, Ya!, teks berubah menjadi Hai Om!, ini perubahan paling sederhana yang bisa dilakukan, dan lihat hasilnya 😀

Setelah Hello World diubah :)

Kesimpulan

Untuk pengenalan mungkin sekian dulu, pembuatan aplikasinya akan saya kenalkan nanti, setelah beberapa riset kedepan 🙂

Lanjutkan sendiri

untuk melanjutkan sendiri, saya sarankan untuk melihat daftar tutorialnya di

http://cappuccino.org/learn/tutorials/

http://cappuccinocasts.com/

http://www.nice-panorama.com/Programmation/cappuccino/