source gambar : (https://www.telerik.com/sfimages/default-source/blogs/native-hybrid-web-mobile-app-development-jpg)
Aplikasi mobile dikembangkan dengan berbagai pendekatan dalam proses pembuatannya. Pengembangan aplikasi mobile dapat dibagi menjadi 3 kategori dari sudut pandang bagaimana cara membangun aplikasi berdasarkan platform(sistem operasi) tujuan dan bahasa pemrograman yang digunakan serta tipe proses build aplikasi. Kategori tersebut adalah Aplikasi dibangun dengan teknologi web, dengan cara native dan gabungan dari keduanya atau sering dikenal dengan istilah hybrid. Berikut pembahasan detaild dari masing-masing pendekatan tersebut.
Web Apps
Aplikasi web (Web Apps) merupakan tipe aplikasi yang dijalankan melalui web browser yang membutuhkan jaringan untuk mengaksesnya dari internet. Tipe aplikasi ini tidak perlu untuk didownload kemudian diinstal pada perangkat smartphone. Aplikasi web ini dijalankan seperti layaknya sebuah website biasa melalui web browser seperti Chrome, Firefox, Opera, Safari dan lain-lain.
Secara umum Aplikasi web dibangun menggunakan teknologi frontend website dengan scripting HTML, CSS dan JavaScript. Tidak seperti aplikasi Android maupun iOS, pengembangan Aplikasi web tidak memerlukan Software Development Kit (SDK) khusus. Banyak template dan framework untuk mengembangkan aplikasi web ini, seperti Angular, Vue.js, React dan lain-lain.
Sampai saat ini fungsionalitas aplikasi web tidak dapat mengakomodir fitur-fitur dasar aplikasi native seperti fungsi push notifikasi dan lain-lain. Pengembangan terkini terkait aplikasi web adalah dengan memanfaatkan konsep Progressive Web Apps (PWAs). Dengan menggunakan PWA aplikasi web dapat berjalan tanpa adanya koneksi internet, memanfaatkan push notifikasi dan lain-lain. Sehingga dengan penggunaan PWA aplikasi web dapat hampir berjalan seperti aplikasi native walaupun tidak sebaik aplikasi native jika dilihat dari segi fitur dan performa.
Aplikasi berbasis memiliki beberapa kelebihan dibandingkan dengan model yang lain, diantaranya:
- Mudah dalam mengembangkan aplikasi
- Mudah dilakukan perawatan
- Biaya pengembangan aplikasi murah
- Dapat berjalan di berbagai sistem operasi/platform
Selain kelebihan, aplikasi web juga memiliki kekurangan, yaitu:
- Membutuhkan aplikasi lain untuk menjalankan, yaitu web browser. Pengguna harus memasukkan alamat URL sehingga kurang baik dalam segi pengalaman pengguna (user experience)
- Dalam segi performa, lebih lambat dibandingkan dengan aplikasi native
- Aplikasi web kurang interaktif dan intuitif dibandingkan aplikasi native
- Tidak dapat menggunakan fitur-fitur yang disediakan smartphone secara langsung seperti mengakses kontak dan lain-lain
- Tidak memiliki icon aplikasi layaknya aplikasi yang diunduh melalui playstore
Native Apps
Native Apps (Aplikasi Native) adalah jenis aplikasi yang paling umum banyak digunakan di smartphone. Aplikasi ini dibuat untuk platform tertentu secara spesifik dan ditulis dalam bahasa yang diterima oleh platform, misalnya Swift dan Objective-C untuk aplikasi iOS dan Java untuk aplikasi Android asli. Aplikasi Native juga dibangun menggunakan Integrated Development Environment (IDE) khusus untuk sistem operasi yang diberikan [9]. Misalnya membangun aplikasi android menggunakan IDE Android Studio. Selain itu juga mengharuskan pengembang aplikasi menginstall Software Development Kit (SDK) untuk membangun aplikasi.
Kebanyakan perusahaan besar memilih Aplikasi Native ini. Hal tersebut dikarenakan Aplikasi Native memiliki kelebihan diperformanya dan segudang keuntungan lainnya.
Beberapa kelebihan atau keuntungan ketika mengembangkan Aplikasi Native yaitu:
- Aplikasi Native sangat cepat dan responsif karena dibangun untuk platform tertentu
- Aplikasi Native memiliki performa terbaik
- Terdistribusi di dalam marketplace aplikasi
- Lebih interaktif, intuitif dan berjalan lebih lancar dalam hal input dan output pengguna
- Aplikasi Native memungkinkan untuk mengakses semua fitur bawaan smartphone
- Koneksi internet tidak diperlukan, meskipun itu tergantung pada fungsinya
- Secara keseluruhan, pengalaman pengguna yang lebih baik. Untuk pengguna, alurnya lebih alami karena memiliki standar User Interface (UI) khusus untuk setiap platform
Dari beberapa kelebihan tersebut, terdapat juga kekurangannya, diantaranya :
- Bahasa pemrograman sulit untuk dipelajari, yang berarti untuk membuat Aplikasi Native diharuskan pengembang yang berpengalaman
- Lebih mahal dalam segi pengembangan
- Lebih lama mengembangkan aplikasi
- Bukan opsi terbaik untuk aplikasi sederhana
Hybrid Apps
Jika aplikasi web dan aplikasi native digabungkan maka akan menghasilkan Hybrid Apps (aplikasi hybrid). Pengguna menginstall aplikasi native, tetapi sebenarnya di dalamnya tertanam aplikasi web. Aplikasi hybrid dibangun menggunakan standar teknologi frontend web dengan scripting HTML, CSS dan Javascript yang berjalan di dalam Webview.
Beberapa framework dapat digunakan untuk membangun aplikasi hybrid ini. Beberapa diantaranya yang saat ini populer adalah framework React Native dan Cordova.
Kelebihan mengembangkan aplikasi hybrid diantaranya:
- Dibangun dengan teknologi web sehingga mudah untuk dikembangkan
- Biaya pengembangan lebih murah dibandingkan aplikasi native
- Sekali dibuat maka akan bisa berjalan di berbagai platform dengan menggunakan teknologi seperti cordova
- Tidak memerlukan web browser layaknya aplikasi web
- Dapat mengakses fitur/API bawaan perangkat seperti kamera, mengelola penyimpanan dan lain sebagainya
- Lebih cepat dikembangkan dibandingkan aplikasi native karena dibangun hanya menggunakan satu basis kode
Sedangkan kekurangannya adalah:
- Lebih lambat dibandingkan dengan aplikasi native
- Lebih mahal dalam mengembangkan aplikasi dibandingkan mengembangkan aplikasi web standar
- Kurang interaktif dibandingkan aplikasi native
Kesimpulan
Dari beberapa kelebihan dan kekurangan masing-masing tipe aplikasi maka dalam mengembangkan aplikasi disesuaikan dengan kebutuhan dan tujuan pengembangan aplikasi. Aplikasi web belum tentu menjadi pilihan terburuk jika dibandingkan yang lain. Begitupun sebaliknya tidak semua aplikasi native menjadi pilihan terbaik. Pengembang harus memikirkan kapan saatnya aplikasi dibangun dengan web, native maupun hybrid. Berikut merupakan panduan dalam mengembangkan aplikasi mobile berdasarkan tipe aplikasi dibangun yang dapat dilihat pada Tabel berikut ini.
Aplikasi Web | Aplikasi Native | Aplikasi Hybrid |
aplikasi butuh didistribusikan untuk resource yang terbatas atau minim
aplikasi tidak perlu di-deploy ke marketplace store developer memiliki skill yang baik dalam membangun aplikasi web (HTML, CSS, Javascript)
|
aplikasi akan di-deploy untuk platform spesifik
aplikasi membutuhkan fitur khusus yang tidak tersedia jika dibangun menggunakan web maupun hybrid aplikasi perlu UI native yang beragam atau grafik yang tinggi seperti animasi, game dan lain-lain aplikasi memerlukan performa yang tinggi |
aplikasi didistribusikan ke berbagai platform
aplikasi butuh di-deploy ke marketplace store memiliki skill yang baik dalam membangun aplikasi web (HTML, CSS, Javascript) |
Referensi
https://www.mobiloud.com/blog/native-web-or-hybrid-apps/
https://clearbridgemobile.com/mobile-app-development-native-vs-web-vs-hybrid/
Steve
DoP