The first choice you must make when building a cross-platform application is: should it be developed as a progressive web app, hybrid, or native mobile app. All these solutions have their merits and flaws, but don’t worry – we are here to walk you through it and advise on what to consider when making that decision. Let’s start with better defining our options.
PWA vs Hybrid vs Native mobile apps
A cross-platform app is an application that works on multiple platforms, such as Android, iOS, or Windows. This can be achieved in various ways:
- Native mobile apps are applications for mobile devices built with the native language of chosen platforms: Objective-C (and Swift) for iOS; Java (and Kotlin) for Android. These apps are known for their stability and fast performance.
- Hybrid mobile apps are applications that combine web apps with the native capabilities of a platform. Built with JavaScript, HTML, and CSS, hybrid apps use the device’s browser engine to run the app locally. They are developed in one go for all platforms, which means less time and money spent on cross-platform development.
- Progressive Web Apps (PWA) are web apps that simulate the behavior of native mobile apps (they can send notifications, use the camera, ask for location, etc.) They are typically accessed via a web browser of your choice but can be installed and accessed on a device. PWAs are radically accessible, making them a great choice for dynamic eCommerce solutions.
- You can also use one of JavaScript or Python frameworks to build your cross-platform mobile app. Both of these programming languages are extremely popular and well-documented, which makes the app development process relatively easy and the available talent pool quite deep.
Pros and cons of native development
Going native means that your team gets to take full advantage of every feature a platform offers. On the other hand, you will need a separate team to build a distinct code in another programming language for each platform.
Pros:
- The fastest possible performance on a range of devices that are supported by a given platform.
- Users can enjoy the native UI components that they know and understand.
- Works well offline.
- Fewer bugs and technical issues since the app is written in the same language as the platform and doesn’t need any “translation”.
- High-level security is guaranteed by the operating system itself.
Cons:
- More development time, especially when building the app for multiple platforms.
- Separate codebases for every platform that need different specialists for each.
Native mobile app examples
The apps that come pre-installed with a new device, like Calculator, Contacts, File Manager, or Notes, are typically native. Some games (like Pokemon Go) and other animation-heavy apps are built natively as well.
Pros and cons of choosing a hybrid solution
This combination of a web app codebase with a native shell is much cheaper and faster to develop than building a separate app for every platform, but web technologies you’ll be using have their limitations.
Pros:
- Lower costs of development, especially when the app is meant for multiple platforms.
- Relatively easy maintenance, based on popular web solutions.
- It’s possible to use device features that are common between platforms (such as a camera).
- Adding new features is quicker when you have only one codebase.
Cons:
- The more complex functionalities, the slower the app is.
- It’s not possible to use device-specific iOS or Android features.
A hybrid mobile app example
One of Google’s most popular services – Gmail – is a hybrid app and a great example of how an HTML5 web app can run smoothly as a mobile app thanks to its native shell. Now, with the integration of Meet, the app supports even more ways of communication.
Pros and cons of PWAs
Progressive web apps (PWA) are in many ways similar to hybrid apps: both connect the web and native development, but in slightly different ways. Although some of them are available in iOS Appstore and Google Play Store, these apps can often be saved directly from a website. When the PWA is installable, after going to its page in any modern mobile browser, you’ll be prompted to add the app to your home screen (which will create a shortcut directly to this app). Some desktop browsers (like Chrome) also support PWA install experience. PWAs use progressive enhancement to deliver high-end effects that are enabled within all contemporary browsers. On the other hand, they will typically work on older browsers with limited capabilities as well.
Pros:
- Accessible anywhere and everywhere (available on virtually every platform).
- Cheaper and faster in development than its alternatives.
- Accessible via a website (no Appstore approval needed to release the app).
- UI identical to native.
Cons:
- The app's performance depends on the browser’s capabilities.
- Less support for Apple devices and, in consequence, poorer performance on iOS.
Progressive Web Apps (PWA) – an example
PWAs are commonly used as e-commerce solutions (Flipkart, Eleganza, and AliExpress come to mind) but probably the best known PWA to date is Twitter Lite. The app is fast, lightweight, and responsive, while still supporting notifications and offline use.
Conclusion
As you could see, every approach is different and offers different possibilities. But all projects also have their requirements, so the answer to the question of which is better – native, hybrid, or progressive web app – will always lay in on the crossroads of those possibilities and requirements.
But the basic rules you should remember after reading this piece are simple.
- Use native development when your app is only for a single platform; has many animations or is otherwise complex and heavy; you want to leverage hardware features (such as GPS or camera) in the best possible way.
- Choose a hybrid development method to build a multi-platform app with no complex functionalities or to create an MVP (Minimum Viable Product).
- Develop Progressive Web Apps (PWAs) when you want to create a native-feeling experience for all platforms, especially for eCommerce projects.
That’s why at Monterail, we always start by thoroughly examining all the needs of a prospective project and then advise on the best choices for that particular idea, including what kind of app it should be (PWA vs hybrid vs native), and what kind of team should develop it. You too can develop your cross-platform mobile apps with us.