Javascript – An All Purpose Programming Language

Spread the love

Javascript is one of the most popular programming languages today. It is always in the top 5 of most demanding programming skills in the market and still growing. The purpose of JavaScript was to increase the interactivity of a website. This language is today for frontend as well as backend purposes. From building a simple SPA (Single Page Applications) to a complex back-end project, from developing games to constructing AI projects, JavaScript can do it all.

In this article, we will be talking about the history of JavaScript. We will discuss how it became so popular today. We will also discuss the scope of this programming language along with its various frameworks.

A Brief History of Javascript?

photo of Brenden Eich
Brendan Eich – The Creator of JavaScript

Back in the day’s web pages were dull and there was no interactivity. Brenden Eich, a brilliant computer programmer, identified this problem and developed a solution while working on the Netscape Navigator web browser. His solution to the problem was in fact a new programming language that we know today as JavaScript.

However, the name javascript came later. Eich named this language Mocha which later on was renamed LiveScript in Netscape Communication Corporation. LiveScript was a lightweight programming language that anybody could use to complement Java, which was very popular back in the day. But gradually LiveScript evolved and became an independent programming language of its own and was then renamed Javascript.

Forming a standard specification for the browser to run JavaScript

Microsoft at first didn’t want to use LiveScript. They used their own version of the scripting language in their Internet Explorer 9. For this reason, two different versions of JavaScript were created.
After a while, Microsoft changed its decision and started using the standard version of JavaScript.
Of course, there needed to be a standard that needed to be followed. So, ECMA (European Computer Manufacturers Associations) made specifications for javascript which all the browsers have to abide by. That is where javascript received its the official name, ECMAScript.

The maintenance of JavaScript

ECMA writes the specifications for JavaScript that the browsers must follow. But who maintains and decides what features are needed to be added into JavaScript?

A committee known as TC39 is responsible for the maintenance of JavaScript as well as deciding on which feature should be introduced. The committee consists of 50-100 people from well-known brands such as Google, Apple, Mozilla, Samsung, etc. They collaborate and create a document which consists of all the changes that are needed to be made to ECMA. ECMA then prepares their specifications based on this document.

Javascript engines

In order to run JavaScript, browsers needed an engine. These engines are developed by their respective web browser vendors. Every browser has its own unique JavaScript engine. Some of the JavaScript engines are as follows:

  • V8 engine for Google Chrome
  • Spidermonkey for Mozilla Firefox
  • JavaScriptCore for Apple’s Safari
  • Chakra for Microsoft Edge

Introduction of jQuery Library

In the beginning, javascript was not very popular among developers. It was mostly used to span alert messages on a web page. Another problem existed where JavaScript codes didn’t work on every browser. So, programmers had to implement different codes for different browsers, which you could imagine, is very annoying.

John Resig provided a solution to this problem. He developed jQuery, a standard library for javascript. Codes are written in a jQuery run on every browser. It simplified the HTML DOM tree traversal and manipulation. After the release of jQuery in January 2006, it soon became very popular among developers.

NodeJS, an invention that changed the landscape of programming

One of the most important events in JavaScript’s history took place in 2009. Ryan Dahl an American computer programmer Google Chrome’s V8 engine and wrote a program in C++ called NodeJS.

Now, what made this discovery a game changer? So, JavaScript is a complete programming language in its own right. But it runs only on the browser. But with the help of NodeJS, now it can run outside a browser, which opened up a whole new world of possibilities for JavaScript.

So, before the introduction of NodeJS, JavaScript was only limited to the front-end of web development, but now, it can be used as a back-end language as well. Various libraries and frameworks have been developed and are still being developed for JavaScript.

JavaScript can be used for front-end of a website or server side programming or even mobile phone applications, we can do numerous things with the help of the correct framework. Now  let’s take a look at popular frameworks for javascript:

Front End Web Development

 

javascript frontend frameworks
JavaScript Front-end frameworks

In the field of software engineering, front end refers to the presentation layer of an application. This is the visual part of the website. In order to construct the front end of a website, developers use many javascript frameworks. Let’s look at a few of these:

React

Developed and maintained by Facebook, React has become the most popular javascript framework today. A fun fact about React is that it’s not technically a framework, it’s a library. Even Though it’s a library, React is just as if not more powerful than some other frameworks.

Some of the popular projects created with react are:

  • Facebook
  • Instagram
  • Netflix
  • Airbnb
  • UberEats
  • Dropbox
  • Yahoo Mail
  • New York Times
  • Atlassian

Angular

Angular is a Typescript based framework used for building UI. It is more popular for building SPA (Single Page Applications) for Web and Mobile. Developed and maintained by Google Angular has an extremely powerful CLI tool.

After initialization, Angular presents you with a pre-built routing, testing framework, styling preprocessor of your choice, etc. The ‘ng add’ command in the terminal can turn your app into PWA (Progressive Web App), provide server sider rendering, provide firebase support, and much more. At its core, this framework is a UI-based component library. Some of the applications built with Angular are as follows:

  • Gmail
  • Freelancer
  • Up Work
  • PayPal
  • SONY
  • Forbes
  • Weather
  • IBM
  • The Guardian

Vue

Vue is another popular javascript framework used to build User Interface. It is developed and maintained by Evan You. In Vue, you can start simple by creating routes and progressively add other components such as core view layer, state management and other tools as the requirement arises.

It provides a way to build components by encapsulating data in your javascript and connecting that data or state with a template in HTML. Some of the web applications built with Vue are:

  • Apple
  • Alibaba
  • Font Awesome
  • Behance
  • Gitlab
  • Laravel
  • Nintendo
  • Grammerly
  • 9gag

Ember

Ember js was released in 2011. It combines the idioms, patterns and best practices of other SPA(Single Page Application) ecosystem pattern with its own. It allows developers to build scalable Single Page Applications by utilizing the component-service patterns.

The main advantage of Ember is that, it has a single component set of tools that work together to provide a complete development stack. The Ember CLI provides a standard application structure and pipeline, thus making development productive immediately. Many popular websites use Ember, including

  • Apple Music
  • Twitch
  • LinkedIn
  • Square
  • Nordstorm
  • Live Nation
  • Chipotle

Svelte

Svelte is also a javascript tool for building User Interface just like other frameworks. But the fun thing about Svelte is, its not a library nor a framework. Like it’s other counterparts (React, Angular, Vue) which makes your program work by exporting javascript runtime to the browser, Svelte compiles your declarative code into imperative codes recognized by browsers. As a result, you get high performance in a small package.

Developers use Svelte to create Single Page Applications,  Interactive Visualization Web pages, high performance web applications. Some of the popular Svelte projects are:

  • Team Speak
  • Houses of World
  • Doka by PQINA
  • Tableplop

Back End Web Development

nodejs logo
Node JS

After the introduction of Nodejs, now javascript can be used as a server side programming language as well. In Fact here are some famous apps built with Nodejs:

  • LinkedIn
  • PayPal
  • Mozilla
  • Yahoo
  • eBay
  • Netflix
  • Uber
  • GoDaddy

And the list goes on. There are several other big Node projects. So, if you are into back end development, you could give nodejs a try and see if it suits your needs!

Native App Development

react native logo
React Native

Now, this is a framework that has caused quite the buzz at the time of its release. React Native is an open-source UI application developed by Facebook. It is used to build applications for Android, iOS, and also other devices such as Android TV, TVOS, Web, etc.

Some of the popular React Native applications are:

  • Instagram (Android/iOS)
  • Facebook Ads Manager (Android/iOS)
  • Skype (Android/iOS)
  • Airbnb (Android/iOS)
  • UberEats (Android/iOS)

Desktop Applications

electron-js
Electron

Electron lets developers create cross-platform desktop applications for Windows, Mac, Linux, etc. It is maintained by a large number of contributors in GitHub. Electron uses Nodejs with the popular client-side languages like HTML, CSS, and Javascript together with Chromium for the front-end part.

Some of the desktop applications developed using Electron are as follows:

  • VS Code
  • Discord
  • Atom
  • Skype
  • WhatsApp for Desktop
  • WordPress for Desktop

For the front end, you can use your framework of choice (Angular, Vue, React) but in electron, you can use Nodejs as well. This grants you access to low-level APIs that you normally do not have access to in a sandboxed browser. Electron combines the front end with the back end technologies and provides other desktop tools such as native menus, toolbars, etc. to create desktop applications.

Machine Learning & Artificial Intelligence

brain-js-logo
Brain.js

Basically, Machine Learning is the process of teaching a computer about a topic. Then take decisions based on the training data that is pre-provided to the system. So, Machine Learning is the study of algorithms that can improve and grow through experience. Just like a human being.

Big tech companies are using Machine Learning to enhance their product performance or features. Let’s look at some examples:

  • Pinterest – Improved Content Discovery
  • Facebook – Chatbots
  • Twitter – Organized and selective Timeline
  • IBM – Better Healthcare
  • HubSpot – Smarter Sales

For Machine Learning JavaScript has a framework called Brain.js. Brain.js uses GPU accelerated Neural Networking system. Even though it’s now, there are numerous contributors to this project and the future for brain.js looks bright.

3D Object Design

babylon js logo
Babylon js – A WebGL based graphics engine
Babylon

If you want to include a 3D object in your website, then Babylon.js is your choice. It is a popular JavaScript framework for adding 3D textures and objects in your web browser using HTML5

3D websites are fairly new but this doesn’t in any way, it is not an appealing aspect to pursue. There are, however, some really amazing Babylon projects. For example, a Dutch website called wegbeeld.nl is a website that shows real-time traffic on the highways of the Netherlands.  Babylon.js is a very promising field in the area of 3D web applications.

Game developers also use babylon.js to add 3d objects and environments in their games. In a recent release, babylon.js 4.1, engineers have combined the power of Babylon with react native. Which enables it to produce 3d objects in native mobile apps. So, you can now use Babylon to develop mobile games as well. The future of Babylon seems more and more interesting with each passing day.

Conclusion

JavaScript was once introduced as a language for making dynamic changes to a website. Today it has evolved into an all-purpose programming language.

If you are a javascript developer then you are in luck because the future of javascript looks very bright and if you are thinking of picking up the language, then that would be an excellent idea seeing all the merit it brings. Happy coding!

 

Leave a Reply

Your email address will not be published. Required fields are marked *