Ce face React Native potrivit pentru Uber Eats și alte aplicații online de livrare a alimentelor?

Publicat: 2021-12-07

Uber este obligat să ofere clienților săi ceva mai mult decât convențional, indiferent de domeniu. În timp ce planul de lansare a UberEats, o aplicație de livrare de alimente online, era în curs de desfășurare, compania s-a angajat să facă din aceasta o experiență excepțională, așa cum este cazul UberPOOL și UberX.

Echipa de dezvoltatori a fost conștientă de provocările existente ale industriei, cum ar fi pașii suplimentari implicați în preluarea și livrarea, lipsa unei comunicări în timp real cu profesionistul livrărilor și stabilirea unei comunicări constante cu toate cele trei verticale (clienți, restaurante și persoane cu livrare). a personalului.

În cele din urmă, UberEats a luat ființă, luând ajutorul lui React Native. În această postare, vom explica modul în care utilizarea Reach Native a ajutat Uber să modeleze aplicația.

Înțelegerea React Native

dezvoltator care lucrează pe computer
Imagine: Unsplash

RN sau React Native este un cadru de dezvoltare de aplicații mobile recunoscut la nivel global, scris în JavaScript. Folosind React Native, dezvoltarea de aplicații mobile native iOS și Android este posibilă. Dezvoltarea aplicației pentru platformele asortate se va face folosind o bază de cod identică, ceea ce duce la eforturi uriașe și la economisirea de timp.

Generat de Facebook și comunitățile aferente, React Native a fost oferit ca instrument open-source în 2015. La scurt timp după dezvoltare, a devenit o sursă standard utilizată în dezvoltarea de soluții hibride și mobile, datorită ușurinței sale de neegalat și utilizării extinse. De asemenea, codul scris o singură dată poate fi folosit pentru dezvoltarea aplicațiilor iOS și Android fără nicio bătaie de cap.

A devenit atât de proeminent în rândul dezvoltatorilor, încât mai mult de 42% îl folosesc. De fapt, aplicațiile moderne precum Skype, Facebook și Instagram au apărut doar datorită React Native.

Provocările

Dezvoltarea unei aplicații mobile este deja o slujbă plină de provocări, iar provocarea majoră a Uber a fost lipsa unei stive de tehnologie adecvate necesare pentru a dezvolta o aplicație mobilă, deoarece echipa sa ocupat doar de dezvoltarea aplicațiilor web, având trei părți. Dezvoltarea unei astfel de aplicații avea nevoie de un tablou de bord care să nu se limiteze la web, să poată intra în restaurante și să transmită informații critice din restaurante.

Pe baza cunoștințelor existente, Uber a construit un prototip al aplicației. Dar, toate caracteristicile de mai sus lipseau din el. În plus, absența notificărilor sonore a afectat foarte mult experiența utilizatorului final, deoarece consumatorii nu au putut obține actualizările în timp real a comenzilor.

Tabloul de bord primitiv al restaurantului era compatibil cu web și prezenta o pagină React/Flux pentru dispozitivele tablete care acorda acces la dispozitive limitate la acea vreme. Această capacitate redusă a tabloului de bord al restaurantelor a forțat Uber să aibă o comunicare limitată cu restaurantele.

Unul dintre cele mai ușoare exemple ale acestei comunicări controlate este că utilizatorii finali trebuie să comunice cu pagina web pentru a sprijini semnalul de notificare bazat pe sunet. Angajații restaurantului nu primeau actualizări în timp real despre primirea unei noi comenzi, sosirea personalului de livrare pentru ridicarea comenzilor și livrarea finală.

În afară de aceasta, versiunea anterioară a UberEats a acordat acces doar la tipărirea chitanțelor fizice restaurantelor folosind imprimante compatibile AirPrint.

React Native Lucrurile au fost mai bune

uber mănâncă
Imagine: Unsplash

Echipa de dezvoltare nu știa cum să construiască o aplicație iOS/Android. Dar, React a fost stăpânit. Deci, preferarea React Native pentru Uber Eats a fost o șansă sigură. Este o parte esențială a stivei voluminoase de tehnologie folosită pentru Uber Eats. Se înțelege bine cu infrastructura existentă a Uber și permite echipei să acceseze funcțiile pe care le căutau în dezvoltarea aplicațiilor mobile native.

Înainte de a lansa o aplicație complet funcțională, Uber a decis să vină cu o versiune demonstrativă care ar trebui să includă părțile cheie menționate mai jos:

  • Rapoarte de blocare ale aplicației
  • Analiza detaliată a utilizatorului final
  • Capacitatea aplicației de a descărca dependențele native
  • Autentificarea utilizatorului

Conform raportului companiei, demonstrația a reușit să aducă rezultatul dorit, deoarece echipa de dezvoltatori a aflat că raportarea accidentelor funcționează mai bine decât se aștepta. Conectarea JavaScript pentru o facilitate precum declanșarea evenimentelor de analiză a fost fără probleme, iar observarea logicii de afaceri a aplicației a fost ușoară.

Arhitectura aplicației a fost redefinită

React Native a ajutat Uber să fuzioneze dezvoltarea de aplicații mobile și web, permițând în același timp generarea de funcții în nativ sau în JavaScript. Datorită acestei interoperabilitati, dezvoltatorii Uber au putut să-și folosească experiența în dezvoltarea de aplicații web și în dezvoltarea de aplicații mobile.

Ei au proiectat Uber Eats într-un mod foarte asemănător cu aplicația web obișnuită React/Redux, păstrând în același timp modelele și modelele modulelor iOS la distanță, conform nevoilor orei. Utilizarea React Native permite Uber să îmbunătățească funcționalitatea de rutare a aplicației.

În timp ce Uber Eats era doar bazat pe web, Restaurant Dashboard folosea faimoasa bibliotecă de routere de reacție. Folosind biblioteca, rutele aplicației au fost explicate declarativ, ca o vizualizare. Un astfel de tip de rutare a aplicației accepta doar adrese URL, a căror accesibilitate nu era posibilă în afara browserului.

Utilizarea React Native oferă dezvoltatorilor o bibliotecă de navigare precisă, care este foarte asemănătoare cu UINavigationController. Bibliotecile native React, cum ar fi NavigationExperimental sau Navigator, au permis echipei de dezvoltare Uber să migreze cu ușurință de pe router-ul de acoperire. Vanilla reach-router este o resursă excelentă pentru rutarea aplicațiilor, deoarece este greu de împiedicat de arhitectura aplicației.

În timp ce procesul de portare era în desfășurare, echipa de dezvoltare a aflat că este o mișcare înțeleaptă să reducă interacțiunea dintre iOS și JavaScript în timp ce plasează logica în stratul JavaScript. Această mișcare a ajutat în multe feluri. De exemplu, aplicația finală a prezentat mai puține.

Comutare JavaScript și Objective-C pentru o portabilitate mai bună și mai puține șanse pentru apariția erorilor. Folosind n Reach Native, echipa de dezvoltare Uber Eats a creat un API de comunicare auster, care poate fi folosit în continuare la diferite niveluri.

Îmbunătățește actualizările push/notificarea

aplicații mac
Imagine: StackSocial

Incompetența de notificare sonoră a aplicației web a fost redusă cu React Native, deoarece aplicațiile create folosind această tehnologie sunt legate între ele cu o mică bucată de cod Objective-C/Java. Aceste coduri se reunesc pentru a construi un pachet voluminos care este ulterior expediat împreună cu aplicația ca un bun. Când există un strat nativ, aplicația este capabilă să modifice fișierul bridge React Native și să solicite reîncărcarea.

La nivelul nativ, aplicația poate modifica fișierul folosit de puntea React Native și poate solicita reîncărcarea acestuia. O actualizare proastă, care este denumită un pachet care cauzează probleme în Uber Eats, poate forța oprirea tabloului de bord al restaurantului. Se poate întâmpla înainte ca pachetul logic să intre în acțiune. Aceste actualizări proaste pot apărea oricând și pot bloca tabloul de bord al restaurantului.

Echipa de dezvoltatori a remediat această problemă tratând fiecare lansare ca o experimentare, astfel încât să fie posibilă lansarea treptată. Pachetul unic de javascript, oferit în React Native, a fost încărcat automat după încărcarea oricărui pachet împins.

Încheind totul

Uber Eats are o călătorie interesantă, iar React Native a jucat un rol esențial pe parcursul acestei călătorii. Această tehnologie a ajutat echipa de dezvoltare cu o experiență și funcționalități lăudabile pentru dezvoltarea de aplicații native pentru a îmbunătăți experiența utilizatorului.

A adus schimbări revoluționare maxime în actualizarea tabloului de bord al restaurantului. A făcut ca acest aspect operațional să fie împuternicit, perfect și foarte receptiv. Acest cadru a intensificat cu siguranță capacitatea aplicației fără a crește complexitatea. Chiar dacă React Natives reprezintă o mică parte din tehnologia mamut a UberEats, funcțională din spate, contribuția sa este lăudabilă.

Dacă intenționați să dezvoltați o aplicație de livrare de alimente online precum UberEats, luați în considerare React Native. Angajați dezvoltator sau echipă React Native pentru a vă transforma ideea de proiect în realitate. Punerea unui pariu pe el nu va dezamăgi pe nimeni.

Nota editorului: Chandresh Patel este CEO, antrenor Agile și fondator al Bacancy Technology. Spiritul său cu adevărat antreprenorial, expertiza pricepută și cunoștințele vaste în serviciile de dezvoltare software Agile au ajutat organizația să atingă noi culmi de succes.

Ai vreo părere despre asta? Anunțați-ne mai jos în comentarii sau transmiteți discuția pe Twitter sau Facebook.

Recomandările editorilor: