PWAs don’t require you use a particular JavaScript framework or any JavaScript framework at all. You don’t need to be building a Single Page App either. In fact, it will probably be easier if you’re not.
“A PWA is not an API or a technology, but it is a web development approach that uses a combination of tools and technologies already available to create targeted, ideal user experiences. [This course] shows how to use service workers, APIs, and an application shell architecture for meaningful offline experiences, fast first load, and easy user reengagement upon repeat visits.”
Two things PWAs can do that a normal web app can’t:
Send push alerts/notifications.
Be used offline, and update any changes you made when you are back online.
“Progressive web apps could be the next big thing for the mobile web. Originally proposed by Google in 2015, they have already attracted a lot of attention because of the relative ease of development and the almost instant wins for the application’s user experience.”
Unlike a native app, a web app can be used on mobile immediately. There’s no download from the App Store or equivalent.
A progressive web app will be built with HTML5 and with JavaScript, probably using a JavaScript framework.
This video explains why a progressive web app is desirable and shows excellent examples — including The Washington Post‘s PWA.
Resources
What are Progressive Web Apps? A blog post that is quite clear, does not get bogged down in jargon (of which there is plenty, where PWAs are concerned), and summarizes the whole mess nicely.
Lighthouse analyzes web apps and web pages, collecting modern performance metrics and insights on developer best practices (GitHub repo).
Service Worker API (MDN): A JavaScript file that control the web page/site, “intercepting and modifying navigation and resource requests, and caching resources …” Key to offline use of a PWA.
PWAs vs. native apps: A deeper dive into pros and cons (published January 2017).