March 10, 2021
In May 2020, Remko Jantzen from Episerver (currently Optimizely) introduced a new feature of this versatile CMS – React-based SPA on top of Optimizely Foundation. Thanks to this update, right now, you have access to a working React-based front-end for Optimizely CMS, which will hopefully soon make developing SPAs much quicker and straightforward*. We decided to take a closer look at this new solution. Here’s what we discovered.
To be honest, Single Page Applications (SPAs) aren’t really a new thing. Web developers have been creating those for many years now. However, we can see an increasing tendency regarding their popularity. The same trend applies to frameworks associated with them. But what exactly are SPAs?
In a traditional approach, in so-called MPAs (Multi Page Applications) whenever the user wants to display new content (for example open an article displayed on the news page), the browser redirects them to that given article and reloads the website. This means that the browser has to download the entire page content from the server and parse it from scratch. If you want to see how that works in practice, go to The Times website, and click any given article.
It looks a bit different in the case of SPAs. Here, the page loads only once during the entire visit. SPA interacts with the user by dynamically rewriting the current page content using new data from the server. In other words, every piece of new content (e.g., the article mentioned in the previous paragraph) is dynamically downloaded from the server and presented to the user within the same screen.
The SPA approach allows you to build more organic and interactive pages, where the user experience is not interrupted by the browser's loading. Some of the most famous examples of SPAs are:
Now, let us think for a few moments what this approach means to the website developer, client and the end user/visitor.
Daniel is a developer at Noa Ignite with a background in backend, fronted and devops technologies. Currently he's working mostly with EpiServer, Umbraco, React and Azure. After work Daniel spends most of his time being a parent, playing boardgames, painting miniatures and running D&D sessions.
Contact Daniel: firstname.lastname@example.org