Tech Support Websites

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Thursday, 13 June 2013

Pros and Cons of Single Page Applications (SPAs)

Posted on 11:20 by Unknown
A SPA is a web app contained in a single page – where ‘pages’ are nothing but DIVs being shown/hidden based on the state of the app and user navigation.

Single Page Applications heavily use client side scripting to provide rich functionality to the end user.

Gmail is probably the first well known SPA implementation which has been around since 2004.

ASP.NET MVC 4 provides a basic framework for building SPA applications.

Pros:
The big reasons to do SPA are the 3 R's: Reach, Responsive UX and Reducing roundtrip postbacks.

Cons:

  1. Navigation – SPA’s by nature break the normal navigation mechanism of the browser. Normally, you click a link, it launches off a request and would update the url on the address bar. The response is then fetched and painted. In an SPA however, a link click is trapped in JS and the state is changed and you show a different div (with a background AJAX request being launched).
  2. This breaks Back/Forward navigation and since the URL doesn’t change, bookmark-ability is also broken to boot.
  3. SEO – SEO also breaks because links are associated with JavaScript and most bots cannot follow such links.

A SPA is not a good fit where SEO is important but it can be used for a banking app or an app that shows personalized info where SEO is not required.
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Posted in ASP.NET-MVC | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • 10 ways to make laptop battery last longer
    Paraphrased from a Right Choice magazine article with my own opinions: Keep the brightness of the screen as low as possible. If portability ...
  • Free JavaScript & jQuery learning resources
    There is a nice compilation of JavaScript & jQuery learning resources in this community wiki on StackOverflow.com . I picked those which...
  • A new JavaScript Reference to bookmark
    For years, the JavaScript section at W3Schools.com has been a indispensable source of reference for me . It will now not be my only source. ...
  • Words that leave Google Instant speechless
    2600 Magazine has compiled a list of objectionable words that Google Instant has blacklisted. Several volunteers have submitted blackliste...
  • Look what Google Goggles visual search can do
    Google Goggles is a visual search application available currently for Android powered phones. It may possibly be available for phones of oth...
  • HOW TO read long text messages on the Samsung Omnia 652
    Samsung Omnia 652 clumps text messages from a single recepient together. Scrolling through a message doesn't reveal the entire message ...
  • India ranks fourth in Internet usage
    Deepak Shenoy informs that as per Telecom Regulatory Authority of India (TRAI) data, India has nearly 10 million Broadband connections in ...
  • What is the difference between Browser Mode & Document Mode in IE
    If you're a web developer and your job actively involves building web pages that work the same in all browsers including the last three ...
  • What's common between Kovid Goyal & Antony Lewis?
    Kovid Goyal Antony Lewis They are both PhDs in Physics and creators of free software applications that have been downloaded by millions. Kov...
  • Aids for comparative analysis of software tools/products
    If you are asked to recommend the best software tool or product for a particular requirement, a good way to start researching is to check Wi...

Categories

  • AJAX
  • Android
  • APIs
  • App
  • ASP
  • ASP.NET
  • ASP.NET-MVC
  • Azure
  • Azure SQL Database
  • AzureInPictures
  • Bing
  • Book Review
  • Bookmarklet
  • Browsers
  • C#
  • chart
  • Chrome
  • Cloud
  • CSS
  • CSS3
  • DidYouKnow
  • E-Commerce
  • Excel
  • FB
  • Fiddler
  • Firefox
  • Gadgets
  • GeoLocation
  • GMail
  • Google
  • Google Docs
  • Google Reader
  • Health
  • Hotmail
  • HOWTO
  • HTML
  • HTML/CSS
  • HTML5
  • Humor
  • Hyderabad
  • IE
  • IIS
  • India
  • Internet
  • IT
  • Javascript
  • jQuery
  • JSON
  • JSONP
  • Laptop
  • Learning Resources
  • Lists
  • Map
  • Metrics
  • Microsoft
  • miscellaneous
  • Mobile
  • NAPA
  • Office365
  • Opera
  • PDF
  • Performance
  • Personal
  • PHP
  • PM
  • PowerShell
  • Privacy
  • Programming
  • Rant
  • Safari
  • Science
  • Search Engines
  • SearchEngines
  • Security
  • SEO
  • Sharepoint
  • SharePoint2013
  • Silverlight
  • Software Engineering
  • Solutions
  • SQL Azure
  • SQL Server
  • TFS
  • Tip
  • Tips
  • Tools
  • Tools/Utilities
  • Trivia
  • TWIL
  • Twitter
  • UX
  • VM
  • VS.NET
  • VS2010
  • VS2012
  • WCF
  • WebApps
  • Websites
  • WF
  • Windows Phone
  • Windows7
  • Windows8
  • Word
  • WP7
  • WPF

Blog Archive

  • ▼  2013 (112)
    • ►  October (16)
    • ►  September (14)
    • ►  August (8)
    • ►  July (8)
    • ▼  June (13)
      • TWIL - Week #13
      • HOW TO extend MSDN Subscription Azure benefits whi...
      • TWIL - Week #12
      • HOW TO track Indian Stock Exchanges (BSE, NSE) via...
      • Windows Azure - Learning Resources
      • Book Review: Cooking for Geeks by Jeff Potter (O'R...
      • TWIL - Week #11
      • Book Review: Instant jQuery UI Starter
      • Pros and Cons of Single Page Applications (SPAs)
      • 6 things I dislike about MSDN
      • TWIL - Week #10
      • Self-awareness software
      • TWIL - Week #9
    • ►  May (12)
    • ►  April (12)
    • ►  March (8)
    • ►  February (15)
    • ►  January (6)
  • ►  2012 (127)
    • ►  December (11)
    • ►  November (14)
    • ►  October (13)
    • ►  September (14)
    • ►  August (16)
    • ►  July (16)
    • ►  June (6)
    • ►  May (5)
    • ►  April (11)
    • ►  March (12)
    • ►  February (7)
    • ►  January (2)
  • ►  2011 (98)
    • ►  December (5)
    • ►  November (2)
    • ►  October (5)
    • ►  September (7)
    • ►  August (7)
    • ►  July (15)
    • ►  June (10)
    • ►  May (7)
    • ►  April (8)
    • ►  March (10)
    • ►  February (11)
    • ►  January (11)
  • ►  2010 (163)
    • ►  December (14)
    • ►  November (19)
    • ►  October (19)
    • ►  September (15)
    • ►  August (18)
    • ►  July (17)
    • ►  June (20)
    • ►  May (17)
    • ►  April (19)
    • ►  March (5)
Powered by Blogger.

About Me

Unknown
View my complete profile