One of the first challenges in building an application is deciding which platforms to support. Native mobile apps offer great usability but are expensive to build. On the other hand, web apps work on all platforms but have traditionally been unable to deliver the same user experience as native apps. Modern web technologies have changed that, offering good UX with an easier development and distribution model.
Native apps are great, but...
Native apps are great. But building them can be expensive, because you invariably have to support more than one platform. You need to develop one app for iOS, one for Android, and one for the web.
Building three apps means you need to have either separate teams with skills in each platform or a highly senior team comfortable working with each platform.
You also have the challenge of maintaining feature parity between the applications. As a result, you can end up in a situation where one platform is better supported than others -- putting users on some platforms in a disadvantaged position.
Native apps are challenging to distribute and update, because you have to go through application stores. There's added friction in getting the application installed, and it can take a while to get new features or security patches rolled out.
Building on the web platform to target all devices
The alternative to building separate apps for each platform is building a web application that works on all platforms. By developing only one application, you can focus all your effort on adding user value.
Web apps offer maximal reach, since any device with a browser can use web applications. Web applications also benefit from always being up to date, since they don't depend on lengthy app store approvals or require the user to take action.
Can web apps deliver a good user experience?
The hesitation we sometimes hear expressed about using the web for building applications is that you can’t build the same level of user experience as you have with a native application. But that's something that has changed in the past couple of years.
A collection of web technologies referred to as Progressive Web App (PWA) technologies have turned the web into a full-fledged application platform that allows you to build the same level of functionality that you would in a native application. You can now build web applications that can be installed, that can work offline, and that can even access the file system or hardware devices over Bluetooth. PWA technologies are widely supported in all of today’s major browsers.
Some examples of well-known applications that are built as PWAs are Microsoft Outlook, Photoshop, Twitter, and Spotify.
Microsoft even offers a free service, PWABuilder, that helps you submit a PWA to app stores (although you may not need to).
Low-friction onboarding and increased conversion
One of the most significant user experience benefits the web offers over native is that people can try out the application before they install it. With a native application, the user has to go to the app store, find the app, authenticate, download it, and open it before trying it. And then, if they don't like it, they have to uninstall it.
Native apps turn this buy-before-you-try model around and let you start using the full app experience right in your browser. If you like the app, you can decide to install it on your device for easy access. Or, if it's an app you only need occasionally, there's no need to install it and clutter your device. The reduced friction of this model helps you convert more users. Starbucks saw a 2x increase in active users when they launched their PWA.
Deliver user value faster and cheaper
By building one good application on the web and using that on every platform, you can save costs in development time and get by with a smaller team. That means that you can build features faster and roll them out quicker. In addition, your users will get updates and security patches immediately, as the app doesn't need to go through app stores to get updated.
How Vaadin can help you build cross-platform web apps faster
Vaadin is a framework for building web apps that deliver great UX on all platforms.
- All Vaadin applications are PWAs by default, which means you can run them on any platform and offer users low-friction onboarding.
- Vaadin UI components are designed to work well on both mobile and desktop, and offer good accessibility for screen readers.
- Vaadin is built for Java backends. Full-stack type safety helps you build software faster and keep it in service longer.
Have a new app in mind? Head over to start.vaadin.com to start a new project!