Making the case for Progressive Javascript
Jed Watson

Isomorphic is accurate. Progressive is just plain wrong

Isomorphic might sound weird at first, but it is more accurate in literal meaning. Progressive sounds familiar in web development but is just plain wrong.

Well, there i said it all actually. Isomorphic, as the original article suggests and explains correctly in the first place, derives from the two greek words “iso” and “morph”. Which means “same” and “shape”. So, when you use Javascript in the server and also in the browser, you are actually using the same language, the same dialect, the “same shape” on both sides. There is nothing progressive about that.

On the other hand, the term “progressive enhancement” refers to techniques that attempt to utilise the potential of modern browsers while affecting the user experience as less as possible in the not-so-modern browsers. That’s why it is called progressive enhancement. It is an enhancement, that one would like to have but one could live without.

(For instance, imagine you have a link. The user clicks the link and it opens in a browser tab. You may hijack the click event on the link and make it open in a custom popup or iframe or whatever. You progressively enhanced it, but it will still work if you hadn’t.)

In the case of using Javascript in both the server and the browser one could not do without any of the two parts. Both parts are equally necessary. This is not enhancement. The two parts are equal and they sort of complete each other. What’s more, they use the same base language — Javascript. Therefore: isomorphic.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.