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 the disadvantages of SPAs in this post:


It makes the page content heavy and large: just image a single page app 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 use 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 a powerful server(s) because dislike traditional web applications you have to fetch all the data at the first time when a user comes into the website! (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 and I'm spending a lot of my time on architecture subject. Since 2008, I've been as a developer for companies and organizations and I've been focusing on Microsoft ecosystem all the time. During the&nb Read More

Post Tags
Pending Blog Posts
Strategic design
Factory Pattern
time out pattern in ajax
Selectors in Jquery
Peridic pattern
How to query over Icollection<> of a type with linq
How to use PagedList In MVC
Domain driven design VS model driven architecture
What's the DDD-lite?
Using Generic type for type casting in F#