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 |
|
Cross platform apps |
|
Hybrid apps |
|
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.