Masa Depan Bernama Progressive Web Apps

Sekitar sepuluh tahun ke belakang, dunia rekayasa perangkat lunak (software engineering) secara garis besar terbagi ke dalam dua kategori berikut: desktop programming, dan web programming. Pengenalan iPhone oleh Apple di tahun 2007, yang disusul dengan lahirnya telepon pintar berbasis Android pertama di tahun 2008 telah mengubah peta kontestasi keilmuan software engineering yang ditandai dengan munculnya satu bidang baru yang menjanjikan, mobile programming.
Disebut menjanjikan karena, dengan ramainya penggunaan perangkat mobile tersebut, akan memberikan demand sumber daya manusia yang mumpuni untuk membangun aplikasi-aplikasi yang mampu berjalan pada kedua platform tersebut. Bidang mobile programming pun masih terbagi lagi menjadi tiga kategori utama, tergantung pada perangkat apa yang menjadi fokus pengembangan, yaitu Android app programming, iOS app programming, dan Blackberry app programming (ya, ada masanya Blackberry pernah berjaya di Indonesia). Namun saat ini, hanya dua platform yang disebut pertama lah yang paling dominan dalam pasar sistem operasi mobile.
Pertumbuhan penggunaan smartphone yang pesat merangsang talenta-talenta baru untuk terjun dalam bidang mobile programming, juga menggoda pemain-pemain lama untuk turut hijrah menikmati nikmatnya kue yang disajikan oleh dunia mobile. Apalagi, peningkatan penggunaan mobile gadget berdampak pada penurunan penjualan PC dan notebook.
Saat dunia desktop programming babak belur dihantam oleh kemajuan mobile programming yang begitu cepat dan pesat, web programming nyaris bisa dikatakan tidak terlalu berpengaruh. Karena, dengan notebook/PC ataupun smartphone, orang tetap melakukan browsing di internet untuk menjelajah website. Malah, sebenarnya web programming pun turut mengalami kemajuan seiring dari mengguritanya perangkat mobile di masyarakat, karena berubahnya pola kebiasaan menjelajah web dari yang awalnya menggunakan perangkat komputer kini dengan perangkat handset masing-masing. Kemajuan yang paling kentara terletak pada pengembangan web design. Nyaris semua website yang ada telah mengadopsi responsive design (desain halaman web yang bisa menyesuaikan tampilan tergantung pada ukuran layar perangkat yang digunakan). Bisa dikatakan, web developer yang tidak mampu membuat website dengan desain yang responsif akan tertinggal oleh pasar, dan web yang tidak mengimplementasikan responsive design akan mendapat rank yang buruk dari Google.
Namun, tidak selamanya perkembangan mobile programming dan web programming berjalan saling beriringan dengan harmonis. Ada kecenderungan bahwa web programming perlahan-lahan akan mengambil alih peran dalam pengembangan aplikasi-aplikasi mobile. Setidaknya, ada beberapa indikasi yang mengisyaratkan hal tersebut sedang terjadi. Pertama, hadirnya teknologi-teknologi yang memudahkan aplikasi web untuk berbaur ke dalam dunia mobile. Responsive web design yang telah disebut sebelumnya merupakan contoh teknologi yang dimaksud, dan termasuk ke dalam salah satu terobosan yang menjadi game changer pada fenomena ini, contoh teknologi yang banyak dikenal untuk membantu mengaplikasikan responsive web design adalah Twitter Bootstrap yang dirilis oleh Twitter. Selain itu, ada teknologi AJAX atau Asynchronous Javascipt and XML, yang memungkinkan client-side (browser) untuk berkomunikasi dengan server-side tanpa melalui proses reload halaman web. Juga adanya teknologi push notification. Dengan teknologi tersebut, sebuah web bisa mengirimkan notifikasi kepada perangkat user layaknya sebuah aplikasi mobile.
Teknologi-teknologi di atas hanyalah sebagian dari kemajuan yang sudah dicapai dalam dunia web programming. Pencapaian terbaru lainnya adalah lahirnya front-end frameworks atau alat bantu untuk membangun tampilan antar-muka (interface) yang bisa diadopsikan pada pengembangan web, maupun pada pengembangan mobile. React yang dirilis oleh Facebook dan Angular yang dibuat oleh Google adalah beberapa contohnya. Dengan adanya tools tersebut, seorang developer mampu membuat mobile apps dengan bekal pengetahuan web programming yang dimilikinya, seperti HTML/CSS/Javascript, dan semacamnya. Hal ini menandakan, semakin kaburnya pemisah antara web programming dengan mobile programming karena entry barrier dunia mobile programming semakin rendah, yang dulu dianggap sangat menakutkan kini menjadi lebih bersahabat, terlebih bagi para developers yang sebelumnya telah berkecimpung di bidang web programming.
Momen seperti saat ini pun tidak disia-siakan oleh para web developers. Dengan teknologi yang memadai, tools yang berlimpah, dan dukungan komunitas yang kuat, membuat kemajuan web technologies bisa menjadi ancaman untuk ekosistem mobile. Salah satu kemajuan web technologies yang bisa menggerus dominasi aplikasi mobile saat ini adalah Progressive Web Apps (PWA). PWA bisa disebut sebagai native-apps killer, karena kemampuannya yang mampu menandingi aplikasi iOS dan Android pada umumnya, namun dibangun dengan pengetahuan yang sama yang digunakan untuk membangun aplikasi web (HTML/CSS/Javascript).
User yang mengunjungi website yang dilengkapi dengan teknologi PWA melalui perangkat smartphone dapat menyimpan seluruh konten dari isi situs tersebut sehingga bisa diakses lagi sewaktu-waktu walaupun tanpa koneksi internet (offline). Hal ini mirip seperti ketika user melakukan install aplikasi dari App Store maupun Google Play Store. Tampilan PWA juga mirip dengan aplikasi iOS dan Android pada umumnya, yaitu  memiliki icon yang akan muncul di tampilan home screen pada smartphone dan juga menampilkan welcome screen pada saat PWA sedang dibuka selayaknya aplikasi pada umumnya. Ketika user melakukan tap pada recent apps key pada smartphone Android mereka, maka yang muncul website tersebut akan muncul dalam daftar app yang sedang dibuka sebagaimana layaknya aplikasi lain, namun dengan icon browser yang ada (Google Chrome). Karena konten dapat diakses ketika offline, lantas bagaimana jika ada yang ingin membuat website yang berisi konten dinamis dengan PWA? Untuk kasus tersebut, push notifications-lah jawabannya. PWA dapat mendeteksi adanya perubahan konten dari server dan kemudian memberikan notifikasi kepada user mengenai adanya pembaruan pada konten, seperti notifikasi untuk update pada aplikasi native biasanya. Para pengguna Android bisa mencoba bagaimana pengalaman menjelajahi website-website yang mengadopsi PWA dengan mengunjungi situs PWA Rocks, yang tampilan situsnya bisa dilihat pada gambar header artikel ini.
Saat ini, tingkat adopsi teknologi PWA pada website masih sedikit, karena bisa dibilang teknologi ini belum populer, apalagi di Indonesia. Namun melihat gejala yang berkembang, kemungkinan besar PWA ini akan menjadi tren baru di dunia web technologies menggantikan (atau melengkapi) teknologi responsive web design. Hal ini ditandai dengan banyaknya respons positif dari kalangan web developers dengan teknologi ini. Banyak yang berpendapat jika website dengan menggunakan PWA tersebut lebih memiliki potensi yang menjanjikan ketimbang harus merancang native apps dari awal, dan tentunya effort dan cost yang dikeluarkan lebih kecil daripada harus membuat aplikasi iOS dan Android untuk website yang sama.
Belum lagi dari segi traffic. Menurut data yang ada, rata-rata setiap user menambah sekitar 0-3 aplikasi per bulan pada smartphone masing-masing, yang artinya mereka jarang menghabiskan waktu untuk menjelajahi dan menjajal aplikasi baru. Namun, mereka memiliki banyak waktu untuk menjelajah website di internet, yang bermakna, potensi sebuah PWA ditemukan oleh user lebih besar dibandingkan dengan jika developer memilih membangun aplikasi native untuk konten yang sama.
Namun pertumbuhan PWA bukan tanpa halangan. Baru-baru ini, para developer mengkritisi sikap Apple, selaku produsen iPhone yang masih belum menunjukkan keseriusan mereka untuk mengadopsi teknologi PWA ke dalam ekosistem mereka. Hal berbeda ditunjukkan oleh Google yang sudah mengimplementasikan teknologi PWA ke dalam ekosistem (Android) dan mobile browser mereka (Google Chrome). Yang dilakukan oleh Apple hanyalah mencantumkan rencana implementasi PWA ke dalam mobile browser mereka (Safari) dengan label “Under Consideration”. Namun sejak adanya protes terkini, Apple akhirnya berubah pikiran dan mengganti status tersebut menjadi “In Development”.
Dengan jelasnya sikap Apple saat ini, maka tren PWA bisa dipastikan akan terus menanjak seiring dukungan yang ramai dari para web developer. Pelan-pelan peran native apps pun akan mulai tergerus, dan PWA yang ramai-ramai dibekingi oleh web developers seluruh dunia akan menunjukkan keunggulannya.

Kategori Artikel

Teknologi

Tags Artikel

1
web
2
pwa
3
ios
4
android