Dominance of JavaScript1

Long time ago when word JavaScript comes in someone’s mind it was only for validations and animation in web pages. Now the time has changed, JavaScript has been evolved as a programming language giant. JavaScript now days used in more places than ever before.
Dominance of JavaScript

Confusing name “JavaScript”

JavaScript was created by Netscape Navigator Brendan Eich in just 10 days in May 1995. The confusing name “JavaScript” was given to the language just to get attention of the “Java” developers as “Java” popularity was at its peak at that time. When the language specification was written, it was named as ECMAScript. ECMAScript went through several revisions to make the language more approachable. ECMAScript 6 is one of the major revisions to the language since its last revision on 2009. ECMAScript 6 introduced several new changes to the language including the ‘class’ keyword to make object orientation straight forward.
Confusing name “JavaScript”

Node.js: The Modern Day Server

Before Node.js, JavaScript was only used in browsers until Ryan Dhal, the creator of the Node.js, had the awesome idea to make JavaScript run outside of the browser. On November 8, 2009 Ryan Dhal demonstrated the power of Node.js by showing how a language that once seen performing client side validation then became capable of handling millions of requests per second in server side application with ease.
Modern web application like Gulp, Grunt and Webpack relies on Node.js. After introduction to Node.js, the Javascript ecosystem grew faster the ever. “npm” the default package manager for Node.js ,is one of the fastest growing package manager in the Industry.
The market has also adapted Node.js very quickly, companies that adopted includes big tech giant like Netflix, Walmart, PayPal and the list goes on.

Domination of Front End Frameworks

Nowadays web applications have considerable amount of business logic in the client side. The amount of code written in client side imposes new challenges such as how to architect, write and maintain thousands of lines of JavaScript. With the rise of frameworks such as AngularJS and ReactJS, web applications are able to deliver compelling experiences to users than ever before. Frameworks such as AngularJS are a one-stop shop, which comes equipped with various components to build a fully-fledged front end application. Angular contains modules, which could help with fetching data from the server, to manage business logic and many more. On the other hand, libraries like React are less opinionated and just do one single thing well, which is rendering the view and let developers rely on other libraries to accomplish different concerns. For example, since ReactJS is just a view library, in order to talk to a server to fetch data, developers have to rely on some other library. It’s up-to the requirements and the developers to choose what framework best suited for them.

Apart from the very dominant frameworks like Angular and React, there are several other frameworks which managed gain attention as well. VueJS is one of notable framework that gained a lot of attention from the JavaScript community. VueJS combines the good pieces of Angular and React yet keeping the framework simple and lean.

Hybrid Mobile Applications

Apart from browser and sever side applications, JavaScript is better known also in the area of hybrid mobile applications. Since hybrid applications are a web view rendering the UI, obtaining native like performance is a challenge.
This is where technologies like React Native and Native Script comes into play. With these technologies, we can still write the application in JavaScript but get the performance benefits similar to a native application. Technology like React Native renders native UI views depending on the platform, providing the end user with the native rendering performance while allowing the developers to write the application in JavaScript.

Taking Over Desktop Applications

JavaScript has changed desktop application development too. Electron is a technology introduced by GitHub. Electron is a shell, which uses Chromium browser to render the UI elements and uses Node.js to access the file system and other native APIs, where a typical sandboxed browser based application would not be able to. This allows developers to build the UI of the desktop application by making use of the wide ecosystem of web frameworks and also enable file system access and much more native functionality, through the native APIs exposed by Electron.
Electron is the technology that powers the Atom editor of GitHub and GitHub realizing its potential, decoupled the shell and open sourced it as a standalone platform. Now Electron powers various applications, including Visual Studio Code editor from Microsoft and the desktop version of Slack.