Top Menu

Trouble in JavaScript Paradise and the Isomorphic Solution

The internet is really awesome. In fact, many users of the internet are simply oblivious to the huge amount of changes that has happened to power the capabilities of the internet. People can only appreciate the changes on the internet based on what they see on their browser but it may seem that your experiences are smoother now since you can do more things using your simpler browser than ever before. Each of those capabilities actually takes a lot of technological changes in innovation to happen. No particular segment of internet technology has gone through more evolutional changes than JavaScript. JavaScript originally rolled out to give otherwise static HTML pages an added level of functionality. For example, if you go to a web page that really depends being current and up to date for its credibility, you would expect to see some sort of clock or calendar.

The JavaScript capability is a code that would work with your client, meaning on your browser, that interacts with part of the code on the server so that it can render these added features on your browser. In other words, your browser is doing something besides the information being sent by your server. That is the traditional internet model; you have a browser that connects to a remote server and the remote server would send all this information down the pipe to your computer then your computer will reassemble for you to see a nice website. The problem with this is the server is doing a lot of work and sending a lot of information. Depending on how fat your pipe is and how quick your connection is, this can become a headache. JavaScript was pioneered to enable your browser to share a little bit of the load by doing some of the processing locally.

As the internet has matured, it has reached a point where we can now do a lot more things locally than before. Just look at Gmail. Gmail is an example of a single page app. In other words, your browsers are actually doing a lot of the heavy lifting and the remote server is just sending data through an API (Application Program Interface). The end result is a smoother experience on your end. You can move things around and things are more interactive. A lot of little pop ups show up so it appears it’s all in real time and it’s a smoother experience overall. The downside to this is that if there is a slowness on the server site, it can really gum things up on your end so the new trend in net programming is to come up with an isomorphic solution, in other words, to bridge these capabilities by putting the JavaScript app straight in the middle of the client and the server.

Previously, the app was only on the client. You interact with the server through an API but the app was on your local computer. Now, with the isomorphic approach, the app is actually residing on the server and on your clan. If one of these is slow, the other would step up and as a result, your overall experience would be smooth. This is definitely a very interesting approach and it would be nice to see this in action. Anything that would make the internet usage more seamless and smooth should be a development that any internet user must warmly welcome.

, ,