Great article, Phil. I honestly thought you were going to reference this truly wonderful classic: http://web.mit.edu/jemorris/humor/500-miles
You’re right about all the bundling we do. A lot of it is just “process” now. We transpile code that is perfectly valid to any targeted browser and then bundle it in a way that no longer actually provides a benefit — and is actually probably detrimental.
I do it too. Because I’m lazy. Because we’re all lazy. If our tooling does it this way then… at least for now… that’s correct. My hope is that the default toolings we tend to use start to improve in that respect and get a bit smarter about code splitting and resource optimisation.
You’re right about local caching of API resources, too. But again, we’re lazy. If we start caching things we step into one of the only two hard things in software development: naming things, cache invalidation, and off-by-one errors.
I’d like to think I’d handle it well in my applications, but I know for a fact I haven’t. It’s just easier to re-request. I think caching is an optimisation I’d make, but it would take a fair bit to make it a priority.