Mobile applications
The world changes fast. It’s been many years since Bill Gates dreamt of a computer in every home— now each person carries at least a small computer in their pocket. Habits have shifted: roughly 90% of users browse or handle daily tasks through their phone. Recent studies even show younger users feel limited in front of a desktop but completely fluent on mobile. Naturally, demand for web apps and mobile apps has exploded.
We’ve already written about the tools we use for building web applications; today we’ll focus on mobile (hybrid) apps.
The problem
We face two dominant ecosystems: iOS (Apple) and Android. Traditionally, if you wanted to support both, you had to build two separate codebases in different languages, needing specialised developers for each stack. Tools like Cordova emerged to wrap a web application inside a native shell and bridge device features.
How is this achieved?
In simple terms: your app runs inside a lightweight WebView which communicates with the device through plugins, exposing native capabilities (camera, GPS, filesystem, etc.).
Built on top of Cordova came Ionic—a comprehensive framework providing UI components plus a plugin system to access native hardware, giving you (nearly) native potential from a single codebase.
Today Ionic lets us work with React, Angular and Vue. That’s a huge advantage for teams like ours already fluent in these frameworks.
The strength of a (hybrid) native approach lies in tapping into device interfaces: camera, GPS, Bluetooth, file system, push notifications, sensors. Ionic offers numerous plugins, formerly via Cordova and now through Capacitor (Cordova’s evolution, maintained by the Ionic team), to leverage all this power.
Beyond that, Ionic also enables building PWAs (Progressive Web Apps): experiences halfway between native apps and websites. They can be “installed” on mobile (and even desktop) and run background processes thanks to service workers.
Alternatives
There are several alternatives— React Native, Xamarin, Flutter, etc. Ionic, however, aligns best with our workflow and covers 100% of our needs, so it remains our choice for cross‑platform mobile development.