In the last year, Progressive Web Apps have become an incredibly popular way to build next generation apps. PWAs bring many advantages to the table, and in today’s post I’d like to share why we think you should care.
Why should I care about PWAs?
PWAs bring unique advantages to the table for developers building consumer facing apps. They allow developers to completely skip the app stores and instead simply deploy to a web server. This allows you to get your app out faster and to more people than you would be able to with deploying to the App Store and Google Play. Also, because you are not tied to the app store, this means that updates can be immediately available to everyone using your app, by simply pushing your new code to your web server. And because PWAs run in the browser, your single PWA can then be reached from just a click on a URL, greatly reducing the barrier to entry to your app!
PWAs also bring a ton of new advantages to the table for businesses and enterprises. Because of the fact that with a PWA you don’t have to package your app for any specific native platform, or submit that app to any native app store, your time to market can be much faster. Just push to a web server and your PWA is available to everyone.
For users of your app, PWAs offer a consistent experience no matter what device they are using, or how slow or flaky their network connection is. There’s no need to sit and wait while your app they are wanting to use is downloading and installing. Need something in a hurry? There is nothing much faster than tapping a URL. Also, because PWAs tend to be much smaller than the average native app, your app will not be taking up much of the precious storage on a user’s device.
How to get started today
The first concern I normally hear from devs interested in building a PWA is that Safari, the preinstalled browser on Apple devices, does not have support for PWAs. To be frank, this actually doesn’t matter because of progressive enhancement. With a few extra lines of code you can assure that users on browsers that do support those API’s get the full experience, and users on safari still get a great,fast experience. Also, Webkit, the browser engine behind Safari, recently announced they were implementing service workers, a key api for PWAs, so these API’s are going to be coming to Safari soon anyway.
Ionic fully supports PWAs out of the box. Our starters provide the minimum things needed for a PWA, service workers and a web manifest, with no config needed from the developer.
And to help make PWAs even more of a first class citizen in the Ionic world, we are working on some exciting integrations with the Ionic CLI to make building PWAs with Ionic even easier, including our upcoming Ionic PWA hosting service through Ionic Pro, allowing you to deploy your PWAs live, right from the Ionic CLI. Keep an eye out for this service coming soon!
Of course, we get that PWAs are not the answer to all the world’s problems. Natively-installed apps still have their place. One of the great things about Ionic is that we support PWAs as well as natively installed apps, all from a single code base. Here’s a great example of how a company is using PWAs alongside natively installed iOS and Android apps, creating a consistent user experience in whatever way their users prefer – all from the same codebase.
A sneak peek…
We have a very exciting new project coming down the line called, Stencil. Stencil is a new project we built that allowed our team to port all of the Ionic components that you know and love to standard web components. Our Ionic components built with Stencil enables us to lazy load only the code needed for components on a page of an app, commonly known as code splitting, with no setup needed from the developer. Because web components are built into the browser and work anywhere the DOM works, you can use our awesome, pre-designed and pre-built components in any framework of your choice, or no framework at all!
All these benefits will also be shipping with the next release of Ionic-Angular, v4.0.0, with only minimal breaking changes. With the built-in code splitting and smaller bundles that comes with web components built with Stencil, we greatly improve the load time performance, a crucial performance measurement for PWAs built with Ionic.
Summing it up
We are working very hard at Ionic to make building fast, high quality PWAs very easy. Because of all the advantages that PWAs provide, we believe that PWAs are a crucial part of the web landscape. Stay tuned for more info on PWA’s, Ionic and Stencil in the near future. And like i said above, make sure you dont miss the Stencil release!
Want to learn more? Listen to Justin on The Web Platform Podcast discussing web components, PWAs, and the future of hybrid development.