I know I sound like an old coot whose afraid of change, but there is something that doesn’t feel right for me with the new Single Page Application craze. It’s like all of a sudden, we’ve decided that web applications are crappy and that we want a return to traditional client/server applications. It’s a if we cannot tolerate a page refresh anymore and we want to manage the state of our applications like we were doing in 1995!
Would StackOverflow be better for the end user if it was built with Angular or Meteor? Nope. There are use cases where SPA shine, I can understand that. But for a standard web application or a website? I don’t believe it is needed. The web has been built around the idea of resources. Each URL on the web is supposed to be a document, not an app that you download. We have to come to our senses here. We should not work against the fundamentals of the WWW. If we destroy the basics of the web because of our thirst to create rich client applications, we’re doing a terrible mistake.
While I’ve had the same thoughts in the past, this isn’t the most reasoned analysis.
At this stage I wouldn’t call spa a craze. I haven’t even heard that term used for about a year, it just seems a given.
As to the example,the resource case has been an issue. It is possible now to do this with an spa, and if the extra effort is taken to make a universal page then the initial experience would be the same.
Thanks for your comment Jeremy. I never created a SPA myself, that’s why this “rant” was brief … because I know I am not up to speed with everything in the SPA javascript only world. Things are moving fast! What has changed recently that makes SPAs more “web friendly” and which framework would you recommend for a first try at building an SPA? Would MeteorJS be a good choice?
I totally agree. Not only SPA are overkill for content sites (including stuff like ecommerces) but it makes it more difficult ot control SEO, you end up having to do a lot more for little to no return. SPAs for authenticated sections with lots of interactivity are ok, other than that it’s a big anti-pattern. I also repeat that everytime: if you’re in doubt, do not do SPAs.
Fabio, that’s my thoughts too. But as I am not up to speed with SPAs, I am wondering if things have really changed in this regard. Do you think SPAs are a little more “web friendly” today?
I’ve not tried meteorjs, although I’ve heard good things. React is my preference. However emberjs might be a good choice of you’re used to Rails.
I agree with the sentiment that it is not for every website.