Nikhil Das Nomula
Javascript is a dynamically typed, interpreted programming language.
In simple words, it is a language where you do not explicitly mention the type of data.
For e.g. in a static typed language like Java you will have
int a = 6;
char b = 'c';
This clearly tells us that the variable a is of type int(holds integer values and that the variable b is of type char(hold character values).
Now if we try to assign a string to variable a in Java
a = "Yajur"
It will not be allowed
In Javascript, a dynamically typed language, we can have something like this
let a = 6;
let b = 'c';
As you see both of the variables use let(you can also use var or const)
In addition to that if you want to change a to a string variable you can simply do it by
a = "Yajur"
An interpreted language is where the code is executed line by line, as opposed to a compiled language where the whole code is converted into machine code by something called as a compiler and then it is executed.
The advantage of interpreted languages being that it can run anywhere.
Javascript (1995)
When Javascript was initially created in the '90s, it was created to be run on the web browser called Netscape. So when a webpage contained Javascript, the browser would executed it. It is with the help of Javascript that we were able to make web pages interactive. For e.g. perform this action when user clicks on a button, route the user to the next page when he clicks on "Submit" button, etc.
Often times, people get confused with Java, however it is to be noted that both of them are totally different programming languages. There are some syntactical similarities but apart from that, Javascript is a dynamically typed language and Java is a statically typed language. Javascript is an interpreted language and Java is a compiled language. Javascript was created for the client-side(web-browser) and Java was created to run on appliances, server-side.
JQuery (2006)
The use of javascript on the client side was growing however the syntax was verbose and hence a library called JQuery was created in 2006. Developers loved JQuery and within no time, JQuery was ubiquitous on the web. This link to w3techs will tell you how popular JQuery still is.
NodeJs (2009)
Up until 2009, Javascript was always executed on the web browser, until a Javascript runtime environment called Node.js was created that could run Javascript outside the web browser. Prior to NodeJS, the standard architecture of most of the web applications was that there used to be a server side written in Java, C# or Python and then there used to be a client side which consisted of Javascript, HTML and CSS. However with the advent of NodeJS, you can now actually write an entire web application in one programming language i.e. Javascript.
Node Package Manager - NPM (2010)
The following year in 2010, the node package manager(npm) was created that allowed developers to share code and re-use existing code components(analogous to libraries in .NET, jar files in Java, packages in R, modules in Python)
AngularJS (2010)
Angular is one of the most popular front end framework maintained by Google that was build to develop single page applications(SPA). Although when it was first created it was in javascript, starting from Angular 2(called just Angular), it uses typescript(which eventually transpiles into javascript). Angular is backed by google and is a highly opinionated framework. It has a steep learning curve but once you learn it, you can build robust and great web applications.
React (2013)
React is a javascript library but is also used to develop SPA's as well. React was developed at Facebook and is the most popular of the three technologies(namely Angular, React and Vue) used to develop web applications in today's day and age. The advantage with React(and also Vue) is that it is a library. So you can just include this library in any web application and use only the parts that you need as opposed to Angular, where you need to play by Angular rules. The learning curve is relatively simple when compared to angular and once you learn it, there is a huge community on stack overflow that will help you build amazing web applications
VueJS (2014)
VueJS is another javascript library developed by Evan You. It is quickly rising in popularity and the reason for that is its simplicity and customizability. Like React, Vue is a library so you can build a whole web application in Vue or use parts of Vue in a web application. Of the three technologies(Angular, React and Vue) Vue has a gentle learning curve and is quickly growing its community.
React Native (2015)
React Native is a javascript framework to develop mobile applications. It uses the javascript engine on the developers machine to help you build mobile applications. React Native uses the same JSX syntax just like react and the best part is you can just use one language to develop a mobile app as opposed to using Objective-C or Swift for iOS and Java for Android.
We hope that this article gave you a good background on Javascript and the various other technologies associated with it. If you have any questions about which libraries to choose or how to architect your next application, feel free to reach us out and schedule a consultation.