5 different ways to develop a mobile app

Wondering how to build an app? There are a number of different approaches that are now open to you. Tools such as React Native and Flutter (Google's recent addition to the party) are opening up new possibilities when it comes to mobile app development. Read on for our rundown of five different ways to build an app, to help to decide which one is right for you.

Building a site rather than an app? You need a website builder and web hosting service.

01. Native

The default way of developing on mobile is to write native code for each device – usually Java for Android and Swift for iOS. This can give you the best result, but the problem is that you then have two codebases to maintain.

02. WebViews

The earliest way to get around this was to build 'hybrid' apps that were essentially web pages rendered within an app container (referred to as WebViews). The Ionic framework is an example of this approach. This has limitations in user experience and relies on a JavaScript 'bridge' to interact with native services, which can impact performance.

03. React Native

The release of React Native gave us the ability to write JavaScript code (with React syntax) that used entirely native widgets. It still uses a JavaScript runtime but the presentation is not HTML and it doesn't use a WebView. This takes away a major limitation of older hybrid apps but can still suffer performance issues due to reliance on the JavaScript 'bridge'.

04. Flutter

While they offer similar reactive development styles, the major difference between Flutter and React Native is that Flutter dispenses with runtime JavaScript completely and compiles native code for multiple platforms. This offers superior start-up times and app performance. For more on this framework, take a look at our guide to getting started with Flutter.

05. Progressive Web Apps

One possible future for mobile development moves away from the native environment completely. Web APIs now enable much more extensive interaction between web pages and devices than in the past and service workers mean pages can be cached and work offline. The technology isn't quite there yet but some people are betting that the future of mobile apps is actually web technology. For tips on how to get the most out of them right now, take a look at our article on nine amazing PWA secrets.

If you're designing an app as part of a team, cloud storage will enable you to remain consistent and connected.

This article was originally published in net, the world's best-selling magazine for web designers and developers. Buy issue 310 or subscribe.

Read more:

Thank you for reading 5 articles this month* Join now for unlimited access

Enjoy your first month for just £1 / $1 / €1

*Read 5 free articles per month without a subscription

Join now for unlimited access

Try first month for just £1 / $1 / €1

Simon Jones

Simon Jones is a technology leader with experience managing product and engineering teams of up to 200 staff, both at startups and large corporates. He is a proficient full-stack developer, in particular with Go & React + TypeScript. He now works at Facebook in London. Formerly CTO at Norwegian VC-backed startup Just, and Engineering Director at Barclays and American Express.