Native or cross-platform mobile app?

According to Mesterséges Intelligencia Központ Kft., a software development company based in Budapest, Hungary, a native app is needed when it makes deep use of the device; when both platforms need the same features, one shared codebase is simpler to maintain.

In short: The decision rests on the features, not on fashion: how deeply the app has to reach into the device, how much performance it needs, and who will maintain it for years. If store presence and deep device access do not matter, a web app (PWA) may be enough. Whichever route you choose, the backend, the store rules and the regular operating system updates make up a large part of the work.

What do native, cross-platform and web apps mean?

A mobile app can be built in three ways: separately for each platform, with the platform's own tools; from one shared codebase that compiles for both platforms; or with web technology, running in the browser. All three produce a working app; the difference lies in access, maintenance and whose rules the app has to keep up with.

Native app

With a native app, the iOS and Android versions are built separately, in each platform's own language and UI tools. On iOS today this typically means the Swift language and SwiftUI: according to Apple, SwiftUI uses a declarative syntax and, building on Swift, lets you build user interfaces across all Apple platforms (Apple: SwiftUI). On Android it means Kotlin and Jetpack Compose: Google calls Jetpack Compose Android's recommended modern toolkit for building native UI (Android Developers: Jetpack Compose) and recommends starting a new Android app with Kotlin (Android Developers: Kotlin-first). The advantage of the native route is that every new platform capability is directly available from day one; the drawback is that two codebases have to be developed and maintained.

Cross-platform frameworks

With cross-platform frameworks, the iOS and Android apps are built from one shared codebase. Four common approaches:

Progressive web app (PWA)

A PWA is a web app running in the browser that can be installed on the home screen and uses progressive enhancement to give a more reliable experience. web.dev sums it up: platform apps represent the best of capabilities, web apps the best of reach, with one codebase reaching anyone, on any device (web.dev: Progressive Web Apps). On iOS and iPadOS, since version 16.4 a web app added to the Home Screen can also request permission for push notifications (WebKit: Web Push for Web Apps). One important limit: under section 4.2 of the App Store guidelines, an app should offer more than a repackaged website, so it is not worth taking a website to the store merely wrapped as an app (Apple: App Store Review Guidelines).

Comparison in one table

AspectNative (Swift, Kotlin)Cross-platform (Flutter, React Native, KMP, .NET MAUI)PWA
Performancecan be optimised directly with the platform's toolscompute-heavy parts can move to native codeset by the browser and web technology
Device accessevery platform capability, from day onethrough the framework or a plugin; a new capability may come later or need extra native codelimited to the web interfaces the browser supports
Look and feelexactly the platform's own componentsself-drawn components in Flutter, native components in React Nativewebsite-like, depends on the browser
Code sharingnone, two separate codebasesthe logic and usually the UI are sharedone codebase for every device
Teamseparate iOS and Android expertiseone team, but knowledge of the native layers is also neededa web development team
Maintenancetwo codebases follow the regular platform changesone codebase, plus the framework's own updatesno store releases; browser changes have to be followed
App sizebuilds on the system's own librariesthe framework's engine is also shipped inside the appno installation package; the browser caches
Store presenceyesyesnot required; if wrapped for the store, the 4.2 limit applies

The Flutter documentation says it outright: a Flutter app's package is self-contained and holds all the code and assets needed to run the app, so its size can be a concern (Flutter: Measuring your app's size). In practice the difference rarely decides the matter, but it is worth knowing about if your audience uses older devices or weak connections.

When does each fit?

Native, if

Cross-platform, if

A PWA or web app, if

Here too the boundaries are not sharp. With Kotlin Multiplatform, for example, the business logic can be shared while the UI stays native; in Flutter and React Native, a critical part can also be written in native code. The game on our own homepage works as a web app: it runs in the browser without installation, the same on desktop and on phones. We cover the web route on Website and web app development.

Backend and admin interface

A mobile app rarely stands on its own. As soon as it has user accounts, shared data or notifications, it needs a server behind it: that is where accounts, data and permissions live, and where notifications are sent from. The backend typically sends push notifications through a dedicated service; Firebase Cloud Messaging, for example, is a cross-platform messaging solution in which a trusted server environment builds and sends messages to Apple, Android and web apps (Firebase: Cloud Messaging).

The admin interface is the control panel of the backend: content is edited, and users and settings are managed in the browser, so day-to-day changes do not need a developer. This is also where we connect your existing business systems, such as a CRM, an inventory system or an invoicing tool, so that the app works with the same data as the rest of the company. If there is no such system yet, we can build it as custom software. The native or cross-platform decision does not affect the backend: the same server can serve a native app and an app built with Flutter.

Store publishing: what to watch in October 2026

Store rules change often, so the points below are dated (checked on 17 October 2026).

App Store (Apple)

Google Play

These rules apply regardless of the technology: an app built with Flutter or React Native has to meet the same target API and SDK requirements as a native one, and the framework's updates have to keep up with them. We recommend that the developer account belongs to the client's company: that way the app appears under your company's name, and the store listing stays with your company.

Accessibility

Both platforms come with a built-in screen reader (VoiceOver on iOS, TalkBack on Android) and provide APIs for apps to integrate with these assistive technologies (React Native: Accessibility). The Flutter documentation, for example, recommends that the screen reader describes every control intelligibly, that the contrast ratio between text and background is at least 4.5:1, and that every tappable target is at least 48×48 pixels (Flutter: Accessibility). The Android documentation recommends the Material Design guidelines, the Accessibility Scanner tool and automated checks to find problems (Android Developers: Accessibility).

This is not only good practice: under Directive (EU) 2019/882, Member States apply accessibility requirements to e-commerce services provided to consumers, including those provided through mobile apps, from 28 June 2025 (the Hungarian rules implement the directive); microenterprises providing services must be exempted (EUR-Lex: Directive (EU) 2019/882). The details for online stores are covered in Webshop: hosted platform or custom development?.

Artificial intelligence: on the device or in the cloud?

In a mobile app, an AI feature can run in two places: on the phone itself, or in a large language model in the cloud, through the backend.

An on-device model is attractive for privacy and offline use, but it is not available on every user's device, so it is usually worth designing it together with a cloud fallback. Connecting the models is covered on AI integration.

What does maintenance depend on?

A mobile app is not finished at handover: its environment keeps changing. The maintenance work is mainly determined by:

Common mistakes

Frequently asked questions

Native or Flutter/React Native?

If the app makes deep use of the device (camera, sensors, background processes) or needs high performance, native development is the safer route. If both platforms need the same features, a shared-codebase app built with Flutter or React Native is simpler to maintain. Kotlin Multiplatform offers a middle way: shared business logic, native UI. At the first consultation we make a recommendation based on the actual features.

When is a web app (PWA) enough?

When users arrive from a link or the website, deep device access is not needed, and it matters that the app works the same way on desktop and on phones. It can be installed on the home screen and can send push notifications on iOS too, but it gives no store presence, and the range of device features depends on the browser.

Does the app need a backend?

Almost always: as soon as the app has user accounts, shared data or notifications, it needs a server behind it. The exception is an app that only stores data on the device. We build the backend and the admin interface as well, and connect them to your existing business systems.

Who publishes the app in the stores?

We handle the release: we prepare the store listing materials and the privacy declarations, submit the app and see it through the review. We recommend that the developer account belongs to your company; both stores ask for a D-U-N-S number for an organisation account, so it is worth obtaining one in good time.

What does the cost of maintenance depend on?

On how many codebases have to be maintained, how often the operating systems and store requirements change, how many third-party components and integrations the app uses, and how much further development is expected. We price development from the functional size; Pricing explains the method.

How we can help

We build iOS and Android apps, together with the backend and admin interface behind them, integrate artificial intelligence, and see the app through to its release in the stores. We make the native or cross-platform decision together with you, based on the features. Mobile app development explains the service in detail.

We measure the functional size of the development in COSMIC function points (ISO/IEC 19761), and the offer and the schedule are based on it. The first consultation is free, we sign a non-disclosure agreement (NDA) on request, and after handover we also take on operation and maintenance. The contract governs source code and usage rights. Describe your idea in a few sentences and get in touch with us.

Sources