A single page application provides complete separation of concerns where the server side will communicate to the front end only through rest APIs that makes it easy for parallel development of both the components with little to no dependency on each other.
The front end code becomes extremely easy to test since there is no dependency on the server side. The data requirements can be easily mocked on the front end using several test libraries that are available and both unit and integration testing can be done efficiently.
This approach is particularly helpful when it comes to scaling the application. Having separated most of the view logic, the server side application can be constantly tune and optimized without the need to deploy the whole application every time. In addition to that the whole server.
With a rapidly expanding array of tools and frameworks specifically designed to aid in developing single page applications, the time has never been more right to adopt this approach for any web applications.