I confess I don't see nothing new here. Maybe it's a "new thing" for designers, but other than that it's just good software engineering (classical separation of the software/system design from implementation details).
Looking at software from the pure point of "an app" was always a reductive point of view. One could say (also in a simplistic way) that is what separates a simple "programmer" from a "software engineer".
To me, what makes this not so easily attainable in real life are practical problems, like development time (time to market, size of the team), know-how (many "programmers", just a few really good Programmers) and security & privacy problems (many things look simple until one checks the security and privacy implications).
It's very hard to have a team that tackles all this aspects (and more not mentioned) in an efficient way (if at all). Added to that, there is the problem of having management that really understands the situation.
I'm not even explicitly considering the "cost" factor into this, although all aspects referenced imply some relation between success and cost.