Seperti halnya website yang ada di internet, hybrid mobile apps dikembangkan menggunakan web teknologi seperti HTML5, CSS3 dan JavaScript. Perbedaan utamanya adalah aplikasi hybrid di install (dipasang) didalam platform ponsel layaknya aplikasi native. Sehingga mampu mengakses kemampuan hardware ponsel seperti kamera, kontak, accelerometer, GPS, dan lainnya. (John Bristowe:2015).
Hybrid mobile apps dibangun berdasarkan Web View dari platform ponsel, untuk mengakses kemampuan ponsel, pengertian web view menurut adalah: A web view is a native application component that is used to render web content
essentially a programmatically accessible wrapper around the built-in web browser included with the mobile device. For some examples, on the BlackBerry d as a Browser Field object (using
(using System/Library/Frameworks/UIKit.framework). (Wargo, 2014:1)
Wargo melanjutkan mengenai Hybrid Mobile Apps disebutkan bahwa Aplikasi yang dijalankan di dalam kontainer web view diperlakukan seperti
membuka aplikasi di dalam sebuah mobile browser, namun pada dasarnya aplikasi yang berjalan pada mobile web browser tidak memiliki akses ke dalam fitur perangkat keras ponsel seperti kamera, accelerometer, kompas, dll. Padahal sebuah aplikasi native pada umumnya sangat sering memanfaatkan fitur yang ada pada perangkat keras tersebut. Di sinilah Apache Cordova mengakomodasi kebutuhan dari aplikasi web yang dijalankan pada kontainer web view dengan adanya kumpulan JavaScript API yang memberikan akses untuk fitur yang ada pada perangkat keras ponsel. JavaScript API ini mengimplementasikan dua hal, yaitu: Sebuah pustaka JavaScript yang memberikan kemampuan ponsel kepada aplikasi web dengan penggunaan sintaks JavaScript, dan mencocokkan kode native yang sesuai berdasarkan JavaScript API yang digunakan dengan implementasi native API pada platform native ponsel.
Gambar 2.16 Arsitektur aplikasi Apache Cordova (John M. Wargo, 2014:5) PhoneGap dan Apache Cordova pada dasarnya adalah sama, PhoneGap merupakan turunan Cordova, namun PhoneGap memiliki perkakas tambahan
semenjak menjadi bagian dari Adobe Service. Baik itu PhoneGap maupun Cordova, keduanya adalah framework yang open source dan gratis untuk digunakan.
A. Apache Cordova
Apache Cordova adalah open source framework untuk mengembangkan aplikasi native cross-platform menggunakan HTML5. Menurut pencipta Apache Cordova menginginkan kemudahan dalam pengembangan aplikasi mobile antar platform dengan mengimplementasikan kombinasi antara web application technologies dengan fungsi native sehinga ini di sebut hybrid application.
Pengertian Cordova framework Cordova
wraps your HTML/JavaScript app into a native container which can access the device functions of several platforms. These functions are exposed via a unified JavaScript API, allowing you to easily write one set of code to target nearly every
phone or t (Anonim.
2015. Supported Platforms, http://cordova.apache.org/)
Keuntungan utama menggunakan Apache Cordova adalah membuat pengembangan aplikasi pada ponsel seperti pengembangan aplikasi web, sehingga pengetahuan dan kemampuan dari dunia pengembangan web bisa diterapkan dalam membuat aplikasi pada ponsel tanpa perlu mempelajari lagi bahasa pemrograman native setiap platform mobile seperti Objective-C/Swift (iOS), Java (android) ataupun C# (Windows Phone).
Menurut Wargo (2014:2)
web application, package the web application into the native container, test and . Di dalam aplikasi hybrid, saat pengguna membuka aplikasi yang di buat dengan Cordova, sebenarnya aplikasi tersebut memanggil fungsi web view dan memuat kode sumber seperti HTML, JavaScript dan CSS di dalam sistem aset dalam paket aplikasi dan konten data (bisa dari server), lalu menampilkannya ke dalam web view.
Apache Cordova saat ini menyediakan API sebagai berikut: Accelerometer Camera Capture Compass Connection Contacts Device Events File Geolocation Globalization InAppBrowser MediaNotification Splashscreen Storage B. HTML5
HTML (singkatan dari Hyper Text Markup Language) adalah kode dasar yang membangun seluruh website di dalam World Wide Web, dan HTML5 adalah langkah besar dalam sejarah perkembangan web, HTML5 tidak hanya versi mutakhir dari HTML tetapi merupakan kesatuan dari teknologi terkait yang membuat we bmenjadi lebih cerdas, lebih cepat dan kaya akan konten daripada sebelumnya.
Dengan HTML5, aplikasi web memiliki kemampuan baru yang memungkinkan aplikasi untuk beroperasi secara lebih efisien pada perangkat
mobile (atau perangkat dengan konektivitas terbatas), dan HTML5 dapat menggunakan basis data pada client-side untuk menyimpan data aplikasi.
Selain itu, Menurut Wargo (2014:10) disebutkan bahwa HTML5 mendukung penambahan file manifest yang berisi daftar semua file yang terdiri dari aplikasi web. Ketika file index pada aplikasi di muat, browser membaca file manifest, mengambil semua file yang terdaftar dalam manifest, dan men-download manifest dan menyimpannya ke perangkat ponsel. Jika ponsel yang kehilangan konektivitas jaringan, aplikasi masih bisa digunakan karena data yang diperlukan mungkin sudah disimpan secara lokal.
C. CSS3
HTML5 memiliki pendamping khusus di sisi visual yang disebut CSS3 (versi 3 dari Cascading Style Sheets ) yang sangat meningkatkan kemampuan CSS. Cascading Style Sheets digunakan untuk memisahkan kode desain dari konten, CSS menjadi cara standar dalam mengatur tampilan layar pada sebuah halaman website. Pengertian CSS3 berdasarkan World Wide Web Consortium (W3C) adalah: CSS Level 3 builds on CSS Level 2 module by module, using the CSS2.1 specification as its core. Each module adds functionality and/or replaces part of the CSS2.1 specification. The CSS Working Group intends that the new CSS modules will not contradict the CSS2.1 specification: only that they will add functionality and refine definitions. As each module is completed, it will be plugged in to the existing system of CSS2.1 plus previously-completed modules.
CSS3 adalah standar baru untuk antar muka yang kaya dan indah. Dengan CSS3, membuat tampilan yang baik menjadi lebih mudah, lebih cepat, dan lebih baik. Dengan dukungan untuk animasi, situs berbasis CSS3 sekarang dapat bersaing dengan situs berbasis flash. Selain itu situs web kini dapat dengan mudah berubah menjadi situs mobile hanya dari file CSS yang sama (responsive web). Kini browser mobile adalah pengadopsi awal dari standar W3C. Ini berarti ponsel adalah platform yang tepat untuk aplikasi yang dibangun dengan HTML5 / CSS3.
D. JavaScript
Sedari dulu, JavaScript dianggap sebagai bahasa kelas dua, hanya digunakan untuk melaksanakan fungsi dasar, seperti validasi input user. Namun pada 5 tahun terakhir, reputasi JavaScript telah meningkat secara dramatis. Hal ini terjadi sebagai akibat dari peningkatan kinerja dari JavaScript engine, dimulai pada Chrome dan lalu merembet ke semua browser utama lainnya. Lebih pentingnya, programmer mulai mengevaluasi kembali bahasa JavaScript itu sendiri dan memulai untuk memanfaatkan kekuatannya.
Meskipun JavaScript memiliki berbagai keanehan, dan para perancang bahasa ini membuat beberapa keputusan yang tidak biasa, JavaScript ternyata menjadi bahasa yang kuat dan flexible bila digunakan dengan benar.
E. Framework7
Menurut situs resmi Framework7 adalah
HTML framework to develop hybrid mobile apps or web apps with iOS & Android native look and feel.
memberikan pengembang kerangka untuk membuat aplikasi iOS & Android dengan HTML, CSS dan JavaScript dengan mudah dan jelas.
Gambar 2.17 Tampilan halaman utama website Framework7 (Vladimir Kharlampidi. 2015. Landing page. http://framework7.io/)
Alasan penulis memilih Framework7 adalah kelengkapan dari komponen antar muka yang disediakan, fitur pendukung yang lengkap sehingga tidak perlu
menambahkan plug-in lain dari pihak ketiga, dan dokumentasi framework yang disediakan lengkap sangat mudah dipelajari.
Framework7 menerapkan MIT Licensed yang memberikan izin, bebas biaya kepada siapa saja untuk memperoleh salinan sumber kode tanpa pembatasan, termasuk kebebasan untuk memodifikasi, mempublikasikan, mendistribusi dan menjual kepada pihak lain.
Penulis menggunakan Framework7 versi terbaru 1.2.0 yang diambil dari repositori resmi di https://github.com/nolimits4web/Framework7/tree/v1.2.0 yang dirilis pada 18 Juli 2015.