2015-08-24

Is “Isomorphic JavaScript” a good term?

A recent trend in the web development world is to use JavaScript on the server to assemble pages there, with the same code that is used to manage them in the client. That lets you initially see content faster, especially on mobile devices and helps with search engines.

How are we supposed to call code that runs on either server or client? Michael Jackson doesn’t like a recent proposal:

So Charlie Robbins suggested that the term “Isomorphic JavaScript” might be used to describe JavaScript code that “can execute both on the client and the server”. And nobody knew what the hell it meant, but now instead of just writing JavaScript the people were writing Isomorphic JavaScript.

Michael proposes the term “Universal JavaScript”. In a comment to his blog post, Matti Schneider defends “Isomorphic JavaScript”:

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.

Maybe we should distinguish between:

  • The technique of asssembling pages on either client or server. Here, “isomorphic” and “full stack” (as proposed by Rodrigo Medeiros) seem good choices.
  • JavaScript that runs in all (or most) JavaScript environments, especially browsers and Node.js. Here, “universal” seems a good choice.

No comments: