Single Page Applications have been the talk of the town for some years now. A single page displaying all the information a user might ever want. No pesky HTTP requests, no time delays, no page reloads. The Single Page Application paradigm has made browsing the web a better experience. But has it really?
To be able to answer that question properly, we need to first delve into what exactly is SPA.
The most common and probably the most widely used Single Page Application is Google’s e-mail client – Gmail. If you haven’t been living under a rock for the past decade, then surely you’d have used Gmail to send or receive electronic mail. Now the next time you are looking at the heaps of unread mails in your inbox and click open one of them, pause for a moment. You’d notice that the page doesn’t reload to show you the mail’s contents. Instead only a certain part of the browser window changes from a long list of mails to the content of the mail you selected. For the lack of better words, this is what a Single Page Application or SPA is all about.
A single-page application (SPA), is a web site that fits on a single web page with the goal of providing a more fluid user experience. The web page does not reload in its entirety at any point of time nor is the control ever transferred to any other page. To be able to achieve the required fluidity in performance, developers rely on what are called ‘Frameworks’.
Now what are these magical frameworks that fold the entire website into a ‘single page’?
Some of the most common frameworks used are :
Now you must be wondering if SPAs are all that sweet and sugar, then why isn’t the whole web just a bunch of SPAs already. Well, that is because Single Page Apps have their downsides too with the major one being with Search Engine Indexing.
There are multiple ‘fixes’ that developers have come up to solve this issue. Some of them include enabling the ‘hashbang’ on the client side; rendering the web pages with escaped_fragment to cache pages on the server side and many others. Some of them are partially effectively while some of them can be a bit shady.
But the best thing to come out of this SEO-SPA fiasco, is the Isomorphic JS.
Isomorphic JS renders the content on the server-side only at the first load instance after which the website behaves like a pure SPA allowing for a seamlessly fluid user experience.
But even after crossing the SEO hurdle, web developers unanimously agree that the web in its current form isn’t all ready for going Single Page yet. Wondering if you should take your website and fold it in a Single Page? Continue reading to know if you should jump on the SPA bandwagon.
There is little doubt that Single Page Applications have everything that might make the users think that it is the future of the web. But like every coin has two sides, SPAs is after all just another coin. SPAs though a welcoming change also step on the toes of the traditional way of retrieving information from the annals of web.
Another major bone of contention in adopting SPA as the future is the issue of security. Since most of the computations in a SPA occurs at the client side, it becomes imperative that there is only entry point to the website and that the client data is secure at all times.
Lastly, it is not considered a bright idea for your SPA to have ‘many’ pages. If an SPA grows to a significant size, loading the entire application on the first page load becomes akin to loading all pages of a website when only the home page was requested. Unfortunately, this leads to unnecessarily increased page load time and thus proves to be a detriment to a good User Experience.
No Ecommerce usage of these Single Page Application has been found yet. Web still relies on traditional Ecommerce Opensource Frameworks for development of applications that mint money. The focus of these SPA, in present day is limited to user experience primarily.
If a SPA would be better for you or not completely depends on the kind of content that you host on the internet. If you need one developed for your business, there are several leading web development agencies that specialize in creating these Single Page Applications. A SPA means better user experience but only upto a certain extent and that too not always.