Technology

Mobile apps: native, cross-platform and everything around them.

The decision about how to build an app is partly technical and partly about your team, your budget and how often people will use it. This page explains how we usually decide, and the practical things around an app that catch people out.

Our usual recommendation

  • iPhone and Android both needed: a cross-platform app, commonly React Native with TypeScript. One codebase and one team, with a result that feels like an ordinary app.
  • One platform only, or a need for top performance or deep hardware access: native, with Swift for iOS or Kotlin for Android.
  • Occasional use, or an idea still being tested: a web app first. See native, cross-platform or web for the comparison.

Other cross-platform tools exist and can be a good fit, especially if your team already uses them.

Things to decide early

  • Offline use. Does it need to work without a signal, such as in a lift or basement? Offline needs data stored on the device and rules for resolving conflicts when it reconnects. It adds real effort.
  • Notifications. What deserves a push notification? Too many get switched off. Permission rules and wording matter.
  • Sign-in. Email, phone number or a social account? Each changes security and sign-up friction.
  • Payments. Store rules affect how digital goods are sold in apps. Check them before designing the flow.
  • Device features. Camera, location, biometrics and files each require permission prompts and careful explanation.
  • Language. English and Traditional Chinese should be designed in from the start; text length changes layouts.

App stores and life after launch

  • Review. Apple and Google review apps against their policies. Plan time for it, and for the occasional rejection and resubmission.
  • Accounts. The developer accounts for each store should be in your company's name.
  • Updates. New phone versions arrive every year. Budget for keeping the app current.
  • Distribution to staff. An app only for your team may be distributed privately; store rules for this differ.
  • Support. Users will write in. Decide who answers, and how bugs are reported.

Testing on real devices

An app that works on one new phone can fail on an older one, on a small screen or with a large text setting. We test on a range of real devices and OS versions, check poor-signal behaviour and review accessibility settings. Which devices matter depends on your customers, so we start from who you actually serve rather than a global average.

Thinking about an app?

Describe who will use it and how often. We will say whether an app, a web app or something simpler fits.

Request a project quote