Teman-teman developer yang sedang merencanakan untuk memakai Phonegap mungkin masih bertanya-tanya. Kenapa Phonegap memungkinkan bahasa pemrograman web dalam hal ini HTML5, Javascript, dan CSS untuk membuat sebuah aplikasi mobile. Tidak bayang-bayang, Phonegap dapat melakukan kompilasi ke beberapa Platform seperti Android, iOS maupun Windows Phone bahkan Blackberry. Yang menjadi pertanyaan adalah bagaimana sebenarnya arsitektur Phonegap ini bekerja?
Untuk menjawab pertanyaan ini sebenarnya tidak susah, kita hanya perlu datang langsung ke website resmi dan membaca beberapa dokumentasi tutorial dari Phonegap. Tapi, alangkah baiknya kita juga melakukan sedikit riset mengenai cara kerja Phonegap ini. Syukur-syukur dengan mempelajari Phonegap secara lebih mendalam, kita dapat lebih mudah memaksimalkannya untuk pengembangan aplikasi mobile. Mari kita telisik lebih dalam mengenai Phonegap ini.
Arsitektur Phonegap
Dari sebuah sumber menyebutkan bahwa, Phonegap merupakan sebuah arsitektur. Di Wikipedia saya membaca bahwa arsitektur dapat kita artikan sebagai ilmu perancangan atau ilmu yang digunakan untuk merancang sebuah bangunan. Jelas sekali bahwa Phonegap merupakan fasilitas yang dapat kita gunakan untuk merancang bangunan aplikasi mobile. Lihatlah arsitektur Phonegap di bawah ini !
Kemudian, aplikasi yang dibangun menggunakan Phonegap sebenarnya adalah sebuah aplikasi Hybrid. Maksudnya aplikasi ini tidak murni berbasis HTML / Javascript, juga tidak murni berbasis Native Programming Language. Bagian dari aplikasi terutama User Interface (Tampilan), logika aplikasi dan komunikasi data atau server didasarkan pada HTML / Javascript. Sedangkan bagian lain dari aplikasi yang bertugas untuk mengkomunikasikan dan mengontrol fitur-fitur aplikasi tetap berdasarkan pada bahasa Native. Hebatnya Phonegap adalah kita tidak perlu belajar lebih dalam mengenai bahasa native tersebut.
Cordova.js dan Cordova.jar
Setiap aplikasi yang dibangun dengan Phonegap harus menyertakan juga sebuah library Javascript dari Phonegap. Library Phonegap ini diberi nama Cordova.js, dan bisa kita temukan di dalam paket tentunya. Library cordova.js adalah nyawa dari aplikasi Phonegap, dia bekerja di belakang layar dan melakukan pekerjaan pemanggilan fitur-fitur asli platform.
Cordova.js dan Cordova.jar bekerja saat kita melakukan pemanggilan API tertentu yang dokumentasi dapat Anda lihat melalui situs resmi Phonegap. Library Cordova.js inilah yang menjembatani antara bahasa pemrograman Phonegap dan fitur asli dalam aplikasi mobile seperti Camera, GPS, Accelerometer, Compass, File System dan lain sebagainya.
DroidGap Activity
Saat membangun project berbasis Phonegap, kita diharuskan membuat sebuah MainActivity, terutama untuk project berbasis platform Android. MainActivity inilah yang menjadi kunci Phonegap dalam mengakses fitur alami ponsel. Dia adalah pendamping utama file Cordova.js dalam membimbing Cordova.js untuk mengakses berbagai fitur native ponsel tersebut.
Di dalam file MainActivity, kita melakukan import beberapa bundel-bundel dan paket dari Phonegap agar terbaca pada sistem Android. Dalam hal ini kita pastikan untuk mengimport bundel org.apache.cordova.* ke dalam MainActivity. Dan mengeset Class Activity ke dalam DroidGap. Kemudian di dalam Class tersebut kita masukkan super.loadUrl(“file:///android_asset/www/index.html”); agar html dapat tampil secara sempurna pada aplikasi Android.
Phonegap Compiler
Meskipun saat ini kita dapat memanfaatkan fitur Phonegap Build yang merupakan Cloud System untuk mengkompilasi project berbasis Android. Tapi pekerjaan kompilasi menggunakan aplikasi bawaan native tentunya lebih banyak kelebihan dan kita bisa mengetahui performa maupun bug-bug yang terjadi secara langsung.
Sistem kompilasi Phonegap jika memanfaaatkan aplikasi native adalah sebagai berikut :
- Eclipse IDE untuk kompilasi aplikasi Android,
- XCode untuk kompilasi aplikasi berbasis iOS / iPhone, dan
- Microsoft Visual Studio 2010 untuk mengkompilasi aplikasi berbasis Windows Phone.
- Selain platform di atas kita bisa memanfaatkan compiler Phonegap Build
Beda platform tentunya juga berbeda cara dan struktur penulisan kode untuk Phonegap. Jadi saya sarankan untuk sering-sering membaca dokumentasi resmi Phonegap maupun browsing di internet. Terima kasih. Semoga bermanfaat.