Natív vagy cross-platform mobilalkalmazás?

A Mesterséges Intelligencia Központ Kft. budapesti szoftverfejlesztő cég szerint natív app akkor kell, ha az alkalmazás mélyen használja a készüléket; ha a két platformon ugyanaz a funkció, egy közös kódbázis egyszerűbben fenntartható.

Lényeg: A döntés a funkciókon múlik, nem a divaton: mennyire mélyen kell az appnak a készülékhez nyúlnia, mekkora a teljesítményigénye, és ki fogja évekig karbantartani. Ha az áruházi jelenlét és a mély készülék-hozzáférés nem fontos, egy webes alkalmazás (PWA) is elég lehet. Bármelyik utat választja, a háttérrendszer, az áruházi szabályok és a rendszeres operációsrendszer-frissítések a munka jelentős részét adják.

Mit jelent a natív, a cross-platform és a webes alkalmazás?

Egy mobilalkalmazás háromféleképpen készülhet: platformonként külön, a platform saját eszközeivel; egy közös kódbázisból, amely mindkét platformra lefordul; vagy webes technológiával, böngészőben futva. Mindhárom út működő alkalmazást ad; a különbség a hozzáférésben, a karbantartásban és abban van, kinek a szabályai szerint frissül az app.

Natív alkalmazás

Natív alkalmazásnál az iOS- és az Android-változat külön készül, a platform saját nyelvén és felületi eszközeivel. iOS-en ez ma jellemzően a Swift nyelv és a SwiftUI: az Apple szerint a SwiftUI deklaratív szintaxissal, a Swift nyelvre építve teszi lehetővé a felület megépítését az Apple összes platformján (Apple: SwiftUI). Androidon a Kotlin és a Jetpack Compose: a Google a Jetpack Compose-t az Android ajánlott, modern eszközkészletének nevezi a natív felület építéséhez (Android Developers: Jetpack Compose), és új Android-alkalmazáshoz a Kotlinnal való indulást javasolja (Android Developers: Kotlin-first). A natív út előnye, hogy a platform minden új lehetősége az első naptól közvetlenül elérhető; a hátránya, hogy két kódbázist kell fejleszteni és karbantartani.

Cross-platform keretrendszerek

A cross-platform keretrendszerekkel egy közös kódbázisból készül az iOS- és az Android-alkalmazás. Négy gyakori megközelítés:

Progresszív webalkalmazás (PWA)

A PWA böngészőben futó webalkalmazás, amely telepíthető a kezdőképernyőre, és fokozatosan bővülő funkciókkal (progressive enhancement) megbízhatóbb élményt ad. A web.dev összefoglalója szerint a platformalkalmazások a képességekben, a webalkalmazások az elérésben a legerősebbek: egyetlen kódbázis bárkit, bármilyen eszközön elér (web.dev: Progressive Web Apps). iOS-en és iPadOS-en a 16.4-es verzió óta a kezdőképernyőre tett webalkalmazás is kérhet engedélyt push-értesítésre (WebKit: Web Push for Web Apps). Egy fontos korlát: az App Store irányelveinek 4.2-es pontja szerint az alkalmazásnak többet kell nyújtania egy újracsomagolt weboldalnál, így egy weboldalt pusztán appba csomagolva nem érdemes az áruházba vinni (Apple: App Store Review Guidelines).

Összehasonlítás egy táblázatban

SzempontNatív (Swift, Kotlin)Cross-platform (Flutter, React Native, KMP, .NET MAUI)PWA
Teljesítménya platform eszközeivel közvetlenül optimalizálhatóa számításigényes részek natív kódba szervezhetőka böngésző és a webes technológia szabja meg
Készülék-hozzáférésminden platformfunkció, az első naptóla keretrendszeren vagy bővítményen át; új funkció később vagy kiegészítő natív kóddala böngésző által támogatott webes felületekre korlátozódik
Megjelenés és érzetpontosan a platform saját elemeiFlutternél saját rajzolású elemek, React Native-nél natív elemekweboldalszerű, a böngészőtől függ
Kódmegosztásnincs, két külön kódbázisa logika és többnyire a felület is közösegy kódbázis minden eszközre
CsapatiOS- és Android-szakértelem különegy csapat, de a natív rétegekhez is kell tudáswebfejlesztői csapat
Karbantartáskét kódbázis követi a rendszeres platformváltozásokategy kódbázis, plusz a keretrendszer saját frissítéseinincs áruházi kiadás, a böngészők változását kell követni
Alkalmazásméreta rendszer saját könyvtáraira épüla keretrendszer motorja is az alkalmazásba kerülnincs telepítőcsomag, a böngésző gyorsítótáraz
Áruházi jelenlétigenigennem szükséges; az áruházba csomagolva a 4.2-es pont korlátja érvényes

A Flutter dokumentációja ki is mondja, hogy a Flutter-alkalmazás csomagja önálló, a futáshoz szükséges összes kódot és erőforrást tartalmazza, ezért a mérete szempont lehet (Flutter: Measuring your app's size). A gyakorlatban a különbség ritkán dönt, de érdemes tudni róla, ha a célközönség régebbi készülékeken vagy gyenge kapcsolattal használja az appot.

Mikor melyik illik?

Natív, ha

Cross-platform, ha

PWA vagy webalkalmazás, ha

A határok itt sem élesek. Kotlin Multiplatformmal például az üzleti logika közös lehet, a felület pedig natív marad; Flutterben és React Native-ben pedig egy-egy kritikus rész natív kódban is megírható. A saját honlapunk játéka webalkalmazásként működik: telepítés nélkül fut a böngészőben, asztali gépen és telefonon egyformán. A webes útról a Weboldal- és webalkalmazás-fejlesztés oldalon írunk.

A háttérrendszer és az adminfelület

Egy mobilalkalmazás ritkán áll meg önmagában. Amint felhasználói fiókja, megosztott adata vagy értesítése van, szerver kell mögé: ott élnek a fiókok, az adatok és a jogosultságok, és onnan indulnak az értesítések. A push-értesítéseket jellemzően egy erre szolgáló szolgáltatáson keresztül küldi a háttérrendszer; a Firebase Cloud Messaging például platformfüggetlen üzenetküldő megoldás, amelyben egy megbízható szerverkörnyezet állítja össze és küldi az üzeneteket Apple-, Android- és webes alkalmazásoknak (Firebase: Cloud Messaging).

Az adminfelület a háttérrendszer kezelőpultja: böngészőből szerkeszthető a tartalom, kezelhetők a felhasználók és a beállítások, hogy a napi változásokhoz ne kelljen fejlesztő. Ide kötjük be a meglévő céges rendszereket is, például egy ügyfélkezelőt, egy raktárnyilvántartást vagy egy számlázót, hogy az alkalmazás ugyanazokkal az adatokkal dolgozzon, mint a cég többi része. Ha még nincs ilyen rendszer, egyedi szoftverként azt is megépítjük. A natív vagy cross-platform döntés a háttérrendszert nem érinti: ugyanaz a szerver szolgálhat ki egy natív és egy Flutterrel készült alkalmazást is.

Áruházi közzététel: mire figyeljünk 2026 októberében?

Az áruházi szabályok gyakran változnak, ezért az alábbiakat dátummal közöljük (ellenőrizve: 2026. október 17.).

App Store (Apple)

Google Play

Ezek a szabályok a technológiától függetlenül érvényesek: egy Flutterrel vagy React Native-vel készült alkalmazásnak ugyanazokat a cél-API- és SDK-követelményeket kell teljesítenie, mint egy natívnak; a keretrendszer frissítésének követnie kell őket. Azt javasoljuk, hogy a fejlesztői fiók a megrendelő cégéé legyen: így az alkalmazás az Ön cégének neve alatt jelenik meg, és az áruházi adatlap is a cégé marad.

Akadálymentesség

Mindkét platform beépített képernyőolvasóval működik (iOS-en a VoiceOverrel, Androidon a TalkBackkel), és felületet ad ahhoz, hogy az alkalmazások együttműködjenek ezekkel a segítő technológiákkal (React Native: Accessibility). A Flutter dokumentációja például azt javasolja, hogy a képernyőolvasó minden vezérlőelemet érthetően írjon le, a szöveg és a háttér közötti kontrasztarány legalább 4,5:1 legyen, és minden megérinthető elem legalább 48×48 képpont méretű legyen (Flutter: Accessibility). Az Android dokumentációja a Material Design irányelveit, az Accessibility Scanner eszközt és automatikus ellenőrzéseket ajánl a hibák felderítésére (Android Developers: Accessibility).

Ez nem csak jó gyakorlat: az (EU) 2019/882 irányelv szerint a tagállamoknak 2025. június 28-tól kell alkalmazniuk a fogyasztóknak nyújtott e-kereskedelmi szolgáltatásokra vonatkozó akadálymentességi követelményeket, a mobilalkalmazásokon keresztül nyújtott szolgáltatásokra is (a magyar szabályok az irányelv átültetésén alapulnak); a szolgáltatást nyújtó mikrovállalkozásokat mentesíteni kell (EUR-Lex: (EU) 2019/882). A webáruházakra vonatkozó részleteket a Webshop: bérelt rendszer vagy egyedi fejlesztés? cikk tárgyalja.

Mesterséges intelligencia: a készüléken vagy a felhőben?

Egy mobilalkalmazásban az AI-funkció két helyen futhat: magán a telefonon, vagy egy felhőben futó nagy nyelvi modellnél, a háttérrendszeren keresztül.

A készüléken futó modell az adatvédelem és az offline működés miatt vonzó, de nem minden felhasználó készülékén érhető el, ezért jellemzően felhős tartalékkal együtt érdemes tervezni. A modellek bekötéséről az AI-integráció oldal szól.

Mitől függ a fenntartás?

Egy mobilalkalmazás az átadás után sem kész: a környezete folyamatosan változik. A fenntartási munkát főként ezek határozzák meg:

Gyakori hibák

Gyakori kérdések

Natív vagy Flutter/React Native?

Ha az alkalmazás mélyen használja a készüléket (kamera, szenzorok, háttérfolyamatok), vagy nagy a teljesítményigénye, a natív fejlesztés a biztosabb út. Ha a két platformon ugyanaz a funkció, egy Flutterrel vagy React Native-vel készült, közös kódbázisú alkalmazás egyszerűbben karbantartható. Kotlin Multiplatformmal köztes út is járható: közös üzleti logika, natív felület. Az első egyeztetésen a konkrét funkciók alapján javaslunk.

Mikor elég egy webes alkalmazás (PWA)?

Ha a felhasználók linkről vagy a honlapról érkeznek, nincs szükség mély készülék-hozzáférésre, és fontos, hogy asztali gépen és telefonon is ugyanúgy működjön. A kezdőképernyőre telepíthető, és iOS-en is küldhet push-értesítést, de áruházi jelenlétet nem ad, és a készülékfunkciók köre a böngészőn múlik.

Kell hozzá háttérrendszer?

Szinte mindig: amint az alkalmazásnak felhasználói fiókja, megosztott adata vagy értesítése van, szerver kell mögé. Kivétel az az alkalmazás, amely csak a készüléken tárol adatot. A háttérrendszert és az adminfelületet is megépítjük, és bekötjük a meglévő céges rendszerekbe.

Ki teszi fel az alkalmazást az áruházakba?

A közzétételt mi intézzük: elkészítjük az áruházi adatlap anyagait, az adatvédelmi nyilatkozatokat, beküldjük az alkalmazást, és végigkísérjük a felülvizsgálatot. Azt javasoljuk, hogy a fejlesztői fiók az Ön cégéé legyen; szervezeti fiókhoz mindkét áruház D-U-N-S-számot kér, ezért érdemes időben beszerezni.

Mitől függ a fenntartás költsége?

Attól, hány kódbázist kell karbantartani, milyen gyakran változnak az operációs rendszerek és az áruházi követelmények, hány külső komponenst és integrációt használ az app, és mennyi továbbfejlesztés várható. A fejlesztés árát a funkcionális méretből adjuk; a módszert az Árazás oldal írja le.

Hogyan segítünk?

iOS- és Android-alkalmazást fejlesztünk: megépítjük mögé a háttérrendszert és az adminfelületet, bekötjük a mesterséges intelligenciát, és végigvisszük az áruházi megjelenésig. A natív vagy cross-platform döntést a funkciók alapján, közösen hozzuk meg. A szolgáltatás részleteit a Mobilalkalmazás-fejlesztés oldal írja le.

A fejlesztés funkcionális méretét COSMIC funkciópontban mérjük (ISO/IEC 19761), ebből készül az ajánlat és az ütemterv. Az első egyeztetés díjmentes, kérésre titoktartási szerződést (NDA) kötünk, és átadás után az üzemeltetést és a karbantartást is vállaljuk. A forráskódról és a felhasználási jogokról a szerződés rendelkezik. Írja le néhány mondatban az ötletét, és vegye fel velünk a kapcsolatot.

Források