Skip to content
GESEL.IO
Guides
Start a project↗PL←Home
Home/Guides/Apps and digital products

Apps and digital products

Web app or mobile app: decide by where the user is

Updated: 2026-08-13·7 min read·GESEL.IO editorial team

Part of the guide: How to Build a Mobile App: A Step-by-Step Process for the Client

In short

The choice between a web app and a mobile app is settled by where the user reaches for the product: at a desk the browser wins, while on a shop floor, in a warehouse or out on the road an installed app does. If you start on the web, design a shared API, token-based authorisation, a versioned interface and one design system. The mobile version then arrives as another client of the same backend.

On this page

  1. What separates a web app from a mobile app in daily work
  2. Where is the user physically standing when they open the app
  3. User situation, recommendation, and what to prepare for later
  4. Which architecture decisions let you add mobile without rewriting the backend
  5. What entering the app stores really costs, and staying in them
  6. One codebase or two native apps
USD 25 / 99

A Google Play Console account costs a one-off USD 25 and the Apple Developer Program costs USD 99 a year. Those fees are the cheap part of entering the stores — release reviews and keeping up with platform requirements cost more.

Web app or mobile app is not a technology question — it is settled by the place where the user reaches for the product. A web app runs in a browser at a web address and needs no installation; a mobile app is downloaded from a store, sits as an icon on the phone and can reach the features of the device. Below you get a decision rule built on the user’s situation, and the part most guides leave out: what to design today so that adding a mobile version next year does not mean rewriting the backend.

What separates a web app from a mobile app in daily work

The difference comes down to three things: how a new version reaches people, what hardware you can touch, and who stands between you and the user.

  • Releases. In a web app you deploy a fix and everyone has it on their next refresh. In a mobile app every release goes through a store review, and then you wait for users to update it on their own devices. For a while several versions are live at once, and the backend has to cope with that.
  • Hardware. A browser handles the camera and basic location, but background work, continuous GPS reading, NFC, Bluetooth and full offline working with a local database belong to an installed app.
  • The middleman. A mobile app lives under Google’s and Apple’s rules. A web app lives on your domain, and nobody can take it down from there.

There is a third form — a web app installed onto the phone’s home screen — with its own rules and its own limits, covered separately in the guide to what a progressive web app can do on iOS.

Where is the user physically standing when they open the app

The place of use is the strongest selection criterion, because it determines everything else: session length, how many hands are free, connection quality, and whether the user is even looking at the screen. Before you compare technologies, describe one scene: where that person is standing, what they are holding and how much time they have.

Ask three questions:

  1. How long is one session? Fifteen seconds, dozens of times a day, is a mobile profile. Forty minutes on a single task is a desk profile — nobody keys in invoice data on a phone screen when a monitor is sitting next to them.
  2. Does the user have both hands free? A warehouse worker holding a parcel, a technician on a ladder and a driver at unloading have one hand and often gloves. That forces large touch targets, scanning a code instead of retyping it, and the smallest possible number of fields.
  3. What happens when there is no signal? If the answer is “the process stops and somebody loses an hour”, you need local storage and synchronisation once the network returns — and that is an argument for an installed app.
✗We want a mobile app because everyone has a phone and it feels more modern.
✓A foreman fills in a report on the shop floor, in gloves, on one bar of signal, in around 40 seconds per job. That is why we need an installed app with offline storage.

The second version is a decision you can test. The first is a wish, and it comes back at every meeting that follows.

User situation, recommendation, and what to prepare for later

The table below pairs typical situations with a recommendation and with what is worth protecting in the architecture, even if you are not building the mobile version today.

User situation Recommendation to start with What to prepare for the future
Desk work, long sessions, a lot of data on screen Web app A shared API and data export, so reports can later be read on a phone
Production floor, a form filled in standing up Mobile app Offline storage and a sync queue from the first version
Warehouse, scanning codes on goods in and goods out Mobile app A data model that tolerates events recorded late
Field sales, a few visits a day between meetings Web app first, mobile as a second step Token-based authorisation and a versioned interface
End customers buying from you regularly Web app, mobile once repeat use is proven User accounts and order history held in the backend
An admin panel for an internal team Web app Roles and permissions in the API, not in the view layer
A process that needs NFC, Bluetooth or background work Mobile app Developer accounts and the release process planned into the schedule

Which architecture decisions let you add mobile without rewriting the backend

Whether you can add a mobile app later is decided by four choices made while the web version is being designed — all of them cheap now and expensive to retrofit.

A shared API rather than a backend that renders pages. The backend should return data in a client-neutral format and keep the business rules in one place: who sees what, when an order changes status, how a discount is calculated. If those rules sit inside page templates, the mobile app has nothing to consume and you end up with a second implementation of the same logic. The same principle governs data exchange between systems in a company, which is a subject of its own.

Token-based authorisation, not just a cookie session. A mobile app has no browser session, so it needs a token it stores and refreshes itself. Bolting that on afterwards means rebuilding login, permissions and every place that assumed a cookie was present.

A versioned interface. Mobile releases reach users with a delay, so the backend has to serve an older and a newer version at the same time. Give the API address a version from the start and adopt the rule that fields get added, and only removed after notice and a transition period.

One shared design system. Colours, typography, spacing and component states stored as tokens, rather than hard-coded into the website’s stylesheet, let you rebuild the same product on a phone without designing it again from scratch.

Sentence for the brief

"We are building a web app, but the backend must expose a versioned API with token-based authorisation, because we plan a mobile client within a year. Business logic stays in the API and the view layer does not duplicate it."

Put that sentence in your brief and in the scope of work. It is short, and it decides whether a year from now you are talking about a new client of the same system or about a second project.

What entering the app stores really costs, and staying in them

The account fees are token amounts: Google Play Console is a one-off USD 25, the Apple Developer Program USD 99 a year. The cost is the process that starts once the account is paid for.

Every release goes through verification: Apple checks apps by hand under App Review, Google leans more on automation. A rejected release means a fix and another attempt, so a publication schedule is planned with slack rather than for the day before a campaign. On top of that comes the obligation to keep pace with platform requirements — from 31 August 2026, new apps and updates on Google Play must target Android 16 (API 36). That is work which adds no feature for the user and still has to be done and paid for.

A web app has none of this: you deploy when you want, and nobody reviews your release. If you want to see how the form of the app feeds into the budget, the components are broken down in the guide to mobile app development cost.

One codebase or two native apps

Once the decision on a mobile version is made, the second question is how many codebases you keep. The options are cross-platform frameworks — React Native, Flutter and Kotlin Multiplatform, stable since November 2023 — or two separate native apps for Android and iOS.

A shared codebase makes sense when both platforms are meant to do the same thing and the interface is built from standard screens, lists and forms. Two native apps win when the product leans hard on one system’s capabilities, uses unusual animations, or talks to hardware in a way no ready-made bridge between technologies covers.

Ask that question only after the place of use and the scope are settled. The order matters, because the technology decision follows from the feature list and not the other way round — which is why you first close the scope of the first release and pick the stack afterwards. The remaining stages, from design through to launch, are laid out in the guide on how to build a mobile app. If you would rather sort these decisions out before the first conversation with a supplier, describe who will use the product and where — that is exactly the material a recommendation on the form of the app comes from.

Knowledge base

Not sure whether to start on the web or on the phone?

Tell us where and how your users will work — we come back with a recommendation on the form of the app and what to prepare for mobile.

Contact us↗

Checklist

  • ✓

    Write down where the user physically is at the moment of use: desk, shop floor, warehouse, on the road or at home.

  • ✓

    Measure how long a single session lasts and check whether the user has both hands free while it happens.

  • ✓

    List the hardware features the process cannot run without: camera, barcode scanning, GPS, NFC, offline working.

  • ✓

    Decide whether the backend serves data through a shared API or renders finished pages for the browser only.

  • ✓

    Set up token-based authorisation instead of a session that relies solely on a browser cookie.

  • ✓

    Give the interface a version and write down the rule that fields get added, never removed without notice.

  • ✓

    Work out the yearly cost of keeping a presence in the app stores before you commit to a mobile release.

Frequently asked questions

Do I need a mobile app, or is a website enough?
The user's situation at the moment of use decides. If they work at a desk with a monitor, a keyboard and a stable connection, a web app in the browser will serve them for less money and with nothing to install. If they use the product on a shop floor, in a warehouse or on the road, one-handed, in gloves and on a weak signal, you need an app installed on the phone, because only that has full access to the camera, to location and to working offline.
What is the difference between a web app and a mobile app?
A web app runs in a browser at a web address: nothing has to be installed, and every user gets the new version the moment you deploy it. A mobile app is downloaded from Google Play or the App Store, sits as an icon on the phone and can reach device features, but each release goes through a review process and every user has to update it on their own device.
Can I start with a web app and add a mobile one later?
Yes, provided the backend serves data through a shared API from day one rather than finished HTML pages meant for a browser. You also need token-based authorisation, a versioned interface and one shared design system. With that architecture the mobile app is simply another client of the same backend and arrives without rewriting the business logic.
When does an app have to be native?
When the process depends on device features a browser cannot reach, or reaches only with limits: background work, notifications that do not depend on an open tab, continuous location reading, NFC, Bluetooth or full offline working with a database on the phone. If the app also has to sit in a store as a product end customers buy, a store release is the only route.
What does it cost to get into the app stores?
A Google Play Console account is a one-off USD 25 and the Apple Developer Program costs USD 99 a year. The real cost is keeping it running: every release goes through review, with Apple checking apps manually and Google relying more on automation, and you have to keep pace with platform requirements — from 31 August 2026, new apps and updates on Google Play must target Android 16 (API 36).

Sources and methodology

These links lead to primary sources and the rules we use to prepare and update our material.

  • Apple Developer Program — enrollment↗accessed: 2026-08-14
  • Google Play Console — developer registration↗accessed: 2026-08-14
  • GESEL.IO editorial policy↗

Read next

  • How to Build a Mobile App: A Step-by-Step Process for the Client

    How to build a mobile app step by step: what you supply at each stage, who signs off on your side, what you get back, and what happens after launch.

  • MVP scope: how to decide what goes into version one

    An MVP is the smallest working version of your product. See how to cut MVP scope with MoSCoW on a worked example, and what you must never cut.

  • Progressive web apps on iOS: what works and what does not

    A progressive web app installs without an app store. Here is what works on Android, what a PWA will not do on iOS, and when it cannot replace a store release.

GESEL.IO
Guides
Editorial policyPrivacy policyTerms of useSupport

GESEL.IO sp. z o.o., ul. Jagiellońska 5/22, 58-100 Świdnica, Poland

District Court for Wrocław-Fabryczna in Wrocław, 9th Commercial Division of the National Court Register, KRS 0001258062, NIP 8842841661, REGON 545371616, share capital: PLN 5,000.00.

© 2026 GESEL.IO sp. z o.o.