MPA, SPA & PWA… What’s the difference and how does it work together?

Today's customers demand fast responses and reliable interactions when shopping online. MPA (Multi-page App), SPA (Single-page App) and PWA (Progressive Web App) offer a different experience. But what’s the real difference? Let's take a look at all of them, so you will get to know how they can improve your business and customer experience.  

MPA

MPAs, or multi-page applications, are the classic websites we are all used to. The user gets from the server a page full of HTML, CSS and often also JavaScript (if it's a more interactive application). The user moves between pages by using links. When the user clicks, the server sends all the resources (HTML, CSS & JavaScript) for the new page. During this transition, a loading icon spins in the browser, then the entire application flashes and the old page is replaced by the new one.

This classic way of running websites is very simple and sufficient for many applications.

However, it has several disadvantages:

  • Loading a new page is often lengthy, unresponsive and data-hungry.
  • Viewing a new page requires redrawing the entire application, which causes loss of user state (scroll position on the page, pre-filled forms, focused elements, etc.).
  • MPA applications tend to have limited interactivity. They are usually limited to simple data display and form submission.
 

These shortcomings have created a need for modern web applications that load faster, save user data, are more user-friendly and not limited in interactivity and functionality.

SPA

These modern web applications are called SPAs, single-page applications. The name single-page suggests that they are made up of only one page. However, this does not mean that the user cannot move around the application between different pages. This is still possible. Navigating to a new page doesn't necessarily cause a query to the server (that responds with the content of the new page). With SPA, everything that is needed to load a new page can be part of the application. Thus, switching to a new page can be instant, without communicating with the server. Alternatively, only the minimum amount of data is downloaded from the server, making the loading fast and data-friendly and 

Although Single-page application has been on the market for almost two decades, it is only now that it has become more popular. The content of this application is loaded dynamically, so it is not necessary to reload the page. For example, when you check your Facebook feed, you won't be bothered by the page loading screen. Content loads instantly whether you're scrolling down the feed or switching between tabs.

When you open a page in SPA, all HTML and CSS files are loaded immediately. When you move around the page, only the updated data is loaded, not the entire page again. The user experience is therefore smooth and without unnecessary waiting.

There are no limits to creativity and functionality. Some of the most famous SPAs include Gmail, Facebook and Netflix. But SPAs are also a great choice for applications where speed is crucial, such as online shops or news portals.

However, due to these enhanced capabilities, SPAs are often more complex and expensive to develop compared to MPAs. This investment normally pays off (especially for mobile traffic) because a faster and friendlier app reduces bounce rate, increases conversion rate and therefore generates profits.

The main advantages of SPA include:

  • It is easier to keep SPA stack up to date, since it is decoupled from backend business logic thanks to headless approach (SPA communicates with back-end over API).
  • Faster application loading and navigation (less data transferred between user and server).
  • Better interactivity.
  • Pleasant UX - switching  between pages is fast and smooth, there is no active loading.
  • It is quite easy to add advanced features.

Modern single-page apps increasingly resemble native mobile and desktop apps. This need to bring web and mobile/desktop apps as close as possible and potentially even merge them has given rise to a technology called PWA.

PWA

PWA, or Progressive Web App, is a set of tools and technologies for web applications that allow them to extend the functionalities of classic mobile and desktop applications. This applies primarily to SPAs, where these functionalities can be applied to the maximum extent. It is not much the case for MPAs, which for example can never run offline (see below).

PWA can be easily installed on a user's device (bypassing the app stores) and can also be used offline. Thanks to smart features, you can turn almost any website into a PWA relatively quickly and easily. Just like native apps, PWA can offer a number of useful features such as push notifications, offline support, etc. Let’s take a closer look.

Installation

PWA can be installed on a mobile or computer with one click. Once installed, the app icon will appear on the home screen (desktop) as if it were a native app installed via, for example, Google Play. The user then only needs one click and can immediately browse the catalog and purchase products.

Offline functionality

The application is slightly limited in offline mode (it cannot display content that has never been downloaded before), but the user can view previously visited pages and interact with the application to some extent. For example, it is possible for a user to add products to a cart and complete a purchase while offline. The application informs the user that everything has been successful, but at the same time waits until the user is online to send the order to the server.

Notifications

PWAs allow the use of push notifications. This way, the app can inform users about the status of their order or a discount on a product they have on their wishlist.
 

Benefits of PWA

  • It improves user experience. It brings customers an app-like feeling.
  • It is fast.  It has improved caching over SPA so it transfers even less data and responds to user interactions even faster.
  • It is easy to install, and replaces the mobile app. Users can install it in one click, for free and it takes only a little space in their device. Moreover, it does not disturb the user from the action on the site and possible conversion. 
  • It works offline, at least some of the features do.
  • It improves engagement thanks to Web Push Notifications. Visitors return more often and have better engagement metrics compared to common users. 

Summary

Given the above advantages, developers are increasingly leaning towards PWAs. Of course, your decision will always depend on other circumstances such as project goals, resources, time horizon, etc. However, unless you are severely constrained by budget, PWA is the best choice in all aspects.