Hacker News new | past | comments | ask | show | jobs | submit login

As a user, I can think if a couple of reason immediately:

- I don't like page (re)loads. They are usually slower and more likely to fail, compared to a lightweight request. Especially in scenarios with a bad connection

- If they fail, it's harder to retry, I see a connection timeout page. With a SPA I see an error message, potentially with a retry button. Or even better: the SPA retries for me a few times.

- I can continue to see all the rest of the page while the action is running

- I can potentially start other actions in parallel

- I prefer to not lose any progress of things on the side, e.g. text-boxes where I already entered/changed some text

- It's easier to inspect what goes wrong by looking at the network tab. Okay, most users don't do that, but for me it's still a pro

There are also advantages, but I think nowadays the cons outweight those for me.




I’m convinced this is HN-themed satire.


It seems sincere — unlike your comment, which comes across as very off-hand / dismissive.


Yeah, sorry, but I just don't agree with the spirit of the comment, and I think it's thinking like this which leads programmers to over-engineer web applications, which usually harms user experience and wastes company money.

Absolutist statements like "no, you should not do a full form post just to toggle a checkbox" are just silly. There is no minimum bound beneath which a standard web browser form submission doesn't make sense, and writing extra JavaScript code to not only manage an asynchronous network request but also handle subsequent behaviours for success, failure, timeout, etc., is additional complexity which incurs additional cost and a greater potential for system failure.

Sometimes these implementation details and associated costs are necessary, but in most cases they aren't, and it's not an ideal perspective economically to default to the more expensive and complex implementation, especially for dubious benefit.


I wasn’t talking about whether you were right or wrong. I was calling you out for being a dick and not contributing constructively to the discussion.

You’re talking past people, not taking the time to understand what they’re saying, and then being dismissive when they reply.


Ok. I don't see it that way. Most SPAs on the internet should never have been SPAs and it's usually poor judgement which leads a project in that direction. That poor judgement includes things like the characterisation of full page reloads as overly cumbersome and asynchronous requests as being lightweight. It also includes the expensive decision to try to reimplement the native browser behaviour that you get for free, as the commenter alluded to by suggesting asynchronous requests can be programmed to show a custom UI for error messages and use custom behaviour for retries of failed requests.

I believe I have indeed taken the time to understand what people are saying in these comments specifically and on this topic more broadly. And I just don't agree with the opinions presented. I think they're silly, in the same way that microservices are almost always adopted for silly reasons. The popularity of either approach doesn't negate their silliness.

For more on this topic, this article is good: https://www.timr.co/server-side-rendering-is-a-thiel-truth/


You are doing it again...


I mean, you asked a question and I gave some reason that I could think of. How exactly do you "disagree with the spirit of my comment"?

If you don't want to hear an answer, maybe you should just not ask.


> Absolutist statements like "no, you should not do a full form post just to toggle a checkbox" are just silly

That is because you didn't read or accept the frame that I set initially. I was very clearly refering to web apps that are SPAs (not websites!). Within that context, that statement is less absolutist and still true in 95% of the cases.


ruby on rails has been able to do all of this with remote forms for at least 10 years now


Very sceptic that RoR can obtain/interact with the browser push notification API as I stated in my example. You'd have to come up with glue JS code yourself, and that is where it gets messy. Pushnotifications just being one of many APIs that are client-only (and again please, if you don't need to interface with those APIs, then you might not need an SPA in the first place).


Just because "remote forms" have forms in their name it doesn't mean that they are conceptually the same thing. They are not, so obviously they can achieve those things, but they are built with js.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: