A single page app (SPA) is usually an application written in JavaScript that runs in the browser and it often implements complex UI logic. Applications such as Google Maps or Gmail are examples of applications that are highly complex and must be very interactive. SPAs are ideal for these cases.
Disadvantages
However, SPAs also have disadvantages:
Since logic can be implemented in an SPA, in practice business logic often also leaks into the UI. This makes further development difficult, because logic is now implemented on the server and the client and thus at two different points in two, usually different, programming languages.
The load times of an SPA can be higher than the load times of a simple website. Not only must HTML be displayed, but the JavaScript code must be loaded and started. Loading times are very important in some areas like e-commerce, because the user behavior of customers depends on loading times
https://medium.com/chehipster/single-page-applications-spa-bbee3d913700