3 ms·
I'm the only person on my current team (an internally-focused engineering team) who has experience building websites/apps for external paying clients (e.g. peop
by astockwell 8y ago
I'm the only person on my current team (an internally-focused engineering team) who has experience building websites/apps for external paying clients (e.g. people who will freak out if anything fails to load faster than they can blink, on their phone's 3G connection).
I was taken aback by how many times I had to argue with my team, our sister teams, our consultants/contractors, and even our (non-technical) leadership about NOT building a SPA when we came across 1 form in our large codebase that required some extra interactivity.
For some reason many developers seem to be fine turning a blind eye to the actual page-rendering time, maybe because it's hard to benchmark with tools? (although I'm skeptical of that). I find an overlap however in that those same developers seem to not understand why multiple database query roundtrips are worse than 1 query followed by some in-memory munging.
I'm sure I'm biased by my background, where we were profiling like mad, doing crazy things like purposely modifying images/hand-building sprites to pack better, minifying CSS before SASS/LESS existed, and every millisecond to finish rendering mattered. Good times.
- politician 8y agoWhat I find funny about this comment is that your experience of being a flabbergasted subject matter expert is basically the same for every SME in any domain on your team, your sister teams, etc. I've been there too. It's rare to find developers who've deeply specialized in multiple different domains.
- paraditedc 8y agoReally depends on what is your product and how users use it. If the user just visit a few pages every time, you probably don't need SPA. However, if your website has hundreds of pages and users need to navigate around a lot, SPA would actually reduce load time by cutting down the amount of data being transferred over network every time users goes to a different page. It also makes the experience navigating between pages smoother.
- gondo 8y agobrowser cache solves this problem
- paraditedc 8y agoCurious what's the strategy you use to invalidate browser cache for non-SPA? When deploying new changes.
- adamcw 8y agoSPA's tend to come with build systems, but that is just a side effect of their complexity. You can have a front-end build system independent of SPA/MPA architecture. In fact, you should, at least for minification and whatnot. That system can add a content hash or some other strategy to force invalidation at build time for deployed artifacts. Barring that, whatever is serving the asset should handle it's caching/TTL stuff correctly, but config of that can be hard (in complexity or domain knowledge.) Build hashes have been the most resilient approach that I've found so far. Mostly because it is easily automated in artifact generation.
- pritambaral 8y agoVersioned URLs of everything except index.html should work just fine.
- gondo 8y agoversioned url
- paraditedc 8y agoSorry if it is not clear, I was referring to html files returned by servers when user visits old-fashioned server-rendered web pages (non-SPA pages) like `/page1` or `/page2`. How do you version urls like those? Something like `/page1?t=201811292359`? That seems ugly to the users.
- gondo 8y ago