A Progressive Web App or PWA is a web application that has a set of capabilities (similar to native apps) which provide an app like experience to users. PWAs need to meet a set of essential requirements that we'll see next. PWAs are similar to native apps but are deployed and accessible from web servers via URLs, so we don't need to go through app stores.
A PWA needs to be:
Progressive: Work for every user, regardless of browser choice, because they are built with progressive enhancement as a core tenet.
Responsive: Fit any form factor, desktop, mobile, tablet, or whatever is next.
Connectivity independent: Enhanced with service workers to work offline or on low quality networks.
App like: Use the app shell model to provide app style navigation and interactions.
Fresh: Always up to date thanks to the service worker update process.
Safe: Served via HTTPS to prevent snooping and ensure content has not been tampered with.
Discoverable: Are identifiable as "applications" thanks to W3C manifests and service worker registration scope allowing search engines to find them.
Re engageable: Make re engagement easy through features like push notifications.
Installable: Allow users to "keep" apps they find most useful on their home screen without the hassle of an app store.
Linkable: Easily share via URL and not require complex installation.
In detail, this course will cover everything you need to build amazing PWAs leading to a score of 100 (out of 100) in Google's PWA auditing tool "Lighthouse".
For a long time, JavaScript has been the key element of the world wide web. Historically, it's been used for front end validations, dynamic menus, making some AJAX requests, etc.
But things have changed since the introduction of Single Page Applications (SPAs). React JS makes it very easy for us to create such SPAs.
Developers at Facebook released a completely different kind of framework called React (or ReactJS), which uses a combination of plain JavaScript and HTML elements (in XML syntax), called JSX. Unlike the Angular framework, this one simply addresses the View part of MVC. The main goal of a React application is to breakdown the entire web application into a bunch of HTML like elements called Components. A component defines the visual appearance of your UI, while converting the data it holds into user interface elements.