JavaScript, exciting times

Over the past 10 or more years JavaScript has existed as a means of aiding developers in manipulating the DOM or Document Object Model of web browsers, to this day not much has changed, except that JavaScript has grown up and become more powerful.

The biggest bugbear with JavaScript was the differences in behaviour between the browsers. This lead to developers using it in sparingly, not to mention that some browsers had the use of JavaScript turned off by default or was not included at all. Now JavaScript has become an integral part of the developers tool kit and JavaScript is turned on by default.

JavaScript has now gone beyond web sites and is capable of operating in its own environment as a self contained executable language. I will talk about some of the advances that have been made and how this is impacting the web sites of tomorrow.

The best thing to happen to JavaScript was the introduction of jQuery a framework designed to help the developer elevate the issues of cross browser compatibility. While in practice the solution was good there still were a few problems, the behaviours between browsers was minimised it was now easier to identify the browser and create work arounds. As jQuery has evolved other frameworks began emerging. Now there are more and more frameworks cropping up. At Linear Blue I am always looking for the next game changer.

Over the past couple of months one framework that I have been using is backbone.js this framework for myself is the first one I had come across that incorporated the MVC design patten or Modal View Controller. With backbone.js a developer can now deal with data and the DOM independently and reuse this code elsewhere. On the outside this may seem a trivial thing but to a developer this opens up more opportunities for making feature rich visually and functionally pleasing applications/web sites. For instance the Cavex project undertaken by Linear Blue uses backbone.js to handle the trading screen. In real time traders can actively buy and sell wine and both parties if logged in at the same time can see this happen right before there eyes without refreshing the screen.

Two of the emerging frameworks are Ember.js and Angular Js. Angular Js has been developed by Google and has started to pick up in popularity. Both frameworks are based on the MVC design pattern which is pushing development beyond creating scripts but creating applications. There is one other framework that pushes JavaScript beyond the browser and move it into its own executable space as mentioned earlier, this framework is called Node.js. With Node.js it is possible to create a web server to serve web pages just using JavaScript. It is even possible to use Node.js with the Raspberry Pi and program the GPIO pins of the Raspberry Pi making JavaScript a very powerful language.

I haven’t gone into detail in how these frameworks actually work, I do want to just finish up with talking about web sites of tomorrow. With mobile web browsing these frameworks are now able to put more and more emphasis on the client web browser. Web sites can be very heavy on content to download, by the time the page is rendered the amount data to be downloaded can be quite large. These new frameworks are lightening the load. It is possible to create a complete application using one of the frameworks mentioned and load only the information the app needs at any one time. The issue now will be changing the habits of the developer not to fall into the old methods, this will be difficult to pin. Web sites have traditionally been written in a server side programming language such as PHP, JSP or ASP and in any of these languages there are MVC frameworks that handle the serving of the web pages with the emphasis on the server to process then hand over to the browser. As web traffic has increased and server power being used to full potential this processing power is now being split with the client browser doing most of the processing and just requesting the information it needs from the server. This began to happen when AJAX Asynchronous JavaScript and XML was introduced then JSON JavaScript Object Notation followed which has lead to the development of frameworks to help deal with the retrieval of data and manipulation of the DOM. The next few years will see feature rich web sites that work across browser desktop and mobile. We are already seeing sites pushing the boundaries, Linear Blue are no exception to this and we will continue to do so.

Darren Kayes

Darren is Linear Blue's Chief Operations Officer, ensuring the smooth running of the company and making sure nothing gets in the way of our developers creating top-notch web and database solutions for our clients.

More Posts - Website

1 thought on “JavaScript, exciting times”

Leave a Reply