I was responding to a question about separating &quot;the unique parts of your app&quot; from other concerns like DOM and the network. I interpreted &quot;the unique parts of your app&quot; to be the way application state is represented and modified, which is a pretty reasonable definition for the common term &quot;business logic.&quot;<p>Library-agnostic reusable components is another question, and certainly a good one. There doesn&#x27;t seem to be a good answer right now. Web Components appears to be intended to solve that problem, but it isn&#x27;t looking so good in my opinion.<p>I would probably go with a similar approach to reducers in Redux: a simple function that takes a state object and returns some library-agnostic representation of DOM. Of course there is no standard representation of DOM that I know of, but you could just output a plain JS object representing the DOM tree. There are probably many libraries out there offering a way to represent DOM that could easily to plugged into (with a simple wrapper) whatever new DOM rendering library is hot.