Wat are the differences between apps?

At Abra we often get the question: "What is the definition of an app?" or "Is a web app also considered an app?". In this blog we dive into that question.

Definition of a mobile app

A mobile app is a software application that is specifically designed to work on mobile operating systems such as Android and iOS. These apps can be downloaded from app stores, although this is not always necessary. Technically, it should be possible for all mobile apps to be available via app stores.

In this blog when we use the term "apps" we always refer to mobile apps.

Mobile apps

Type

Description

Examples

Advantages

Disadvantages

Native apps

Apps developed for a specific platform, that are created using the native tools and languages.

WhatsApp, Spotify, Snapchat

Best performance, full access to all device functions

Higher development costs, separate codebases for iOS and Android, more maintenance work

Cross platform apps

Apps developed using frameworks like Flutter, Xamarin or React Native, which can run on both iOS and Android.

Alibaba (Flutter), Airbnb (React Native), Microsoft Teams (Xamarin)

One codebase for multiple platforms, faster development and deployment

Possible performance issues, sometimes limited access to specific platform features

Hybrid apps

Apps that consist partly of webviews that load HTML pages, combined with native components.

Instagram, Twitter, Uber

One codebase for multiple platforms, access to single device features

May run less fluidly than native apps, relies on webviews for performance

It is important to distinguish mobile apps from other types of applications and websites:

  • Websites: These are visited by using a browser. Websites can also be web applications, Progressive Web Apps (PWA), or mobile websites.

  • Desktop apps: These are specifically designed to run on a laptop or desktop and are out of scope for ths blog.

Websites / desktop

Type

Description

Examples

Advantages

Disadvantages

Website

Build using HTML, CSS and Javascript

Static websites, blogs and newssites

Easy to build and maintain, accessible on every device with a browser

Limited functionality compared to apps

Web application

Interactive websites using web technologies to offer device functionalities

Gmail, Google Docs and Trello

Accesible through browers, dont require installation and easy to update and maintain

Limited access to device functionality and requires an active internet connection.

Progressive Web Apps (PWA)

Webapps that offer additional functionality like: offline access, push notifications, comparaible to native apps

Twiiter Lite, Pinterest and Starbucks

Offline access, no installation required and one codebase for all devices.

Limited access to device funtionality compared to native apps.

Mobile website

Webistes optimised for mobile devices often achieved through responsive design.

CNN, Wikipedia and many others

No installation required, accesible through every mobile browser

Limited access to device functionality and requires an active internet connection.

Desktop apps

Software specifically developed for a laptop, with full access to systemsettings.

Microsoft Office, Adobe photoshop and Slack.

Access to all systemsettings and native performance for heavy tasks.

Requires installation and updates, not usable on mobile devices without specific changes

Frameworks and programming languages

As discussed earlier in this blog there are different mobile apps. just to quickly recap:

  • Native apps

  • Cross platform apps

  • Hybrid apps

Apps are available in all variants. The choice for one of these can highly impact the accessibility. This makes it important to properly research the impact for each of these options. Your framework of choice might save you time during development, but might result in a lot of extra time spent to make your app accessible, or it might even be impossible to meet regulations.

App Type

Variants

Native apps

  • Android

  • iOS

Cross platform apps

  • Xamarin

  • Flutter

  • .Net MAUI

Hybrid apps

  • Ionic

  • Cordova

  • Native apps will offer the most options out of the box to implement accessibilty features, because you have access to all platform specific functionalities and tools.

  • Cross platform tools may be efficient in terms of cost and time of development, but can have limitiations in terms of accessibility functionalities.

  • Hybrid apps, that combine web technologies with native elements can be very flexible but can struggle with performance. They may also be hard to make fully accessible.

It is very important to consider the implications when choosing the framework for the development of your app. It will always stay important to test how these types of choices influence the accessibility for your users, especially people with a disability. By taking thiese considerations into account during the design phase you can spot and resolve issues at an early stage in the development process. Which in turn will save costs and effort!

Check out our recently released product "Abra Desktop" that can scan for accessibility issues without access to your source code.