Understanding principles that were born in the early years of programming, makes it clear why JavaScript wasn’t immediately popular. In fact it is infamous for being full of schematic mistakes. Even the creator admitted that he made very thoughtless design choices in the beginning.
”It was also an incredible rush job, so there were mistakes in it. Something that I think is important about it is that I knew there would be mistakes, and there would be gaps, so I made it very malleable as a language.”
The first version of JavaScript was made in 10 days. Since then js went trough a lot of changes. Thanks to its malleability, dynamicity and close integration with the DOM, it has become the standard language of the web.
Extras included
There are many languages that compiles to JavaScript providing a few extra features. Probably the most famous among these is TypeScript, which is developed by Microsoft. It adds static type definitions to js.
CoffeeScript used to be supported by Ruby on Rails for using a simpler syntax. It claims to eliminate all the bad parts of js.
There is also Dart, a UI focused language that is developed by google.
Front-end
As logic on the client side started to become more and more complex, and the couple of lines of JavaScript has grown to a couple thousand, the first js framework was born. jQuery made its debut in 2006 with cross browser compatibility in mind. It helped creating interactive sites much easier.
There were still many issues to be solved, such as data handling across different views. For that reason Ember, Backbone, Angular.js and lots of other frameworks emerged. Also the first js package manager Bower has been released by twitter in 2012 followed by npm in 2014.
The current top 5 front-end frameworks:
- React (by facebook)
- Vue (by ex-angular devs)
- Angular (by google)
- Ember
- Backbone
Back-end
In 2009 Node.js has become a true basis for JavaScript server side development. There were previous technologies to run js in a non-browser enviroment, but node accumulated the biggest crowd. It runs on google’s V8 engine that was written in C++.
The current top 5 back-end frameworks:
- Express
- Meteor
- Koa
- Sails
- Hapi