SPA (SINGLE PAGE APPLICATIONS)
Last updated
Last updated
USER EXPERIENCE
Pages load faster when a user navigates within the application which results in a “snappier” user experience after the initial load.
More advanced, richer applications can be built with Single Page Applications
It takes more time to initialize the application as it has to be downloaded to the user’s device. But this can be improved by server-side rendering.
SPAs require the user to have JavaScript turned on.
Memory leaks in JavaScript can lead to a drop in performance (or crash).
Enterprise apps can be harder to design and maintain as SPAs due to the larger number of files generated as well as the need to maintain two states between the SPA and the RESTful API.
SPAs can drain battery power faster than MPAs, as there is a bigger workload on a device’s browser.
SEO
SEO optimization can be less effective with content loaded through AJAX. This is because SEO crawlers mostly rely on stable content within distinct pages. This is rarely an issue as Google now crawls SPAs with high fidelity.
SECURITY
JavaScript is not a compiled language so the source code can be potentially exposed to malicious users. Steps can be taken to ensure this does not happen. Such as working with a senior developer to ensure that critical business rules are not handled by the UI.
DEVELOPMENT
SPA frameworks can be used to develop mobile applications that facilitate code reusability down to the level of UI elements.
Smart developers are excited to work on Single Page Applications since they are new and are likely going to be used even more in the future
This is a relatively young technology but the active community means that many issues associated with SPAs are getting resolved.
COST
Single Page Applications require more effort and knowledge to debug. This is because developers have to use their browser’s development tools rather than IDEs.
SPA code can be hard to trace. Especially when integrating third-party modules and plugins.
Single Page Applications are newer and your development team will need to be familiar with the specific framework and tools (eg: NPM, Webpack, SystemJS, Gulp). These skill requirements can increase the hourly rate of your developer(s).
Single Page Applications are generally more expensive to build because they require developers to know newer technologies. Debugging is slower and harder. There are also fewer 3rd party libraries to use to keep costs down.