March 22, 2020
Estimated Post Reading Time ~

Single Page Application (SPA) vs Progressive Web Apps (PWA)

While working with AEM, we should know about all relevant technologies in the market. SPA and PWA are such ones. AEM already supports SPA OOTB. Let us understand them more.

SPA:
SPA is the applications having a single page and the content gets updated within the page dynamically based on user interaction. Commonly used technologies to develop SPAs are AngularJS, Ember.js, Knockout.js, Meteor.js, ExtJS, Vue.js, and React.

Eg: Gmail

SPA Features:
1. Responsive
2. Fast and efficient.
3. Not served through the app store.
4. No extra queries to the server to download pages
5. User friendly.

PWA:
This is an application that behaves like a native application and developed using modern web technologies. This application supports offline features(using service worker & Web App Manifest) when no internet connection and are extremely fast & engaging.

PWA is an idea proposed by Google developers.

What is a Service Worker?
They are scripts that stand between your web application and your network

What is a Web App Manifest?
Web App Manifest is a JSON file with meta-information about the site.
Angular, React, Vue

PWA Features:
1. Responsive
2. Push Notification.
3. Offline Support.
4. Fast and efficient.
5. Not served through the app store.
6. relatively cheaper than developing native apps
7. Does not require installation

Conclusion
· An SPA can be a PWA, but a PWA does not have to be a SPA.

Progressive Web Apps are the next level of browser-based applications, offer a rich user experience that parallels what users know and expects from native apps and combines that with the benefits that browser-based applications provide.
· Progressive Web Apps are not Single Page Apps

- PWA's Register a Service Worker with a Fetch Event Handler and Minimal Offline Support
- PWA's Have a Valid Web Manifest File with a Minimal Set of Icons
- PWA's Served using HTTPS (Secure)



By aem4beginner

No comments:

Post a Comment

If you have any doubts or questions, please let us know.