Different Types of Mobile Apps - Which one Suits my Project?

25. January 2023 - from Michael Schranz

When we receive an enquiry, the first statement is - unsurprisingly - often: We want to develop an app. This almost always means an app that you download from the App Store and install on your smartphone.

However, when the needs and requirements are clarified in more detail, it sometimes turns out that an app from the App Store is not the only possible solution. But what are the alternatives? We present the main types of apps and compare the different approaches including their advantages and disadvantages in this blogpost.

Form follows function - not only in architecture

"Form follows function'' is, according to Wikipedia, a design principle associated with late 19th and early 20th century architecture, which states that the form of a building should be primarily related to its intended function or purpose. In the same way, we at Apps with love look at the choice of technology, i.e. the choice of the so-called tech stack. Several years ago, we decided to offer not only native apps but also web apps and progressive web apps (PWAs) and, in exceptional cases, cross-platform apps, so that we can offer our customers not just one type of mobile app, but precisely the optimal solution for the respective project. For us, a technology-neutral approach is important and equally appreciated by our clients. Which technology is the best option for a project depends on various factors such as functionality, complexity, use case and context, target group and target markets, time and financial resources, planned duration of use of the product and so on. Each type of mobile app has its advantages and disadvantages. What is important is precisely the principle described initially, that form follows function and not vice versa.

What types of mobile apps are there?

As part of our collaboration with Carpathia for the B2B Monitor 2022, we asked our developers what the main types of mobile apps are and what makes them unique. Here are the statements from Yannick, Raphael, Carra and Sophia.

Native apps

Yannick Pulver is Technical Lead Android Development at Apps with love and explains what a native app is:

Yannick Pulver

A native app is a software program developed specifically for use on a particular platform.
Because a native app is developed for a specific operating system (also called OS from Operating System), it can take maximum advantage of device-specific hardware and software. Native applications offer the highest possible performance by working with the device's operating system in an optimal way, which allows them to work faster and more flexibly than alternative types of applications. This, of course, has a positive impact on the user experience (UX) of an app. The disadvantage of native apps is that a separate app needs to be developed for each operating system. For example, developers write iOS apps in Swift, but program Android apps in Kotlin.

Yannick Pulver, Technical Lead Android Development

Cross-platform app

Raphael Neuenschwander is an iOS and cross-platform developer at Apps with love and explains the term cross-platform app:

Raphael Neuenschwander

One option for developing apps is to choose cross-platform technologies such as React Native or Flutter. Here, an application is developed in an intermediate programming language that does not belong to the operating system of the device, but can later be compiled for the respective operating system with the help of a framework. The advantage here is that large parts of the code only have to be written once. However, even with such frameworks, certain platform-specific functionalities often have to be programmed separately for both platforms. This means that in the end there are two or even three codes and not just one. A certain disadvantage or risk compared to native development is that there is a dependency on the cross-platform solution. If the platforms provide new functions, the cross-platform framework must first introduce them before developers can use them.

Raphael Neuenschwander, iOS & cross-platform developer

Progressive web apps

Sophia Villiger, web developer at Apps with love explains what a PWA is:

Sophia Villiger

A progressive web app (PWA) is a web app that has individual features of a native app. It is therefore a hybrid form: PWAs are web-based, but can do some things that are otherwise reserved for native and cross-platform apps. However, PWAs are called up like classic websites or web apps via the browser. Through a so-called web app manifest, which contains metadata of the application, the PWA can be installed on a mobile device. By means of a service worker, which acts as a proxy between the browser and the server, functions provided by modern browsers can be used. This enables offline use of a PWA or receiving push notifications, for example. The progressive part is important to understand: Not all operating systems and browsers support all PWA features - hence the "progressive" in PWA.

Sophia Villiger, Web Developer

Hybrid apps

Carra Tillon, web developer at Apps with love explains what is meant by hybrid apps:

Carra Tillon

Hybrid apps are basically apps that contain web content within a mobile app. In the most extreme form, these would be virtually pure web apps embedded in a native app container or so-called wrapper. On the other hand, they are also native apps or cross-platform apps that display web content. Since this is the case with an extremely large number of apps nowadays, the term "hybrid app" loses a bit of its justification, so to speak. Once hybrid apps have been downloaded from an app store and installed locally, web content or entire functions can be connected via a browser embedded in the app to the functions and content that are then available to end users in their smartphone apps. News apps are a classic use case.

Carra Tillon, Web Developer

Functional and non-functional requirements as a basis for the technology decision

So there are various options for the mobile presence: Probably the simplest of these is a website with responsive design, which can also be used for mobile devices. Responsive design has become standard and is expected by users as well as Google for a decent ranking in the search results. However, organizations that want to focus more on the mobile target group go a step further and rely on one of the previously described types of apps, which offer more possibilities for a good user experience, enhanced functionalities, higher performance and usability for smartphone users.

In order to choose the optimal technology for one's own project or digital product, it is absolutely important to elicit the functional and non-functional requirements in a first step. This process is also called requirements engineering and includes the definition, documentation and finally also the maintenance of requirements for a system, product or software. There are various methodological approaches for this, such as story mapping. We described how this works in the blog post "Visualise requirements and create common understanding with user story mapping".

Complete User Story Map
User story mapping is used to define the requirements for a digital solution

What are functional and non-functional requirements?

Functional requirements describe what a system, software or product must be able to do. For example, that users of a shop can see an overview of their purchases. Non-functional requirements, on the other hand, describe the quality in which the required functionality is to be provided. For example, the system must not take longer than x seconds to display this overview.

In many cases, it is very difficult for non-IT specialists to describe such requirements cleanly, in sufficient detail and in a way that is understandable to the tech world. Therefore, in many cases, we help to carry out this necessary preliminary work in discovery and requirements engineering workshops, so that there is a clean basis for choosing the right tech stack and for future implementation.
Hence, the current and future functional and non-functional requirements for a digital product are the basis for the optimal choice of technology.

Web app, cross-platform app, native app, PWA - an overview of advantages and disadvantages

Only after the most important requirements have been collected and documented an informed decision about the best type of app can be made. Since, as described above, the different types of mobile apps are based on different technologies, they also have different advantages and disadvantages. These must be weighed against each other in the decision-making process based on the respective needs and requirements of the desired solution.

Note on Web App versus PWA

In the following table, the term PWA was used intentionally, since progressive web apps offer more advanced possibilities for mobile use than purely responsive websites or web apps. Since we put a clear focus on the possibilities of the different technology approaches for use on the smartphone (mobile apps) in this table, we assume that the maximum of possibilities is exhausted when evaluating PWAs. In part two of our PWA blog series, PWA Part 2: Possibilities, Limits and Strengths we go into more detail on this topic. 

Overview types of Apps

Disclaimer

The information in the table is, of course, a simplification of reality and only represents tendencies. Much, if not almost everything, is possible with different technologies - but the question of demands, expenses and dependencies arises. A "yes, but" or "no, but" could be added to almost every statement - the devil, as so often, is in the detail. This aspect is precisely the reason why requirements and the pros and cons of one solution or another have to be examined so carefully at the beginning of a project.

Special category: Decentralized applications aka dApps

A kind of special category are decentralized applications, so-called dApps. dApps run on decentralized ledger technology such as the blockchain. This means that data such as transactions of a mobile crypto wallet are distributed in a network of computers. This network acts as a backend and is outside the control of a single authority or organization.
dApps can be developed for different purposes. When implemented well, dApps offer benefits such as more privacy and anonymity for end users, no censorship and a lower risk of downtime due to the decentralized backend for storing data. However, challenges can arise, such as scalability or publishing in the app stores. 

dApps can be developed in the form of all the mentioned app types, as PWAs, native apps or with a cross-platform framework like Flutter. The main difference lies in the backend architecture: blockchain instead of a central database. It is worth mentioning that it is of course also possible to create a similar backend architecture (peer-to-peer network) without using blockchain technology. In terms of front-end design and development, the most important difference between a "normal" app and dApps is that users can log in using their web3 identity. They log in with their wallet credentials (public and private key) instead of their email and password. 

Two case studies of dApps we created with Flutter can be read here: 

This type of app is often discussed at the moment and more and more of them are being developed for various use cases. Only time will tell if they can really be considered the next evolution of apps or "Apps 2.0". We have written more about dApps in the following blog post about blockchain and decentralised applications (dApps).

Conclusion on the choice of the optimal app technology

The comparison of different app technologies illustrates that it depends on several factors which technology is the right one in which case. Projects should be approached as technology-neutral as possible. Only when business goals, functional and non-functional requirements, context of use, budget and many other questions have been clarified an informed decision can be made about the appropriate technology.

Today, this table represents an up-to-date tool for technology selection for upcoming projects. But due to the very rapid and dynamic development in the market, attention should always be paid to the any changes in terms of possibilities. 
The answer to the frequently asked question "which technology is best suited to my project?" is accordingly: it depends on what goals, detailed requirements and framework conditions exist.

Do you have a project idea but you are unsure which technology would be best suited for it? Get in touch with us. We'll help you find out which technology is the best way to get the solution you want.

We just noticed that you surf with Internet Explorer. Unfortunately, our website does not look so nice with it.

You want to know why that is?
We have written about it.

Blog

You need help with the changeover?
Get in touch. We are happy to help

Contact

Install a new browser?
There's lots of choice.

Browser