DEV Community

eleonorarocchi
eleonorarocchi

Posted on

Different types of mobile app

What is an app

Mobile applications, often simply called apps, are special software designed to run on mobile devices such as smartphones and tablets. Usually they are downloaded through the stores, or digital platforms where it is possible to access a catalog of apps that can be installed on the device in use. Surely you've heard of Apple's AppStore for iOS devices and Google Play for Android devices: these are just the most famous, but there are many others, such as the Amazon Appstore or the Huawei AppGallery. In fact, they in turn consist of an app pre-installed on the device, through which you can search for the various applications available, developed by the most diverse vendors.

The stores are not the only possibility of distribution.

For example, in Android systems, the apk of the app can be installed directly, downloading it from any link, for example by making it available on a website. This process, known as sideloading, can be dangerous for the end user, as the applications distributed in this way are not verified and the sources may not be reliable. At the same time it can be disadvantageous for the app owner to distribute their software in this manner because visibility and exposure are obviously reduced.

There is a third way: if the app consists of a PWA (Progressive Web App), it is sufficient to open the website and add it to the Home page.

What types of apps can be developed

Apps can be developed using a native, hybrid or web approach.

Native development is based on specific native platforms of an operating system, mainly for iOS or for Android. The application code in this case is written using different programming languages and different development tools. For example for iOs, the programmer uses XCode from Apple, and languages like objective-c or swift; for Android instead use Android Studio and languages like Java or Kotlin. This type of choice clearly requires the separate development of an application version for each platform, but it is highly recommended when you need to offer high performance and access to all the device's features.

Hybrid development streamlines development by allowing you to write code once and then compile it into a native app for each platform. The price to pay is the performance, lower than native developed apps, and limited access to the device's features. The development is very close to a web development, and can be based on different frameworks such as Ionic, React Native, Flutter or MAUI. Therefore, depending on the choice, different languages are used, for example Typescript, Dart, C#.

Instead, in the case of Progressive Web Apps (PWA), we actually proceed with a development based on standard web technologies (HTML, Javascript/Typescript, CSS) but still managing to provide the user with a series of more features than a page traditional website. In fact, a PWA is also accessible offline, thanks to the pre-fetching of resources and local storage of data. It may also be able to receive push notifications, albeit with limited options compared to a native development.

Top comments (0)