Pengembangan aplikasi seluler setelah PhoneGap dan Cordova

Todd Anglin adalah wakil presiden strategi produk dan hubungan pengembang di Progress.

Selama hampir satu dekade, PhoneGap telah menawarkan kepada pengembang web jalur yang mudah untuk membuat aplikasi seluler yang memiliki akses ke kemampuan perangkat asli. PhoneGap memungkinkan banyak pengembang untuk membuat aplikasi untuk iOS dan Android (dan bahkan Windows Phone dan BlackBerry, untuk sementara waktu) menggunakan pustaka keterampilan dan JavaScript yang sudah mereka kenal dan sukai. Kombinasi keterampilan web ditambah akses perangkat asli (umumnya dikenal sebagai "hybrid") telah berakar kuat sebagai salah satu pendekatan utama untuk pengembangan aplikasi seluler.

Sekarang, saat pekerjaan mengembangkan PhoneGap (dan proyek open source Apache Cordova terkait) melambat, apa selanjutnya untuk pengembangan seluler hybrid?

Jelas, sebagai proyek open source, Apache Cordova tidak akan menghilang dalam waktu dekat. Banyak perusahaan memiliki investasi besar di Cordova, dan komunitas Cordova terus mengisi kesenjangan seiring pasang surutnya komitmen perusahaan.

Tapi PhoneGap adalah proyek yang dibuat dengan maksud eksplisit untuk akhirnya menjadi usang, dan momen itu mungkin ada pada kita.

Selama 10 tahun terakhir, dua opsi yang bisa dibilang lebih unggul telah muncul yang siap menggantikan PhoneGap dan "hybrid 1.0". Ini adalah aplikasi web progresif dan aplikasi asli berbasis JavaScript.

Aplikasi web progresif

PhoneGap selalu dimaksudkan untuk membantu pengembang web melakukan lebih banyak hal di perangkat seluler ketika mereka mencapai batas browser web seluler. PhoneGap menggunakan kembali semuanya dari web — HTML, CSS, JavaScript — dan mengandalkan plugin yang ditulis dalam kode asli (Objective-C, Swift, Java) untuk mengakses fitur perangkat asli tertentu melalui JavaScript. Seiring waktu, ini terbukti menjadi berkah sekaligus kutukan. Kurva pembelajaran sangat rendah, tetapi browser web yang disematkan di aplikasi PhoneGap sering mengalami kesulitan dengan kinerja (tidak terima kasih kepada Apple dan, untuk waktu yang lama, tampilan web Android default). Namun, PhoneGap adalah solusi yang bekerja yang menghasilkan hasil yang "cukup baik" bagi banyak orang.

Sementara itu, standar web terus berkembang, dan selama tiga hingga empat tahun terakhir, dorongan untuk meningkatkan standar web yang diperlukan untuk membuat aplikasi seluler berperforma lebih tinggi dan siap offline telah menjadi katalis di bawah istilah "aplikasi web progresif".

Dengan aplikasi web progresif, platform web mengambil satu langkah besar ke depan. Sekarang aplikasi web memiliki kendali penuh atas tumpukan jaringan, sehingga memungkinkan untuk melakukan operasi caching dan offline tingkat lanjut. Ada juga API baru yang membantu membuat aplikasi web melakukan hal lain yang sering dikaitkan dengan aplikasi seluler asli, seperti meluncurkan dengan layar splash, mengirim pemberitahuan push, atau meminta informasi pembayaran kepada pengguna. Tambahkan ini ke semua API "HTML5" lainnya yang telah ada di browser — seperti akses ke akselerometer, kamera, dll. — Dan Anda memiliki platform web yang sangat mumpuni untuk berbagai jenis aplikasi.

Semua kemampuan ini akan membutuhkan aplikasi asli saat PhoneGap dibuat, tetapi sekarang browser telah menyusul. Kita bisa melepas roda pelatihan hybrid.

Namun, tetap ada batasan di web. Ini hanyalah sifat dari platform yang bergerak lambat dan berbasis standar. aplikasi web progresif adalah langkah maju yang besar, tetapi mereka bukan pengganti yang sempurna untuk semua aplikasi. Jadi apa yang harus dilakukan pengembang web setelah hibrid jika mereka masih memerlukan akses penuh ke API perangkat asli? Masukkan aplikasi asli berbasis JavaScript.

Aplikasi asli berbasis JavaScript

Sekitar lima tahun yang lalu, beberapa perusahaan mulai mencoba menemukan solusi untuk masalah kinerja yang sering terjadi yang mengganggu aplikasi seluler hybrid. Sasaran: Membuat kerangka kerja yang dapat memberikan kinerja "benar-benar asli" dan kekayaan UI sambil tetap bersifat lintas platform dan familier bagi pengembang web. Dari pekerjaan ini, dua opsi populer muncul: React Native (dari Facebook) dan NativeScript (dari Progress).

Kerangka kerja baru ini memungkinkan pengembang untuk terus menggunakan kembali keterampilan web mereka, tetapi alih-alih hanya membungkus browser web dalam shell aplikasi asli (seperti yang dilakukan PhoneGap), pendekatan baru ini menghasilkan UI asli. Hasilnya adalah aplikasi seluler yang terasa dan berperforma lebih seperti aplikasi asli platform tunggal "mentah", sambil tetap mendapatkan produktivitas lintas platform.

Ada beberapa nama untuk menggambarkan pendekatan ini: "hybrid 2.0", "native hybrid", dan "cross-platform native", antara lain. Forrester memperkenalkan istilah "aplikasi asli yang digerakkan oleh JavaScript", dan meskipun istilah tersebut tidak tepat, setidaknya nama itu akurat dan deskriptif.

Dengan kerangka kerja aplikasi asli berbasis JavaScript, pengembang web memiliki sebagian besar hal yang mereka sukai tentang PhoneGap, tetapi dengan lebih banyak kekuatan dan kinerja. Misalnya, NativeScript, yang sangat terintegrasi dengan Angular dan Vue, memberi pengembang akses penuh ke semua API asli melalui JavaScript. Semuanya. Jika dapat dilakukan di aplikasi asli, ini dapat dilakukan di NativeScript, dan modul lintas platform memungkinkan sebagian besar hal untuk dikodekan sekali dan berfungsi di iOS dan Android. Ini seperti plugin PhoneGap pada steroid.

React Native dan NativeScript keduanya merupakan proyek sumber terbuka yang berkembang pesat, dan keduanya siap menjadi evolusi alami dari "hybrid 1.0" untuk kasus di mana aplikasi web progresif tidak sesuai dengan kebutuhan.

Yang mana yang kamu pilih

Meskipun PhoneGap tidak hilang, sulit untuk membayangkan mengapa proyek baru akan dimulai dengan PhoneGap hari ini ketika opsi seperti aplikasi web progresif dan aplikasi asli berbasis JavaScript ada. Kedua opsi tersebut mewakili jalur yang dibangun untuk masa depan dan relatif sepele untuk diadopsi untuk pengembang web yang sudah terbiasa dengan pengembangan aplikasi hybrid.

Memilih di antara opsi-opsi juga harus sederhana:

  1. Jika aplikasi Anda tidak memerlukan banyak akses API perangkat, tidak perlu berada di toko aplikasi, dan dapat berfungsi dengan beberapa batasan tambahan di iOS (untuk saat ini), buat aplikasi web progresif.
  2. Jika persyaratan aplikasi Anda melebihi batas aplikasi web progresif, pilih salah satu platform aplikasi asli berbasis JavaScript:
    1. Jika Anda adalah toko React, pilih React Native.
    2. Jika Anda seorang toko Angular atau Vue, pilih NativeScript. 

Banyak perusahaan yang menyusun kerangka kerja sumber terbuka ini sangat bersedia membantu, dan sebagian besar menawarkan panduan teknis untuk bermigrasi dari PhoneGap ke kerangka kerja mereka. Jika Anda mencari tempat untuk memulai perjalanan migrasi, berkonsultasi dengan pakar selalu merupakan ide yang bagus.

Dan jika Anda mengalami kebuntuan, atau Anda lebih suka berbicara dengan pakar pihak ketiga, ada sejumlah sumber daya hebat yang tersedia untuk komunitas pengembang — pilihan yang jelas dan paling populer adalah GitHub. Namun, ada banyak forum lain yang dibuat untuk membantu pengembang bermigrasi dari PhoneGap dan hybrid ke aplikasi web progresif untuk sementara waktu sekarang, dan mereka menawarkan beberapa petunjuk bagus.

Pada akhirnya, PhoneGap sesuai dengan namanya. Ini membantu pengembang web menjangkau “celah” pengembangan aplikasi seluler selama hampir satu dekade. Itu berjalan mengesankan dengan standar apa pun. Sekarang saatnya untuk aplikasi web progresif dan kerangka kerja aplikasi asli yang digerakkan oleh JavaScript untuk mengambil alih peran dan memimpin pengembang ke masa depan.

Hybrid (1.0) sudah mati. Hibrida berumur panjang (2.0).

Todd Anglin adalah wakil presiden strategi produk dan hubungan pengembang di Progress. 

-

Forum Teknologi Baru menyediakan tempat untuk mengeksplorasi dan mendiskusikan teknologi perusahaan yang sedang berkembang secara mendalam dan luas. Pemilihan ini subjektif, berdasarkan pilihan teknologi yang kami yakini penting dan paling menarik bagi pembaca. tidak menerima jaminan pemasaran untuk publikasi dan berhak untuk mengedit semua konten yang dikontribusikan. Kirim semua pertanyaan ke  [email protected] .