Dunia ini memang penuh dengan paradoks. Apalagi dunia Teknologi Informasi. Dulu orang ramai-ramai membuat aplikasi web dari berbagai aplikasi desktop yang sudah ada. Bahkan aplikasi sistem informasi yang berjalan di jaringan lokal pun saat ini banyak yang dibuat berbasis web. Sekarang mulai muncul gejala sebaliknya. Orang mulai ramai berupaya membuat agar aplikasi web dapat berjalan di sebuah PC seperti layaknya sebuah aplikasi desktop.

Beberapa fitur yang diharapkan dapat didapatkan dari aplikasi desktop yang tidak ada pada aplikasi web antara lain: bisa diinstall locally, bisa berjalan meskipun offline, bisa mengakses local file system, dapat dijalankan sebagai background/daemon program, bisa dipasang icon pada system tray, dan sebagainya.

Saat ini mulai bermunculan berbagai platform yang ditawarkan untuk pengembangan aplikasi web untuk desktop ini. Salah satu nya adalah Adobe AIR (Adobe Integrated Runtime). Pertama kali diluncurkan (versi preview release) pada tanggal 19 Maret 2007, dengan code name Apollo. Versi terakhir saat ini adalah public beta 3, diluncurkan beberapa hari yang lalu, tepatnya 12 Desember 2007.

Adobe AIR adalah sebuah runtime environment yang multi platform. Adobe AIR saat ini dapat berjalan di Windows dan Mac OS X (termasuk Max OSX Leopard, mulai versi public beta 3). Rencananya versi untuk Linux akan diluncurkan pada kuartar ketiga tahun 2008, wuiihh…. lama bener ya.

Aplikasi Adobe AIR dapat dibuat dengan menggunakan HTML, Javascript, Flash, atau Flex. Jadi anda dapat migrasikan aplikasi web yang sudah anda miliki menjadi aplikasi AIR. Semua element dan library yang anda temukan di HTML, Javascript, Flash, dan Flex akan anda temukan disini. Di samping library standar tersebut, AIR juga memiliki library-library tambahan yang terutama ditujukan agar anda dapat mengakses local resources, seperti file system, network, dan sebaginya.

Saya coba utak-atik mainan baru ini dan bikin sebuah aplikasi sederhana. Kesan pertama… nice… Aplikasi AIR yang dibuat seperti sebuah aplikasi yang seolah memiliki browser dan flash player “self-contained” (meskipun sebenarnya ini di-handle oleh runtime environment nya AIR). Jika halaman-halaman di AIR dibuat interaktif dengan AJAX atau Flash, maka user tidak akan merasakan sama sekali bahwa dia sedang membuka sebuah halaman web di dalam sebuah browser. Sehingga user experience yang diharapkan (yaitu menjalankan aplikasi desktop) dapat tercapai.

Beberapa kelebihan dari Adobe AIR yang dapat saya rasakan:

  1. Kemudahan dan kecepatan pengembangan aplikasi, terutama bagi web developer yang sudah terbiasa dengan AJAX dan Flash.
  2. Deployment tool (packager dan installer) yang sederhana dan bagus. Lengkap dengan version tracking nya. Jika user menginstall aplikasi yang sama, AIR akan memberi tahu user, sekaligus menampilkan perbedaan nomor versi nya.
  3. Interaksi drag & drop bukan saja dalam lingkungan AIR tapi juga dengan keseluruhan window desktop.
  4. Program dapat dijalankan secara background.
  5. Icon dapat diletakkan di system tray.

Beberapa kelemahannya antara lain:

  1. User harus menginstall terlebih dahulu AIR runtime. Meskipun ukurannya sedikit lebih kecil daripada Java Runtime, yaitu sekitar 11 MB (JRE 6 update 3 sekitar 14 MB).
  2. Adobe terus menerus mengubah spesifikasi fitur AIR. Kadang jadi terasa menyebalkan. Misalnya mulai versi public beta 2, untuk menginstall AIR runtime dan aplikasi AIR, user harus memiliki admin privilege. Ini akan sangat merepotkan, terutama pada lingkungan corporate yang sering kali user tidak diberi hak admin pada pc masing-masing.
  3. Tidak dapat mengeksekusi shell-command (program eksternal)
  4. Tidak mendukung HTTPS redirection
  5. Tidak mendukung animated GIF

Beberapa pemain besar lain tidak mau ketinggalan. Berbagai platform untuk aplikasi jenis ini (aplikasi internet yang berjalan secara desktop) mulai diluncurkan. Antara lain Mozilla Prism, Sun JavaFX, dan Microsoft Silverlight. Saya sudah coba Mozilla Prism, insya allah akan saya tuliskan di artikel lain. Untuk Sun JavaFX dan Microsft Silverlight sementara no comment, karena belum coba ๐Ÿ™‚