If we know ultimate benefits of SPA against the traditional multi page website or multiple UI mobile app, we can better understand that why a big folk of web developers or mobile developers favors SPA in modern contexts.
How Traditional Web Page Works
In traditional multipage websites, browser requests to the server a page as landing page at first instance. When user click on navigation or link, browser again request corresponding page to the server to load and a distinct gap in form of loading process becomes visible on the client device screen as the waiting time.
If your waiting period is a bit longer even in milliseconds, the business likely lost some impatience natured customers or visitors due to frustration or lack of better user experiences. No doubt, we have lots of performance optimization and other technologies to assist us to reduce load time, but absolute seamless experiences are not possible at all and some waiting period exists still.
How SPA Works
SPA loads first time same as traditional web pages, but it eliminates the next loading or page rendering at frontend and accomplish data and some UI elements loading in background through pre-fetching or pre-emptive processes for next actions of users or page. Thus, initial user interface remains same and only handful of components or actions changes on each new interaction.
Ultimate Benefits of SPA
Some Drawbacks of SPA
- SPA is not applicable for all sorts of industries or types of websites
- There is no other pages or URLs so SEO is tough due to discoverability problems
- It is not accessible on some old client devices due to lack of hardware or OS supports, particularly in case of mobile devices
- Old and incompatible browsers can’t render such high-tech applications
- SPA suffering from lack of internationalization supports for some foreign languages
- With SPA link sharing and bookmarking is not possible
- SPA has not another page so you can’t access previous page or data using back button of browser
The biggest drawback of SPA at technical point of view is that it is costly affair for the web developers to create SPA with desired quality. As the latest technologies involved in creation of SPA, you can’t use any traditional web development methods or template to get good SPA applications. You need to create SPA from the scratch and it creation involves expertise on web as well as mobile development and enough experiences to make it a success legend.