For the past 15 years, I’ve been fortunate enough to work in design and development, and seen a lot of changes in the industry. The death of using tables for layout. The rise of standards for accessibility and styling.  A more interactive experience using of JavaScript and specifically jQuery to enrich the user experience.

Javascript has always been seen as a lesser development language, as essentially you could cobble anything together, add a few plugins and get something that looked good and worked to users, but technically would be a mess.

Because of this approach, there has been an industry wide movement to professionalise JavaScript Development, which I believe started quite small but created a revolution in the way we develop front end applications. Starting with the adoption of coding standards and then the rise of the development framework, we’ve seen JavaScript come a long way in the last twenty years.

Standards for Javascript

At Leighton, we’ve adopted standards or conventions for writing and developing JavaScript.

Conventions make maintenance easier.  The chance that the same file will be maintained by the original author is slim, making reading and understanding the code easier and as a matter of pride we want to deliver a quality product to our customers. The quality reflects directly on the author and on everyone at Leighton.

For any code convention to work, everyone writing code must conform.  All of our code goes through a process of peer review to guarantee that conventions are held and that quality is built in to everything we deliver.

Javascript Frameworks

One of our largest clients have been going through the process of adopting AngularJS as their front end application framework, and this has given a number of our developers both in the North East and London an opportunity to work with it in a production environment.

Without a framework like AngularJS you could still create the same end result, but you’ll be fighting ‘spaghetti’ code to the very end. Frameworks allow for the separation of concerns and modulisation of code, making it possible for teams to work on a single project.

The separation of concerns makes it much easier to develop with continuous integration and unit test running. Test Driven Development is a software development process that speeds up development and gives confidence to developers that they aren’t introducing bugs or breaking current functionality.

One of the biggest jumps in skills the team has had to make is getting to grips with Test Driven Development. All our AngularJS applications are developed in this way, which coming from a ‘traditional’ front end development role is a completely alien practice – previously unit testing the end product used to be a manual process, checking outcomes based on technical requirements.

A recently completed project for one of our clients has really showed the benefit of this approach.  With good planning and an agile approach to development, a team of three developers has been able to build numerous components for an AngularJS application with an exact idea of what each component should do, its inputs and outputs.

What’s more, when it came to integrating all of the components, there was minimal time required for rework.

The Future

In another 20 years, who knows where we’ll be with Javascript, in the immediate future we have some exciting developments.

ES6 (JavaScript 6) is on the horizon, which takes us another step closer to a more ‘grown up’ language.  Browser support is slowly catching up and the majority are implementing features quickly, but no one browser has full support.  If you really want to use it now, there are a number of options to transpile your code back to ES5 but you won’t have full control of the production ready code.

A new version of AngularJS is coming out, which radically redefines the framework and will be another challenge we are looking forward to.

Front end application development is becoming a major part of our development work here at Leighton and it’s showing no sign of slowing down. We are actively looking for developers that have experience in this and we have an internal training programme to continually ensure our entire development team are fully versed in the necessary areas.