In order to discover the best ways to develop a Progressive Web App, let's already remember what this means:
A PWA combines the functionalities of a site, an internet and a native application.
Thanks to improved web standards, browsers now support the Service Worker and the Web App Manifest. It is therefore possible to browse a site without internet, whether on mobile or computer, like an application. The ability to receive notifications via the browser and to add the site as an application on the home screen now makes websites even closer to the behavior of native applications.
A major drawback for the sites was their longer navigation by downloading each page on demand compared to the immediate display of native applications. Now that all files can be backed up and browsing without internet possible, this difference has clearly been erased by the real feeling of speed.
Small flat : if you want to create an application whose performance is increased by graphics and calculations (video game, ..), it remains to consider native development which will always be faster on the client device.
If you choose to develop or transition your site to a PWA, depending on the project, here are some of the tools that are currently the most popular:
This tool is known to be lighter and more flexible than Angular. You can add features as you go, and be relatively free in organizing the code, but development constraints are often favored in larger teams.
An advantage is that learning this framework also allows you to know ReactNative (from Facebook) which allows it to create native applications.
A framework for developing hybrid apps and PWAs. Through a Webview, Ionic makes it possible to obtain an application on the store with web technologies. It is also possible to develop PWAs with this platform which also supports React and Angular.
Tool developed by Google to measure the different PWA sliders of a website. This can be very useful during the development of PWA functionalities (offline browsing, performance testing, etc.).
Maxime, Full Stack@UX-Republic Developer