Mobile applications

Making your application available on mobile (PWA, native, meta frameworks)

Reading time 3 min

By Louis Gossieau

When making an application available on mobile, a popular trade-off is choosing between a PWA and a native app: should you build a specific app for Android and iOS (this is called a native app) or a Progressive Web App (PWA) that can be used on all mobile devices from the browser? In reality, though, the choice between a PWA and a native app is just one trade-off, and it's definitely not the only one.

Maurits en Mojdeh met een tablet

The road to mobile

Developing your own application requires resources that largely determine what choices you’ll make at what times. We wrote about this before, when Maurits compared the software’s complexity to the phase a company is in. Which team is best suited for what situation? The decision to develop a mobile application really adds another dimension to this.

From web application in the (mobile) browser to a full native app built specifically for one or more mobile platforms — you’ll find a variety of other options in between:

Thomas en Mannes bekijken applicatie

From web application to native

Making your current web application accessible on mobile:

  • Mobile responsiveness
  • Mobile adaptiveness

Building Progressive Web Apps:

  • PWA
  • PWABuilder

Using meta frameworks:

  • React Native
  • Ionic/Capacitator
  • Flutter

Native apps for specific platforms such as:

  • Google Android
  • Apple iOS

What do all these methods entail and what trade-offs can you make? That’s what we discuss in more detail in this article.

Making your current web application accessible on mobile

If your application only runs in a browser, you can do several things to make it accessible on mobile devices. The two main methods are mobile responsiveness and mobile adaptiveness.

Mobile responsiveness

With mobile responsiveness, the application automatically adapts to the screen size. Users still open the web application in their browser: on smaller screens, some elements are shifted to make everything fit properly.

Benefits

  • Endless flexibility: You can apply this to an infinite number of screen sizes.
  • Uniform experience: As the application always adapts to the screen size, it delivers a consistent user experience.

Downsides

  • More effort: It requires more effort from developers, especially if they’re working with an existing application.
  • Potentially longer loading times: As the entire website is always fully loaded, loading times can be relatively high.

Mobile adaptiveness

With mobile adaptiveness, you design specific layouts for certain screen sizes. You might, for example, want an application to display different features and elements of the site on a tablet and on a phone. For instance, the menu is always visible on a desktop but is collapsed on a mobile device.

Benefits

  • Ervaring op maat. De ervaring is in hoge mate afgestemd op specifieke gebruikers en schermgroottes.
  • Mogelijk snellere laadtijden. Het is daarnaast eventueel mogelijk om alleen de code voor een specifieke schermgrootte in te laden, waardoor deze op zulke schermen sneller laadt dan een responsive website.

Downsides

  • More effort: Separate designs and maintenance for each screen require more effort.
  • Beperkte controle. You can’t control the user experience on screen sizes you haven’t developed anything for.
Cliff en een whiteboard

PWA: Progressive Web Apps

If you want to take it one step further, you might want to consider a PWA: a Progressive Web App. It’s not a new concept, but it’s growing in popularity. It means you build a web application that feels native because the app is launched from the home screen, just like other apps. So, it’s almost like a real mobile application specifically created for iOS or Android. The difference is that it still runs in the mobile browser.

Benefits

  • One codebase for several platforms: A PWA requires you to make specific adjustments to your current web application. Subsequently, you only have one version of the app that looks the same on all devices.
  • Cheaper and faster to build: Since it contains only one codebase, the application and the mobile version are easier to maintain.

Downsides

  • Limited options to use mobile functionalities: Not every mobile platform supports payments through a PWA, and interactions with other applications on the mobile device are limited. Features such as facial recognition and interaction with an NFC chip are not available, either.
  • Not (automatically) available in app stores: A PWA is not available in the App Store or Google Play Store, where your users may usually look for your application. However, you can use tools such as PWABuilder to publish your PWA in an app store to bridge this gap.
Kelvin, Roan en Joris

Build a native application

A native app is built specifically for the mobile platform. It can make full use of the mobile device’s main functionalities. Additionally, users can find the app in the same app store where they always download all their apps.

Benefits

  • A native app is built specifically for the mobile platform: This means the application can also make optimal use of the device, so performance is expected to be better.
  • Access to device-specific functionalities: You have access to all the device’s powerful features, including the camera, mobile payment options, and the NFC chip. Some of these features have only recently become available for PWAs — at a gradual pace.

Downsides

  • Different programming languages: You write an application for Apple iOS in a programming language other than Google Android — Objective-C and Swift for iOS, Java for Android. If you want to develop for both systems, you should employ developers who know the language for those platforms.
  • Maintenance: If you develop for both platforms, you also need to maintain the Android and iOS apps separately. That takes a lot of time and energy, as the platforms regularly undergo changes, and you have to make sure your application complies with these.
Jos aan tafel

Meta frameworks: create a near-native app more easily

But there’s a third trade-off: you can build mobile apps using a framework. Examples include Flutter, React Native, or Ionic/Capacitator. With such frameworks, you can build an application that feels virtually native on a mobile platform while using only one codebase. Well-known examples of React Native apps for consumers include Instagram, Airbnb, or UberEats, as well as the app we developed for Hollister: the Hollister Stoma Huidcheck. Examples of Flutter apps include CZ Health Insurance, BMW, and Google Pay.

Benefits

  • Access to mobile features: If your app is built using meta frameworks, you have access to many useful features of a mobile device.
  • Develop and publish faster: Basically, you create one application that is available for all mobile platforms, as the interface is divided into different components. As a result, the app works optimally on multiple platforms.

Downsides

  • It’s more difficult to work with local APIs: Examples include the camera, Bluetooth, or GPS. However, there are solutions, which require extra attention during maintenance.
  • Performance: Although this type of app feels virtually native, performance is not as high as that of a native app. So, if your application requires a lot of computing power, a meta framework might not be the best choice. That said, we’re talking about minor differences here.
Marko en Dagmar met koffie

How to make a decision?

Usually, the path to a native mobile application is organic. Resources are an important consideration. As we’ve observed, this is the reason why organizations tend to start by making an application accessible on mobile through mobile responsiveness. Often, the next step is to transform it into a PWA.

If you’re a bit further down the road and the application’s use has increased, it makes sense to build a native app to provide the smoothest experience. If you simultaneously want to operate on multiple platforms but don’t have that many resources available, you might want to consider a meta framework.

Read more about how we help organizations develop a mobile application.

Do you want to use your software anytime, anywhere?

Ready to go mobile?

Let’s have a talk.

Maurits Dijkgraaf

All articles

Need advice? We are happy to help you.

Tell us about your ambition and start today!

Start today

Contact us

The fastest way to reach me is by phone:

06 43 09 10 30

Fill out the form, and I will respond no later than the next business day.

Of course, you can also send me a message via mail.

Talk soon!

Maurits Dijkgraaf