FireMonkey

**FireMonkey** adalah pustakan antar muka grafis yang bersifat lintas platform yang dikembangkan oleh Embarcadero Technologies untuk digunakan dalam perangkat lunak Delphi, C++Builder, dan AppMethod dengan bahasa C++ atau Object Pascal untuk untuk mengembangkan aplikasi lintas platform yang dapat berjalan pada sistem operasi Android, iOS, Windows, serta Mac OSX.

## Sejarah

FireMonkey didisain oleh Eugene Kryukov dari KSDev, sebuah perusahaan yang terletak di Ulan-Ude, Russia sebagai pustaka antar muka grafis generasi baru yang berbasis vector yang dinamai VGScene. Pada tahun 2011, produk tersebut dijual pada perusahaan Amerika, Embarcadero Technologies, dan oleh Embarcadero disertakan sebagai pustaka pada produk mereka. FireMonkey merupakan bagian pustaka dari Delphi, C++ Builder, dan RAD Studio sejak versi XE2.

## Tinjauan

FireMonkey merupakan pustaka antar muka grafis lintas platform yang memungkinkan pengembang membuat antar muka pengguna yang bisa berjalan pada beberapa platform seperti Windows, OSX, iOS, serta Android. Pustaka tersebut ditulis dengan memanfaatkan penggunaan GPU bila memungkinkan, dan aplikasi akan mendapatkan keuntungan atas akselerasi dari fitur perangkat keras yang tersedia dalam Direct2D pada Windows Vista, Windows 7, dan Windows 8, OpenGL pada Mac OSX, OpenGL ES pada iOS, dan Android. Pada sistem operasi di mana Direct2D tidak tersedia, seperti pada WIndows XP, implementasinya akan memanfaatkan GDI+.

Aplikasi dan antarmuka yang dikembangkan dengan memanfaatkan FireMonkey dipisahkan dalam dua kategori utama, *HD* dan *3D*. Disebut sebagai aplikasi HD apabila aplikasi tersebut merupakan tipikal aplikasi tradisional dengan antar muka dua dimensi. Disebut sebagai HD karena FireMonkey secara keseluruhan merupakan pustaka UI berbasis vector, dan dapat diatur skala antar muka tanpa memengaruhi kualitas dari antar muka itu sendiri. Jenis yang ke dua, antar muka 3D, menyediakan ragam pustaka antar muka berbasis 3D yang banyak digunakan untuk kebutuhan visualisasi. Dua kategori ini pada dasarnya bisa secara bebas dicampur pemanfaatannya.

FireMonkey tidak hanya sebatas sebagai pustaka antar muka, melainkan pula sebagai kerangka pengembangan perangkat lunak lengkap yang menyediakan beragam fitur serta fasilitas yang tersedia dalam VCL (Visual Component Library), pustaka antar muka bawaan. Yang membedakan antara FireMonkey dengan VCL adalah:

* Kompatibilitas lintas platform
* Metode penggambaran elemen antar muka yang berbasi vector
* Semua komponen berbasi visual bisa diturunkan oleh komponen visual yang lain, sehingga memungkinkan membuat komponen antar muka yang bersifat *hibrida*
* Terdapat dukungan untuk menerapkan *styling*
* Mendukung pemanfaatan efek-efek visual, serta animasi-animas pada setiap komponen visual yang ada.

Karena pustaka tersebut bersifat lintas platform, kode sumber yang sama dapat digunakan pada platform-platform sistem operasi lain yang didukung. FireMonkey mendukung pengembangan berbasis 32-bit, maupun 64-bit pada Windows, 32-bit pada Mac OSX, iOS, serta Android.

Sejak dikenalkannya pada rilis XE2, telah banyak pengembangan lebih lanjut atas FireMonkey, dan saat ini terus dikembangkan secara aktif. Sebagai contoh pengembangan OSX sudah terintegrasi dengan baik dalam IDE, kebutuhan mesin Mac hanya digunakan sebagai pendistribusian akhir. Beragam komponen seperti sensor, gestur, GPS sudah ditambahkan sebagai fitur-fitur yang akan banyak digunakan saat mengembangkan aplikasi berbasis mobile.

## Rujukan