Lots of smartphones,
Lots of platforms
Lots of platforms
Demand from target groups has long since clearly confirmed it: An app – whether engineered in iOS, Android, as a web app, native or hybrid – enriches existing services, simplifies outdated processes and also increases customer satisfaction.
But beware: organizations quickly rush into app engineering and make little headway due to many technical issues, high budgets, and lack of clarity about goals and target audiences.
Many smartphones, many platforms and three ways to develop an app: Cross-platform compatible as a web-based app, with the supreme discipline of native apps or with the hybrid app as a mixed solution. Depending on the requirements, these three types of app engineering are sometimes more, sometimes less suitable. We will give a brief overview to help you decide.
The basic question in app engineering is, of course, the requirements and the desired platforms. Combined with the available budget, this simple calculation results in the final engineering strategy.
But which approaches are available and what are the advantages/disadvantages of these approaches? First, there are the web-based apps, which, as the name suggests, are built on pure web technologies (HTML 5, CSS 3, Javascript). The engineering of native apps in the respective platform technology (e.g. Swift, Kotlin) is probably the supreme discipline and hybrid apps come into play as a hybrid of both worlds.
Web-based apps
The major advantage of a web-based app is the relatively simple implementation of cross-platform support. However, anyone who is already familiar with the browser problems on desktop systems will have an idea of the stumbling blocks that can await them on the countless mobile systems. Extensive tests must be scheduled here. Many providers offer emulators or other test options for this – from simulated environments to remote access to real devices connected in a testing farm.
Web-based apps are certainly often used for mobile websites. In addition, the new functions of HTML5 & Co. also allow many other requirements to be mapped:
- Offline functionality
- Automatic updates
- Local storage of data
- Access to geo-based functions
- Touch gesture support
- Mimic typical app interfaces using CSS3
- Execution in a separate browser directly from the home screen (PWA)
Beyond that, however, the possibilities are currently still very limited, especially with regard to device access (sensors, camera,…). In addition, the performance and GUI naturally cannot keep up with real apps. Many consider the lack of distribution options for web-based apps via the app stores (Apple App Store, Google Play Store, etc.) to be a major disadvantage.
Progressive Web Apps (PWAs)
PWAs are web applications that use modern web technologies to provide an app-like experience on different platforms and devices. They combine the performance of web applications with the functions of traditional native apps.
They are particularly reliable even with a poor network connection and load quickly and smoothly. They also adapt to different screen sizes so that they work equally well on desktops, tablets and mobile devices. It is also worth mentioning that PWAs can send notifications and access device functions such as cameras, location and microphone.
Another key advantage is that users can install PWAs on their home screen without having to visit the app store. This enables quick access. PWAs also update themselves automatically.
These features make PWAs a flexible solution for developers who want to reach a wide range of devices and platforms without having to develop separate applications for each platform.
Agile app engineering
In our agile app engineering, we take time to understand your target audience and find a custom solution that meets all requirements. Depending on time and budget, we create a clear roadmap and then start with the individually assembled team and project management. Transparent documentation of the project progress and insight are a matter of course for us.
What else is important for us? You can read about it here – we introduce our way of working.
Native apps
Before we go into more detail about the hybrid app solutions, let’s first take a brief look at the high-end version of native apps. These are implemented in the corresponding technology of the respective platform.
- Swift for the iOS platform
- Kotlin for Android
The implementation of an app is correspondingly complex, especially if this is to be available for several platforms. In this case, hardly any code components can be reused across platforms due to the different technologies, and roughly the same development effort must be calculated for each platform. In addition, the underlying programming languages are for the most part significantly more sophisticated than the familiar web technologies. In particular, the interface design, data persistence and network communication often have to be either developed in-house or implemented with the help of libraries.
In return for the significantly more complex development, however, you get access to all the device properties/functions provided and have all the power in your hands when it comes to the GUI and performance, without having to accept the limitations of the HTML/CSS/JS technology stack – which was actually created for the web. And if you adhere to the manufacturer’s specifications (especially Apple), nothing stands in the way of a release in the markets and stores of this mobile world.
Hybride apps
If one does not want to choose either of the two variants mentioned, a mixed path could represent the golden mean. Hybrid implementation combines the best of both worlds and is often a good alternative. Hybrid apps are accepted by almost all app stores and there are significantly more access options to device properties than with web-based implementation. Cross-platform apps (usually for iPhone and Android) can be implemented with significantly less effort than with the native solution. Hybrid app implementation is usually mentioned in the media in one go, but there are two clearly different variants:
Web-based hybrid apps
The actual functionality of the app is implemented web-based. A native frame is then placed around this web-based app. This native framework allows more device features to be accessed in the web-based core, but performance and GUI remain limited to the web-based capabilities.
Native hybrid apps
The app is developed in a specific scripting language (e.g. Javascript). This code is then converted into a genuine native app for the various platforms.
We normally use Flutter or .NET MAUI for development. With these tools, we have access to a wider range of device features compared to hybrid web development. The performance and design of the user interface can be based on real native apps. However, we also come up against limits here, especially with more complex requirements, which sometimes means that parts of the application have to be developed twice. In addition, delays can occur when new functions are introduced on the platforms and these can only be integrated into our development tools at a later stage.
Get in touch now
Whether you have a specific software project in mind or you are looking for answers to open questions – we are here to help you.
Please make an appointment and let’s find the right .NET solution for your project together.