Native Mobile Apps and why they are still relevant today

Originally published on Medium.
The digital landscape is always evolving and new technologies and approaches appear and disappear day in and day out. In this article we are going to present our case on why we think native mobile apps are still a relevant technology.
To facilitate our discussion we have to define what a native mobile app actually is:
All apps targeted toward a particular mobile platform are known as native apps. Therefore, an app intended for Apple device does not run in Android devices. As a result, most businesses develop apps for multiple platforms.
Source: Wikipedia.org
So what are the benefits of using native mobile apps?
- Can use all platform features
- Recuperate development costs by selling the App on the platforms store
- App is easily found and advertised in the platform store
- Best performance
Sound good right? However this approach brings also a lot of downsides:
- Has to be developed for each platform
- Requires a individual implementation for each platform
- Needs to be installed on a device
- Requires updates being published and deployed to devices
- Has high development and maintenance costs
As a result of these downsides people looked at alternatives and one of the most obvious was the web.
Alternatives to native mobile Apps
The web works on all modern devices no matter what operating system or browser they use. However a website lacks a lot of features that a native mobile app has.
The Progressive Web App
Image Source: Storyblocks.com
This concept dates back to the original iPhone in released back in 2007 where Apple intended the device only to run web applications. Steve Jobs and his team however were ahead of their time and brought us the App Store instead.
However the term Progressive Web Application or short PWA goes back to an engineer of the Google Chrome Browser. The modern concept is summarized as follows:
A Progressive Web App is basically a special form of a website. It uses the same technologies (HTML5, CSS and Javascript), but despite running on a Webserver it runs on the Device as a so called Shell.
So what are the advantages of PWAs?
- Device independent
- Can use the same code as the website
- by using HTML5, CSS and Javascript
- Immediately accessible
- No Update procedure is required
- Low development costs
But of course we also have to look at the downsides:
- Needs support by the platform to run like a native App
- Access to Hardware features can be limited
- Platform APIs are not fully exposed
Depending on the goal of your project this might be the perfect solution. However we have some problems with PWAs:
- Web technology and standards have been moving fast, which can lead to issues for long term support
- Potentially having not access to all platform APIs and hardware features could limit us in the future
As said above that might not be an issue for your project, but for us we want to be able to provide our customers with as many functionality as possible, so we are not limiting creativity and innovation.
What if we could take the best of native mobile apps and combine is with the properties from the PWAs?
The best of both worlds
Image Source: Storyblocks.com
Cross-Platform and Hybrid Apps
These are in the end, according to the definition, native Apps that are built using frameworks that allow developers to build Apps for multiple platforms based upon one and the same base of code.
The difference between Cross-Platform and Hybrid approaches is that Cross-Platform frameworks typically use common programming languages like Java, JavaScript or C# while Hybrid frameworks provide a extended environment for PWAs to access more platform and hardware specific functionalities.
Due to that combination you get a interesting set of advantages:
- Can use most if not all platform features
- Can be sold on platform store
- App can be advertised in the platform store
- Can use any programming language
- One code base for multiple platforms
- Lower development costs
And the disadvantages are:
- Requires installation
- Needs to be maintained on all platforms
- Depends on the framework developer
The core that makes the cross-platform and hybrid approaches work are the different frameworks. To name a few:
- Cross-platform: React native, Xamarin, Flutter etc.
- Hybrid: Onsen UI, Titanium etc.
These frameworks bridge the gap between the programming language you want to use and the one that the device platform is using. Therefore you are dependent on the framework to provide the feature parity to enable you to utilize the full potential of teach platform.
Our conclusion
Image Source: Storyblocks.com
Native mobile apps in their original form are still the way to go if you require peek performance, however today performance of mobile devices is so good that this becomes less and less relevant and the efficiency gained and reduced costs related to alternative approaches become more and more relevant.
From our perspective you can summarizes the situation as follows:
- Cross-Platform and Hybrid Apps make native Apps feasible for more companies.
- They also allow more developers to develop new and innovative apps.
- There is no single best approach, it depends on your goals and requirements.
Overall the winner is the customer, because more products and innovative ideas are able to see the light of the day. Therefore there is more choice and competition on the marketplace, pushing everyone to innovate further.