Progressive web apps (PWAs) are experiences that combine the best of the web and mobile apps. They load quickly, work offline, and feel like native mobile apps. The key aspects of PWAs include service workers for offline functionality, app shells for fast loading, and manifest files for home screen capabilities. PWAs use caching strategies and service workers to load from the cache first for offline access, then request updates from the network as needed. This provides a better user experience than online-first solutions which require network connectivity.