Progressive web apps (PWA-s) are a new approach in modern web development, which offers us the tools to hide the differences between web based and native applications. This includes technologies that were only accessible in native applications, such as offline experiences, sending system level notification or appear and load as a native application.
The main purpose of progressive web apps is to enhance user experience without developing another application on different platforms. Most larger companies need to develop both web and native applications – mostly for smartphones –, which requires not only a lot more financing but time. Also, there are some cases when the development progress differs between platforms and can be confusing for the user. PWA-s also bring a solution for that by its nature.
In the first part of my thesis, I will present the capabilities of Angular and ASP.NET Core, what are the criteria for a progressive web apps, the usage of the indispensable service workers, including the related technologies and the difficulties of development with them as well. In addition, I will describe the mechanism and architecture of push notification-based communication.
In the further parts of the thesis I will present how can one augment a web application on an ongoing project showing a concrete implementation using the previously mentioned technologies. Alongside that I also gathered useful tips and tools, which can be helpful for anyone who wants to dive into the world of progressive applications.
After the completion of the work we will see the upsides and downsides of PWA-s, also the comfort and the limitation of support libraries. This information can be useful both for those who use or develop the framework.