React Native cross-platform fejlesztés iOS-re és Androidra

A Petadev budapesti fejlesztőcsapata React Native-alapú mobilalkalmazásokat készít a hozzájuk tartozó háttérrendszerrel és adminfelülettel. 8 éve dolgozunk React Native-ben és legalább 30 alkalmazást adtunk ki vele. Cross-platform módon, közös kódbázisra építjük az iOS- és Android-appot, a platformok eltéréseit pedig külön kezeljük. Saját termék indításában és meglévő rendszerek mobilos kiegészítésében is segítünk.

  • React Native
  • Expo
  • Node.js
  • React és Next.js adminfelületek
Az Ostva React Native-alkalmazás bemutatóképe
  • 8 év

    React Native-fejlesztési tapasztalat

  • 30+ app

    React Native-ben kiadott alkalmazás

  • iOS + Android

    egy kódbázisból, backenddel és adminnal

Mikor jó választás a cross-platform fejlesztés React Native-val?

A React Native cross-platform keretrendszer: egy kódbázisból készül az iOS- és az Android-app. Jó kiindulópont lehet, ha ugyanazt a szolgáltatást iPhone-on és Androidon is elérhetővé tennéd és fontos, hogy a két alkalmazást együtt lehessen továbbfejleszteni.

Ilyen helyzet lehet például egy foglalási szolgáltatás, egy piactér vagy egy meglévő webáruház mellé készülő mobilalkalmazás. A közös kódbázis előnye akkor érvényesül, ha a felhasználói folyamatok nagy része mindkét platformon hasonló.

Az egyeztetésen a különleges igényeket is végignézzük: kell-e háttérben futó helymeghatározás, egyedi eszközkapcsolat, kamerafeldolgozás vagy olyan gyártói SDK, amelynek beépítése külön munkát igényel. Ezek alapján lehet felelősen technológiát választani. De kijelenthető, hogy ezek nem kompromisszumos megoldások, hanem minőségi, komplex rendszerek fejlesztésére is használható technológiák.

Mit építünk React Native-val?

  • Mobilos felületet az alkalmazás saját működéséhez

    Megtervezzük és elkészítjük a képernyőket, a navigációt, az űrlapokat és a jogosultságokhoz kapcsolódó felhasználói folyamatokat. Figyelembe vesszük a készülékméreteket, a rendszerengedélyeket és azt, hogyan használják az appot a gyakorlatban.

  • Kapcsolatot a háttérrendszerrel

    Az alkalmazást meglévő API-hoz kapcsoljuk, vagy elkészítjük a szükséges háttérszolgáltatásokat. A Petadevnél a mobilos és a backendfeladatokat együtt tudjuk kezelni, így a felület és az adatok működését ugyanabban a folyamatban tervezzük meg.

  • A termékhez szükséges integrációkat

    Fizetés, személyazonosítás, értesítések vagy egy webáruház adatai: először tisztázzuk, melyik rendszer miért felel. Az integráció a sikeres művelet mellett az elutasítást, az időtúllépést és az ismételt próbálkozást is kezeli. Például egy megszakadt fizetés után az appnak a tényleges tranzakcióállapotot kell mutatnia.

  • Tesztelhető és kiadható alkalmazást

    A fejlesztés része az iOS- és Android-változat ellenőrzése, valamint az áruházi beküldés előkészítése. A közös kódbázis mellett mindkét platformon tesztelni kell a kritikus műveleteket. Az áruházak jóváhagyási folyamata külön lépés, annak eredményét nem a fejlesztőcsapat dönti el.

Saját projektek, amelyekben ezt alkalmaztuk

Az Ostva React Native-alkalmazás bemutatóképe

Ostva: React Native és Expo egy amerikai piactérhez

Az Ostva iOS- és Android-alkalmazását React Native és Expo használatával fejlesztettük. A mobilapphoz saját backend és adminfelület kapcsolódik, a rendszer Stripe Connect-fizetést és Onfido-személyazonosítást is kezel. A feladat az volt, hogy a foglalás állapota a kapcsolódó rendszerekben is következetes maradjon.

Az Ostva fejlesztésének részletei
A Trinity Guard mobilalkalmazás bemutatóképe

Trinity Guard: őrjárat-ellenőrzés okostelefonnal

A Trinity Guard őrjárat-ellenőrző rendszeréhez React Native-ben készítettük el a mobilalkalmazást, mellé a webes felületet és a backendet. Az őrök okostelefonnal igazolják a járőrözést, külön ellenőrző eszköz nélkül. 2022 vége óta folyamatosan fejlesztjük a rendszert, amely három elkülönített környezetben fut.

A Trinity Guard együttműködés bemutatása

Webshopapp: közös fiókok egy meglévő webáruházzal

Egy szerszám-webáruházhoz React Native-appot és Node.js háttérszolgáltatásokat készítettünk. A vásárlók a webes fiókjukkal léphetnek be és elérik a rendelési előzményeiket. A meglévő webshop fejlesztőivel együtt alakítottuk ki a kapcsolatot a két rendszer között.

Így kapcsoltuk össze a webshopot és a mobilalkalmazást

Hogyan indul a közös fejlesztés?

  1. 1Átbeszéljük a működést. Kik használják majd az appot, mit kell elvégezniük benne és milyen rendszerekhez kell csatlakoznia? Ha van specifikáció vagy felületterv, abból indulunk ki.

  2. 2Megvizsgáljuk a technikai feltételeket. Külön figyelmet kapnak a platformfüggő funkciók és a külső szolgáltatások. Kiderül, hol használható közös megoldás és hol kell külön iOS- vagy Android-fejlesztés.

  3. 3Rögzítjük a vállalt feladatokat. A specifikáció alapján állítjuk össze az ajánlatot és a mérföldköveket. Az app, a backend és az adminfelület feladatai is egyértelműen szerepelnek benne.

  4. 4Kipróbálható verziókon haladunk. A fejlesztés közben ellenőrizheted a működést. Az észrevételeket és a közben felmerülő új igényeket a következő lépések előtt egyeztetjük.

Mitől függ a React Native-projekt ráfordítása?

A képernyők számánál gyakran többet számít az üzleti logika, az integrációk állapota és a platformspecifikus igények. Egy meglévő, jól dokumentált API más kiindulópont, mint egy olyan rendszer, amelyhez a háttérszolgáltatásokat is most kell elkészíteni.

A közös kódbázis csökkentheti a párhuzamos fejlesztési munkát, de nem teszi feleslegessé a külön tesztelést vagy a platformonkénti finomhangolást. A becslést ezért a konkrét feladatokra adjuk.

Az általános fejlesztési ársávokat a mobilalkalmazás-fejlesztési oldalunkon találod. Ha először a termék induló funkcióit szeretnéd meghatározni, nézd meg az MVP-fejlesztést.

Nézzük át együtt a React Native fejlesztési ötletedet

Írd meg, mire használnák az alkalmazást, kell-e iOS- és Android-változat és milyen meglévő rendszerekhez kapcsolódna. Ha már van appod, küldd el az áruházi linkjét és azt, miben kérsz segítséget. Bizalmas hozzáféréseket az első üzenethez nem szükséges csatolnod.

Kapcsolatfelvétel

Gyakori kérdések a React Native cross-platform fejlesztésről

A React Native-app ugyanaz, mint egy weboldalt megjelenítő alkalmazás?
Nagyvállalatok és ismert alkalmazások is használják a React Native-et?
Minden kód közös lesz iOS-en és Androidon?
Mire használható az Expo?
Miért React Native-ben dolgoztok?
Meglévő React Native-alkalmazással is megkereshetünk?
Mi a különbség a React Native és a Flutter között?
Milyen hátrányai vannak a cross-platform fejlesztésnek a natívhoz képest? Vannak egyáltalán?
Az app mellé backendet és adminfelületet is készítetek?
Mennyibe kerül egy React Native-alkalmazás és olcsóbb-e a natív fejlesztésnél?
A React Native-alkalmazás ugyanúgy felkerülhet az App Store-ba és a Google Playre?