In a previous post we introduced JavaScript and discussed its widespread adoption as a result of its interoperability between web applications, particularly browsers.
In this post we’re going to tackle some ideas related to why JavaScript is poised to literally take over the Industrial Internet of Things as the software language of choice for IIoT developers.
We’ll also discuss why, if you’re an industrial automation engineer starting to think about the IIoT, it might be a good idea to brush up on your JavaScript skills.
In the beginning, there was JavaScript. That is, if you consider the beginning 1995, when JavaScript was invented at Netscape. Since then the language has come a long way and is currently the industry go-to for front-end application development.
But a fairly recent trend in the world of JavaScript, known as server-side scripting, is beginning to take hold. And it could literally change the world of Internet application development as we know it today.
As a result, the Industrial Internet of Things will likely embrace this trend as well.
The IIoT Language Barrier
In traditional web applications, there's usually a client-side application (like a browser) requesting data (like text or images on a webpage) from a server-side resource, which is where the text and images the browser wants to access are actually stored.
For client-side systems to display content like text and images, specific languages are used to format, display, and request information from servers. These languages are typically HTML, CSS, and JavaScript.
But on the server side, a different type of language is needed to build applications that are capable of receiving connections from clients, fetching the resources the client is looking for, and then transmitting those resources to the client.
This can be accomplished using a variety of technologies and languages. The ones chosen depend on many factors, including the amount of traffic or number of requests the server will be handing, and the server's hardware resources like processor and memory, operating system, bandwidth, IT expertise, and so on. Some of the popular server-side languages today are PHP, Java, and .NET, to name just a few.
This lack of parity between languages used for client-side and server-side application development is a roadblock for developing IIoT applications. You can still get your application built, but wouldn’t it be a lot easier if we were all using the same languages, protocols, and architectures to build our solutions?
Enter server-side scripting.
Server-side scripting
When we start thinking about our IIoT applications, we need to remember that most of them are going to require some form of client/server application architecture.
Which means we’re going to need two different developers, one versed in client-side languages and one versed in server-side languages, to build our application.
But that's where server-side JavaScript is changing everything.
As early as 1996, JavaScript had support for server-side scripting or code development. But it's only been recently that JavaScript Runtime Environments for servers have gained a great deal of popularity. Which makes sense. If you were a JavaScript developer (and there are literally tens of thousands of them out there), wouldn’t it be a lot easier to write in a language that could be used on both the client and the server side of your application?
That’s where the popular Node.js server-side JavaScript Runtime Environment comes into play.
And Node.js also happens to be our next top software technology that industrial automation professionals need for industrial IoT applications.
Subscribe to the Opto 22 blog to get the next post in this series.