Apa yang membuat React Native cocok untuk Uber Eats dan aplikasi pengiriman makanan online lainnya?

Diterbitkan: 2021-12-07

Uber berkewajiban untuk menawarkan sedikit lebih dari konvensional kepada pelanggannya, terlepas dari domainnya. Sementara rencana peluncuran UberEats, aplikasi pengiriman makanan online, sedang dalam proses, perusahaan berkomitmen untuk menjadikannya pengalaman yang luar biasa, seperti halnya dengan UberPOOL dan UberX.

Tim pengembang menyadari tantangan industri yang ada seperti langkah ekstra yang terlibat dalam pengambilan dan pengiriman, tidak memiliki komunikasi waktu nyata dengan profesional pengiriman, dan membangun komunikasi yang konstan dengan ketiga vertikal (pelanggan, restoran, dan petugas pengiriman) dari personel.

Akhirnya, UberEats muncul, mengambil bantuan dari React Native. Dalam posting ini, kami akan menjelaskan bagaimana penggunaan Reach Native membantu Uber membentuk aplikasi.

Memahami Bereaksi Asli

pengembang bekerja di komputer
Gambar: Unsplash

RN atau React Native adalah kerangka kerja pengembangan aplikasi seluler yang diakui secara global, ditulis dalam JavaScript. Menggunakan React Native, pengembangan aplikasi seluler iOS dan Android asli dimungkinkan. Pengembangan aplikasi untuk berbagai macam platform akan dilakukan menggunakan basis kode yang identik yang mengarah pada upaya besar dan penghematan waktu.

Dihasilkan oleh Facebook dan komunitas terkait, React Native ditawarkan sebagai alat sumber terbuka pada tahun 2015. Segera setelah pengembangan, itu menjadi sumber standar yang digunakan dalam pengembangan solusi hybrid dan seluler, karena kemudahannya yang tak tertandingi dan kegunaan yang diperluas. Selain itu, kode yang ditulis sekali dapat digunakan untuk pengembangan aplikasi iOS dan Android tanpa kerumitan.

Ini telah menjadi sangat menonjol di antara para pengembang sehingga lebih dari 42% menggunakannya. Faktanya, aplikasi modern seperti Skype, Facebook, dan Instagram muncul karena React Native saja.

Tantangan

Mengembangkan aplikasi seluler sudah merupakan pekerjaan yang penuh tantangan dan tantangan utama Uber adalah kurangnya tumpukan teknologi yang memadai yang diperlukan untuk mengembangkan aplikasi seluler karena tim hanya menangani pengembangan aplikasi web, yang terdiri dari tiga pihak. Pengembangan aplikasi semacam itu membutuhkan dasbor yang tidak boleh terbatas pada web, dapat memasuki restoran, dan mengirimkan informasi penting dari restoran.

Berdasarkan pengetahuan yang ada, Uber membangun prototipe aplikasi. Tapi, semua fitur di atas hilang darinya. Selain itu, tidak adanya pemberitahuan suara sangat merugikan pengalaman pengguna akhir karena pemakan tidak bisa mendapatkan pembaruan pesanan waktu nyata.

Dasbor Restoran primitif kompatibel dengan web dan menampilkan halaman React/Flux untuk perangkat tablet yang memberikan akses ke perangkat terbatas pada saat itu. Kapasitas Dashboard Restoran yang berkurang ini memaksa Uber untuk membatasi komunikasi dengan restoran.

Salah satu contoh termudah dari komunikasi terkontrol ini adalah bahwa pengguna akhir harus berkomunikasi dengan halaman web untuk mendukung isyarat notifikasi berbasis suara. Karyawan restoran tidak menerima pembaruan waktu nyata tentang menerima pesanan baru, kedatangan personel pengiriman untuk pengambilan pesanan, dan pengiriman akhir.

Selain itu, versi UberEats sebelumnya hanya memberikan akses untuk mencetak tanda terima fisik ke restoran menggunakan printer yang kompatibel dengan AirPrint.

Bereaksi Asli Membuat Segalanya Lebih Baik

uber makan
Gambar: Unsplash

Tim pengembangan tidak tahu cara membuat aplikasi iOS/Android. Tapi, React sudah dikuasai. Jadi, memilih React Native untuk Uber Eats adalah pilihan yang pasti. Ini adalah bagian penting dari tumpukan teknologi besar dan kuat yang digunakan untuk Uber Eats. Ini cocok dengan infrastruktur Uber yang ada dan memungkinkan tim untuk mengakses fitur yang mereka cari dalam pengembangan aplikasi seluler asli.

Sebelum meluncurkan aplikasi yang berfungsi penuh, Uber memutuskan untuk membuat versi demo yang harus menyertakan bagian-bagian penting yang disebutkan di bawah ini:

  • Laporan kerusakan aplikasi
  • Analisis rinci pengguna akhir
  • Kemampuan aplikasi untuk mengunduh dependensi asli
  • Otentikasi pengguna

Sesuai dengan laporan perusahaan, demo berhasil memberikan hasil yang diinginkan karena tim pengembang menemukan bahwa pelaporan kerusakan bekerja lebih baik dari yang diharapkan. Penjembatan JavaScript untuk fasilitas seperti pengaktifan peristiwa analitik berjalan mulus, dan mengamati logika bisnis aplikasi itu mudah.

Arsitektur aplikasi didefinisikan ulang

React Native membantu Uber memadukan pengembangan aplikasi seluler dan web sambil memungkinkan pembuatan fitur dalam bahasa asli atau JavaScript. Karena interoperabilitas ini, para pengembang Uber juga dapat memanfaatkan keahlian pengembangan aplikasi web mereka dalam pengembangan aplikasi seluler.

Mereka merancang Uber Eats dengan cara yang sangat mirip dengan aplikasi web React / Redux biasa sambil menjaga pola iOS dan pola modul sesuai kebutuhan saat itu. Penggunaan React Native memungkinkan Uber untuk meningkatkan fungsionalitas perutean aplikasi.

Sementara Uber Eats hanya berbasis web, Restaurant Dashboard menggunakan perpustakaan react-router yang terkenal. Menggunakan perpustakaan, rute aplikasi dijelaskan secara deklaratif, seperti Tampilan. Perutean aplikasi semacam itu hanya mendukung URL, yang aksesibilitasnya tidak dimungkinkan di luar browser.

Penggunaan React Native memberikan pengembang perpustakaan navigasi yang tepat yang sangat mirip dengan UINavigationController. Pustaka React Native seperti NavigationExperimental atau Navigator memungkinkan tim pengembangan Uber untuk bermigrasi dari jangkauan-router dengan mudah. Router jangkauan Vanilla adalah sumber yang bagus untuk perutean aplikasi karena hampir tidak terhalang oleh arsitektur aplikasi.

Sementara proses porting berlangsung, tim pengembangan belajar bahwa itu adalah langkah yang bijaksana untuk mengurangi interaksi antara iOS dan JavaScript sambil menempatkan logika di lapisan JavaScript. Langkah ini membantu dalam banyak hal. Misalnya, aplikasi terakhir menampilkan lebih sedikit.

Pergantian JavaScript dan Objective-C untuk portabilitas yang lebih baik, dan peluang yang lebih sedikit untuk kemunculan bug. Menggunakan n Reach Native, tim pengembangan Uber Eats datang dengan API komunikasi sederhana yang dapat digunakan lebih lanjut di berbagai tingkatan.

Meningkatkan Pembaruan/Pemberitahuan Push

aplikasi mac
Gambar: StackSocial

Inkompetensi pemberitahuan suara dari aplikasi web diatasi dengan React Native karena aplikasi yang dibangun menggunakan teknologi ini dihubungkan bersama dengan sebagian kecil kode Objective-C/Java. Kode-kode ini bersatu untuk membangun bundel besar yang kemudian dikirim dengan aplikasi seperti aset. Ketika ada lapisan asli, aplikasi mampu mengubah file jembatan React Native dan meminta reload.

Pada lapisan asli, aplikasi dapat mengubah file yang digunakan oleh jembatan React Native dan meminta agar file tersebut dimuat ulang. Pembaruan buruk, yang disebut sebagai bundel penyebab masalah di Uber Eats, dapat memaksa menghentikan Dasbor Restoran. Itu bisa terjadi sebelum bundel logika beraksi. Pembaruan buruk seperti itu dapat muncul kapan saja dan merusak Dasbor Restoran.

Tim pengembang memperbaiki masalah ini dengan memperlakukan setiap rilis sebagai eksperimen sehingga peluncuran bertahap dapat dilakukan. Bundel javascript unik, yang ditawarkan di React Native, dimuat secara otomatis setelah memuat bundel yang didorong.

Membungkus semuanya

Uber Eats memiliki perjalanan yang menarik dan React Native telah memainkan peran penting selama perjalanan ini. Teknologi ini telah membantu tim pengembangan dengan beberapa keahlian dan fungsionalitas terpuji untuk pengembangan aplikasi asli guna meningkatkan pengalaman pengguna.

Ini membawa perubahan revolusioner maksimum dalam peningkatan Dasbor Restoran. Itu telah membuat aspek operasional ini diberdayakan, mulus, dan sangat responsif. Kerangka kerja ini tentunya telah meningkatkan kemampuan aplikasi tanpa meningkatkan kerumitan. Meskipun React Natives menyumbang sebagian kecil dari tumpukan teknologi raksasa UberEats, fungsional dari belakang, kontribusinya patut dipuji.

Jika Anda berencana untuk mengembangkan aplikasi pengiriman makanan online seperti UberEats, pertimbangkan React Native. Pekerjakan pengembang atau tim React Native untuk mengubah ide proyek Anda menjadi kenyataan. Menempatkan taruhan di atasnya tidak akan mengecewakan siapa pun.

Catatan Editor: Chandresh Patel adalah CEO, pelatih Agile, dan pendiri Bacancy Technology. Semangat kewirausahaannya yang sesungguhnya, keahliannya yang terampil, dan pengetahuannya yang luas dalam layanan pengembangan perangkat lunak Agile telah membantu organisasi tersebut mencapai tingkat kesuksesan yang baru.

Punya pemikiran tentang ini? Beri tahu kami di bawah di komentar atau bawa diskusi ke Twitter atau Facebook kami.

Rekomendasi Editor: