A progressive web application takes advantage of the latest technologies to combine the best of web and mobile apps. Think of it as a website built using web technologies but that acts and feels like an app. Recent advancements in the browser and in the availability of service workers and in the Cache and Push APIs have enabled web developers to allow users to install web apps to their home screen, receive push notifications and even work offline.
Progressive Web Apps provide an installable, app-like experience on laptop, desktop, tablets and mobile phones that are built and delivered directly via the Internet. They're web apps that are ultra fast, safe and reliable. And most importantly, they're web apps that work in any browser. If you're building a web app today, you're already on the path towards building a Progressive Web App.
Let’s say you have a photo-sharing social networking app. For the App Store, you could choose either Photo & Video or Social Networking as your primary category. To decide which category will best serve your app, consider the following
Your primary category should be the one that best describes the main function or subject matter of your app.
Understanding your audience will help you identify the category in which they will likely look for your app. Will they consider your app to be more of a social network app or a photography app?
Research how similar apps are categorized — users may already know to visit these categories to find this type of app.
Make sure that the category you choose accurately reflects your app’s core experience. Choosing categories that are not appropriate for your app is against the BitApps Guidelines.
53% of users will abandon a site if it takes longer than 3 seconds to load! And once loaded, users expect them to be fast—no janky scrolling or slow-to-respond interfaces.
Progressive Web Apps are installable and live on the user's home screen, without the need for an app store. They offer an immersive full screen experience with help from a web app manifest file and can even re-engage users with web push notifications. The Web App Manifest allows you to control how your app appears and how it's launched. You can specify home screen icons, the page to load when the app is launched, screen orientation.
Progressive web apps take advantage of the much larger web ecosystem, plugins and community and the relative ease of deploying and maintaining a website when compared to a native application in the respective app stores. For those of you who develop on both mobile and web, you’ll appreciate that a website can be built in less time, that an API does not need to be maintained with backwards-compatibility (all users will run the same version of your website’s code, unlike the version fragmentation of native apps) and that the app will generally be easier to deploy and maintain.
By definition, a progressive web app must work on any device and enhance progressively, taking advantage of any features available on the user’s device and browser.
Because a progressive web app is a website, it should be discoverable in search engines. This is a major advantage over native applications, which still lag behind websites in searchability.
Mobile app users are more likely to reuse their apps, and progressive web apps are intended to achieve the same goals through features such as push notifications.
A progressive web app’s UI must fit the device’s form factor and screen size.
PWA look like a native app and be built with minimal page refreshes.
It should work in areas of low connectivity or offline (our favorite characteristic).
As another characteristic inherited from websites, a well-designed website should use the URI to indicate the current state of the application. This will enable the web app to retain or reload its state when the user bookmarks or shares the app’s URL.
When new content is published and the user is connected to the Internet, that content should be made available in the app. A progressive web app can be installed on the device’s home screen, making it readily available.
Because a progressive web app has a more intimate user experience and because all network requests can be intercepted through service workers, it is imperative that the app be hosted over HTTPS to prevent man-in-the-middle attacks.