Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Yeah - I think a lot of it might be developers who don't understand that SPA and caching go pretty much hand in hand.

I'll admit that can make your life as a developer harder sometimes (to be blunt - caching is hard - full stop) but an SPA rendering from cache is basically a rocket compared to a server rendered page on a bad connection.

Absolutely no one enjoys waiting 2-5 seconds after clicking the back button to see a page they were just on, but that's the reality of a server rendered app on a bad connection. An SPA with good caching does, in fact, feel like a native app - in lots of good ways.



>no one enjoys waiting 2-5 seconds after clicking the back button to see a page they were just on, but that's the reality of a server rendered app on a bad connection

Wait, what. Don't basically all browsers nowadays keep previous pages in memory exactly not to do this?


If you read [his next blog post](https://gomakethings.com/how-to-make-mpas-that-are-as-fast-a...) you'll see he has lots of experience with architecting an advanced, cache-heavy multi-page application which works and behaves much like you describe.


Yeah, interesting.

I think that approach is fine if you have an application that's light on interactivity (like school curriculum or tutorial, in his case).

And I agree 100% on the service workers (Seriously, I'm right there with him - they're magic). I would also recommend leaning more heavily on persistent storage (localstorage/indexdb) but I'm also trying to handle offline only cases.

I think some of the advice falls down when you're genuinely trying to create an interactive experience. I probably won't expound much farther, since I really try to keep business out of HN, but... I write applications that have been used for following treatment programs in education environments - think speech therapy or ABA for autistic students, where the user is inputing data frequently - as often as once a second - and the UI is updating in response to calculations done client side, that influence the instructors program and plan in real time.

It's a lot of screens, often customized locally on the application, and removing JS (or even just writing pure js) hurts a lot. That's... hard to do with minimal js. Really, really hard.


>Absolutely no one enjoys waiting 2-5 seconds after clicking the back button to see a page they were just on

This doesn't happen because the browser caches the last page.




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

Search: