To me this is solving Tailwind's biggest issue: consistency & context.
Comparing it to Bootstrap or Foundation adding the class `alert alert-danger` to a div tells my coworkers that it's an "alert" & it will look like an alert everywhere. If I want to change how alerts look, I change the CSS
With Tailwind you'd have `bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded relative`. Then I'd have to change my HTML everywhere to update the appearance of alerts & its not always obvious that I'm looking at an "alert" in code. I'd end up with different looking alerts, cards, buttons, etc all over my app
Another reason Bootstrap > Tailwind is consistency & context. Adding the class `alert alert-danger` to a div tells my coworkers that it's an "alert" & it will look like an alert everywhere. If I want to change how alerts look, I change the CSS
With Tailwind you'd have `bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded relative`. Then I'd have to change my HTML everywhere to update the appearance of alerts & its not always obvious that I'm looking at an alert in code.
CDN helps with the page load/latency variable of Google' PageRank but won't equal AMP.
To get AMP-like speed you'd need: CDN, no render-blocking javascript, minimized image files, "lazy-loaded" assets & inlined CSS for "Above the Fold" content. On the server side you want to cache content with something like Varnish & send it over an "Edge" network like Akamai or Fastly. Ideally everything is served over HTTP2 or SPDY.
>There are a few details that may save Picnic’s pizzas from tasting as if a robot made them. For starters, the dough preparation, sauce making and baking — the real art of pizza — is left in the capable, five-fingered hands of people.
The dough making & stretching is still done by humans.
It looks like this robot distributes sauce, cheese & toppings (it only shows one topping, though). Then cooks it.
But for buttons & heros not so much. I've worked with apps that have a "button" template. I find it overkill.
For one project we have some components rendered both server-side & with Vue.
Other cases I've had are sharing styles across multiple apps and pulling in markup from a 3rd party, like Stripe or a WYSIWYG.
But you're right. Ideally this wouldn't be an issue w/ view templates.