World domination of JavaScript

JavaScript - a programming language

In the middle 90's, when word JavaScript came in most of the people mind that 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 nowadays used in more places than ever before. It's a great language with a dark past and it suffers from its legacy. JavaScript is changing in a big way, a lot of new JavaScript will not even resemble the stuff you're probably referring to. You could always use transpile to js language like CoffeeScript or ClojureScript for a nicer syntax. Combines it with build system like Gulp or Grunt really makes the experiences pretty painless.

Why is “JavaScript” named?

JavaScript was created by Netscape Navigator Brendan Eich in just 10 days in May 1995. The name “JavaScript” was actually given to the language just to get attention of the “Java” developers as “Java” popularity. 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 straightforward. Netscape, of course, couldn’t get away with being the sole browser offering in-browser client-side scripting -  Microsoft’s Internet Explorer supported its very own interpreted script language, called JScript. Then JavaScript was becoming more and more ubiquitous as it was accumulating developer mindshare. It started popping up in weird and unexpected places initially, this was just the corners of the web previously untouched by the JS-pandemic, but soon after that, JavaScript was all over the place. There were essentially more or less well-known laws in IT that contributed to, even foretold JavaScript’s world domination.

JavaScript rules the world that is actually a language with fairly good fundamentals. Let’s see how -

JavaScript of Things

Smart watches, smart lighting, smart heating, smart houses all these small, limited power devices, tiny chips with tiny memories, also with tiny power supplies - power-hungry language like JavaScript shouldn’t be driving these, never?

The idea of the “internet-of-things” is quite popular nowadays, an era of the JavaScript of things is closer than you might imagine. Like to say that, few years ago no one have thought that a low-power, cost-conscious mobile device based on web technologies would be even possible. But, today, Firefox OS sets an example that it was not only possible, even it's very much feasible by releasing with 15 different Firefox OS-powered devices in about 30 countries in the last few years. It proves that JavaScript and web technology are still rather far from hitting their limits.

Harder, Better, Faster, Stronger

While JavaScript was becoming more and more sophisticated and powerful thanks to the work of TC39 on the ECMAScript standard, and ever- increasingly omnipresent reaching farther than ever thanks to node.js et al. Its evolution didn’t seem to stop, or even slow down. JavaScript was bound to become faster while devices it was powering kept shrinking smaller and smaller.

Implementation

Big companies run on JS

JavaScript and NodeJS are single-handedly eating the world of software. NodeJS is an Open Source server-side JavaScript environment based on the V8 JS engine found in Google Chrome. So now there is JavaScript running on the server. A list of 5 huge companies who have adopted the popular "hipster" server-side JavaScript engine for use inside high traffic, high profile production projects. Big companies are IBM, Microsoft, Netflix​, Paypal​, UBER.

  • IBM has also embraced NodeJS as well. Myles Borins from IBM say - "During October of 2015 I was given the task of working on the Canary in the Gold Mine, a smoke testing utility that automates running unit tests of various modules in the node.js ecosystem. CITGM has been incredibly successful, finding all sorts of regressions across the ecosystem and in node core itself."

  • Microsoft has embraced NodeJS, offering direct integrations into their Azure Platform, releasing a wealth of tutorials targeted at Node and they have even announced plans to fork the project and build their own version of Node powered by their Edge Javascript engine instead of Chrome's V8.

  • Netflix used JavaScript and NodeJS to transform their website into a single page application. Netflix has been an enterprise Java shop, but The company is in the process of breaking up what used to be a monolithic Java application into a set of smaller services. Java still powers the backend of Netflix.

  • PayPal too is moving away from Java and onto JavaScript and Node JS for use in their web application platform. PayPal began using NodeJS as a prototyping platform and when it proved extremely proficient and they decided try it out in production.  PayPal's first usage of Node JS in production wasn’t a minor application; it was their account overview page which is one of the apps most trafficked features. PayPal has released an Open Source extension for ExpressJS called KrakenJS which can add an extra layer of security and scalability to your Node JS Server.

  • Uber has built its massive driver / rider matching system on Node.js Distributed Web Architecture. Node.js is being used at Uber and future growth requires the community to push the boundaries and expectations for Node.js.

Versatile

JavaScript has a couple more things going for it. JavaScript is the only programming language that has ever shipped on every consumer computer, and it has done so for the last 14 years. JavaScript have become for every ungainly, bespectacled troglodyte the gateway from social exile to deeper social exile. More noteworthy is that a growing number of graphic designers who would never confess that they knew how to program will readily hack with jQuery. There are a lot of JavaScript programmers. Also, despite its deplorable shortcomings, JavaScript is cool and people like it. There have been a variety of JavaScript platforms for programming outside the browser since 1996, starting with Netscape's server-side offerings. A system called Helma (best known in Austria) has been around almost as long. In 2007, AppJet provided a service (now discontinued) for creating and hosting server-side JavaScript applications. Aptana offers an IDE for front-to-back JavaScript Web applications called Jaxer.

  • Julian Viereck and Ajaxian very own Dion Almaer gave a presentation on Bespin. The experimental Web-based IDE is in the midst of a refactor that will make it much easier to develop plugins, and will include server-side JavaScript components built on SproutCore, a server-side JavaScript framework that supports CommonJS modules.

  • Wakanda is an "end-to-end" JavaScript platform based on the SquirrelFish JavaScript engine that provides an impressive REST API for server-side JavaScript object persistence and a client-side object browser. Alexandre Mogaut's slides are on Slideshare.net.

  • New IDE called Visual Studio Code is built using Electron – the same Javascript framework that Atom was built on.

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. 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.

On mobile applications

Apart from browser and server-side applications, JavaScript is better known also in the area of hybrid mobile applications. Since hybrid applications are a webview rendering the UI, obtaining native-like performance is a challenge. This is where technologies like React Native and Nativescript comes into play. With these technologies, you 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.

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.

Open to everyone

If more people understand your open source code, then more people will contribute bug fixes and new features to the original project - JavaScript is available for everyone. JavaScript opens up the gate to web developers who already know the language but aren’t familiar with more traditional desktop programming languages like C++.

Abstract Syntax Tree

JavaScript at its core is an interpreted language. This means various optimizations could be perceived to ease and speed up JavaScript execution. One of the most basic and also very powerful ones is parsing the source and building an Abstract Syntax Tree. An AST is a representation of the source code that’s much easily traversed by the interpreter. The source code is still not compiled to machine code in advance, but executing on the fly, thus avoiding the overhead of parsing or re-parsing and tokenizing the source code. This is an obvious gain without many drawbacks - that is exactly why nearly all JavaScript engines use this method.


 

Lastly says, JavaScript will not vanish from the Web. The history of famous languages demonstrated that programming languages either change as C++ and Java did or fade as Cobol and Pascal did. The use of JavaScript has changed dramatically over the years and so has the language itself. Let’s see what the near future will show us. Hope you like this article. Please, share your thoughts with us in the comment section. Thank you!

Comments (0)

  • To add your comment please or

We use cookies to improve your experience on our site and to show you personalised advertising. Please read our cookie policy and privacy policy.

Got It!