What is the development of mobile devices

Roads to Rome

Development approaches for mobile devices

Not all apps are the same. Some fit one hundred percent into the operating system environment, others are cross-platform and less deeply integrated into the target system. Still others require a web browser to run. There are suitable tools for everyone to make development easier.

iX-TRACT

In application development for mobile systems, a distinction is made between native apps, web apps, hybrid and cross-platform apps.

The platform manufacturers provide development environments for native apps with Xcode, Android Studio and Visual Studio.

Web apps and hybrid apps are based on HTML5, CSS3 and JavaScript. The development of hybrid apps also support frameworks such as Apache Cordova or Sencha Touch.

Some IDEs such as RAD Studio or Xamarin support the development of cross-platform apps that each have native interfaces for the target system.

There are many roads leading to Rome, but when applied to app development, they can be quite rocky. The range of tools is large and not every tool is equally suitable for every app. Before setting off, the developer must first decide which type of app he wants to program for which platform. A distinction is made between native and web-based apps. Hybrid apps are somewhere in the middle. If you want to use several platforms at the same time, you have to deal with cross-platform programming models.

This article gives an overview of the numerous technical approaches to programming an app for a smartphone or tablet. Systematisation can help to find the right development approach for a new project more quickly.

Apps for the UWP

Apps for the Universal Windows Platform (UWP) are the modern type of application for Windows systems that were introduced in Windows 10. They run on different types of devices. In addition to the desktop PC or a notebook, this type of application can be run on the smartphone (Windows 10 Mobile), the tablet, a Surface or the Raspberry Pi (Windows 10 IoT). Apps for the UWP are therefore designed across devices.

The two main platforms are Android (Google) and iOS (Apple). They dominate the consumer device market worldwide. Windows 10 is also available for tablets (see “Apps for the UWP”). With Microsoft's statement that Windows 10 Mobile will no longer be actively developed, this operating system will probably disappear from the smartphone market for good.

A distinction is made between the three variants mentioned: native apps, web apps and hybrid apps. For each system there is a variant provided by the manufacturer to develop a native app. The advantage of such an application is that it is optimized for the respective operating system. The user interface fits one hundred percent into the requirements of the platform, so that the user guidance is compatible with the system environment. Users do not have to orientate themselves first, but are immediately familiar with the usual processes such as selecting, deleting elements or switching between the screens of an application.

In addition, native apps are not subject to any restrictions on access to specific device hardware on the smartphone or tablet. All sensors of these devices can be addressed directly via the system's APIs. The features of new devices are fully supported and developers can use them in their own app.

Native apps are deployed - with the exception of development or corporate apps - exclusively via the public app stores. The offline operation of these apps is basically possible if required, the necessary data synchronization can take place automatically when the next online connection is established.

On the other hand, there are web apps that have to be specially adapted for use on mobile devices, including with regard to user guidance and the design of the UI. Your access to the system hardware is largely restricted, but you can use some functions, such as the location service. The display takes place in the browser of the system and can only take into account the special features of the individual platform to a limited extent.

Classic web apps cannot be made available via the app store. They run on the server and therefore need a permanent internet connection. A web app is therefore the functional extension of a mobile website, which means that it is always used when more functions need to be implemented at the business layer level. However, the transitions to the classic website are fluid.

Differentiate between online and offline

The named can partially cancel out newer technical approaches. Such an approach is currently being discussed under the heading Progressive Web App (PWA). A PWA is, so to speak, a symbiosis of a website and an app. PWAs are implemented with HTML5, CSS3 for the design of the surface and JavaScript for the implementation of the business logic. In addition, service workers are used to provide an offline function through caching. This service worker is connected between the web server and the app on the mobile device.