Universal JavaScript
Michael Jackson

No. “Isomorphic”, in terms of topology, describes the relationship between a transformation applied to an element in one set, and another transformation applied to another element in another set, and how these transformations are “as comparable” as the sets on which they are applied are comparable.

This is quite precisely what happens with server-side vs client-side JavaScript. “Universal” JS would behave in exactly the same way on both environments, just like your Rosetta (PowerPC vs Intel) example. “Isomorphic” JS is comparable in its effect, but does not need to have the exact same behavior.

For example, an isomorphic `fs` API would have direct read access on the server, and would be an abstraction over the File API in the browser. An isomorphic rendering API (as React) would directly manipulate the DOM in the browser, and serialize an HTML representation of it on the server. It offers comparable behavior, is semantically similar, but does not need to have the same final effect.

Show your support

Clapping shows how much you appreciated Matti Schneider’s story.