Thu Jan 27 2022 - 4 min read
When you’re in the app development world it’s easy to assume everyone knows their Swift from their Kotlin. But if you’re a non-technical founder looking to build your first mobile app, we know the process can feel like a total black box.
There are plenty of ways to go about making an app and every developer has their opinion on what’s best. But the development world moves fast and a lot of the advice that’s out there simply isn’t true anymore. To help you find the best way for your project, here’s our up-to-the-minute, non-techy guide to the different app development routes.
In the early days of smartphones, there was only one way to go about building mobile apps: native development.
Android and Apple’s iOS have always used different programming languages. Back in the 2000s that meant that if you wanted your app to run on both platforms, you had to make it twice – two versions that looked identical in terms of UI, but underneath were built native to each programming language: Objective C for Apple, Java for Android.
The best thing about native development is that it gives developers total power. Anything the operating system can do is fully exposed for you to use without relying on a layer of third-party plugins to weave it together. It’s like renovating a house and being able to get right into all the plumbing and electrics before the plasterboard gets in the way.
But of course, that doesn’t come cheap.
Being able to directly access the guts of the OS means you also need to lay down all that plasterboard and carpet yourself later – and you’re going to have to do it all twice.
What’s more, native developers typically specialise in one platform or another so you’ll almost always need two separate teams. Finding and coordinating them isn’t the easiest job in the world.
Also, for absolutely optimum performance you’ll need developers who code in the latest native languages (Swift for Apple, Kotlin for Android). And to be honest, there’s just not that many of those developers about.
Hybrid apps came about in answer to the huge costs and workload of building a fully native app. They’re a hidden web browser packaged like an app – they can be downloaded from the app store or, like Progressive Web Apps, directly from your website.
BBC News did exactly this. Their Objective C and Java apps are disguised web browsers with the navigation removed.
A bonus of hybrid apps is that any updates can be done “over the air” – meaning whenever the app loads it fetches the latest version of the website, so you don’t have to wait through the lengthy app store review process (or wait for the review team to finish their Christmas break).
The trade-off is performance. Offline functionality is obviously limited, and to access any of the phone’s OS features you’ll need to build a layer of third-party plugins. And these need an exhausting amount of maintenance to keep pace with Apple and Android updates.
All in all, a hybrid app running on a web engine loses a hefty chunk of the performance you’d expect from a native app. So realistically, hybrid apps only fit the bill if you’ve got a tight budget, or if you only need an app with a newsfeed and some buttons.
What about if you want an app that does more than hybrid but doesn’t rack up the costs of fully native? That’s where cross-platform development, like the React Native and Flutter frameworks, comes in.
The development time is halved and you don’t need to hunt down specialists in multiple coding languages. And because the app is written in the native language you get optimal performance from the OS features.
There isn’t the total access of a fully native build so you’ll still have to use some plugins along the way. But a cross-platform app is indistinguishable performance-wise from a native app and is far simpler, quicker and cheaper to develop.
Ask yourself this: Do you have £10m to spend on an app?
If you do, Native development is your best path. Native development might be the oldest and most intensive method but there’s still a place for it, and plenty of big players like Airbnb use it for the access and support that comes with it. But those big players also have the money to spend on a native build.
Otherwise, you’re probably going to want a cross-platform app so you can focus your resources where they matter. React Native isn’t a compromise – and for the vast majority of use cases you can access everything you need at a fraction of the cost and development time.
Which cross-platform framework should I choose?
If you’ve dug into your cross-platform research you’ll notice there are two popular frameworks. If you want help weighing them up, check out our thoughts on React Native vs. Flutter.
A few purists might argue that a fully native build is the only authentic way to develop a mobile app. And sure, a few years ago that still held true. But we say if React Native is good enough for huge brands like Instagram and Pinterest, why isn’t it good enough for everyone else?
By signing up, you consent to us keeping your details and emailing you. You can unsubscribe at any time.
You are now subscribed to our newsletter!