SPA is of-course, not a new concept although still unique and easy approach for most manageable applications without any kind of hustle. The most common example is Facebook application which is built on SPA concept. Since then every developer is trying to dupe the functionality and indulge themselves into this process to ease their tasks. Therefore, what is a SPA !!
SPA(Single page application), actually contains only one web-page for the whole application. Such applications run on browser and don't need any extra time to load the content or browsing. These kind of applications are browser-based as we said earlier Facebook is the substantial instance of SPA, also, there are many more like Trello, which is most eminent project management tool, is based on SPA's concept. Here few questions arise, where we can use SPA and where its beneficial.
When we can use SPA, to use a SPA, we need to be careful to some extent :
We can use this technology to built applications like social network interaction where minimal security is required, if security is the main concern then we should avoid this approach.
SPA is most perfect for building dynamic platforms where very few data is required.
SPA can also be used where SEO is not on high priority because SEO is not properly managed in such platforms.
SPA works amazingly in SaaS and closed communities because in such applications client does not require search engine optimization that much If SEO really matters then we should not used SPA concept.
Benefits, Rapid and responsiveness, Cache storage, Incredible user experience. On the other hand, there are some drawbacks as well like Poor SEO and security issues.
Example of various eminent web applications
Every day we scroll various web applications dozen time which are the perfect example of SPA since these applications are developed on the concept of SPA. Therefore, we can build such applications which looks like complex functionality but actually, this is not the case.
To conclude, the SPA is the most common method used to build applications as shown and full-fill the customer's requirement within time and rapidly.