Ehsan Ghanbari

Experience, DotNet, Solutions

Disadvantages of single page applications

You know there are lots of advantages behind the Single page applications, but just like other technologies it has some lacks in some cases. I just talk about disadvantages of SPAs in this post:


It makes the page content heavy and large: just image a single page apps which handles lots of feature in a page, needless to say it would be large and maybe in some cases it could cause page load slow.

It makes a kind code Duplications: you know in SPAs model should be created in the client side rather than in server side, although they using a JavaScript MVC or MVVM framework is recommended in client side but it makes a kind of code duplication anyway.

Implementing Business logic in client side is cumbersome: you know in SPAs, most of the business codes implemented in client side, as you load the batch data and make some processes on them, so it would make it harder to read and maintain.

Powerful servers are required: I'm not sure about this but it seems that SPAs need powerful server(s) because dislike traditional we applications you have to fetch all the data at the first time when a user comes into the web site! (in traditional apps you respond for every request only)

SPAs are not crawled:  making an SPA a CEO friendly one is not an easy task, it doesn't mean that there is no way for it. there are some CEO techniques to do that, take a look at this presentation for more info. 

Needs for new technologies:  actually it's not a disadvantage but you should know as a developer you must learn new W3C techniques deeply to make better SPAs such as css3 and html5. and also you should know JavaScript frameworks such as #backbonJs, #angularJs, #knockoutJs, …

About Me

Ehsan Ghanbari

Hi! my name is Ehsan. I'm a developer, passionate technologist, and fan of clean code. I'm interested in enterprise and large-scale applications architecture and design patterns. I spend a lot of time on software architecture. Since 2008, I've been as a developer for different companies and organizations and I've been focusing on Microsoft ecosystem all the time. During the past years, Read More

Post Tags
Pending Blog Posts
using Elmah in MVC4
Using FluentSecurity in MVC
Strategic design
Factory Pattern
time out pattern in ajax
Redis as a cache server
How to use PagedList In MVC
Multiple submit buttons in MVC
Domain driven design VS model driven architecture
What's the DDD-lite?