Software Engineering

Lost (In the world of JavaScript) but Found

Over the years, I have been overwhelmed with the amount of new technology in JavaScript that comes up every year. And part of my 2018 goals is to catch up with these tools. I am starting with the ES6, and I think it is the best place to start for any beginner or oldies who want to refresh like me

I got to know about HTMl5 and CSS3 pretty early thanks to Bosun Tijanni of ccHub who brought an opera HTML5 evangelist to my university in my first year around 2010. And there I knew HTML5 powered by Javascript will be used for mobile apps.

After the HTML5 outreach, I also got into a iqube workshop where James Fowe mentioned that JavaScript is the language of the future. He made the case that JavaScript is being used to develop mobile apps (Angular 1), server side applications (Node.js) and other apps beyond web apps.  I was interested in Javascript so I learnt what I believed was Javascript, Jquery, JQuery UI, JQuery Mobile and then Angular 1.

Few years later there was Angular 2 (now Angular 4), React, ES6, Typescript, CoffeScript, JSX, Babel, Grunt. Everything was different from what I learnt a few years earlier. I was overwhelmed and lost enthusiasm.

But then in 2017, I started to pickup things up. So I will like to share my learning with new or older Javascript programmers who might be as confused as I am.


First of all, there is something called EmaScript. EmaScript is the standardized language.

To understand why there is a need for standard, it is mainly to avoid confusion. Think of all the keyboards on a laptop you have seen, you will notice a similarity in the layout which is the QWERTY standard. This allows anyone to move from one laptop to another without gettting confused.

It might interest you to note that JavaScript (1996) came before EmaScript (1997).

So there was a need to standardize the web scripting language so that common features of the language will be supported on all browsers and device; making sure that the code you write will work on any browser.

Dialects/Flavours of EmaScript

  1. JavaScript
  2. ActionScript

Versions of EmaScript

There have been different versions of EmaScript. The recent ones are:

  1. ES 5 (Emascript 2014 ):  This is widely supported by older and newer browsers and this is like the Javascript I was writing in 2009
  2. ES 6  (EmaScript 2015, ES 2015): This is the new guy, it comes with lot of changes, keywords and new construct. At the moments, there are other dialects or super set of ES6 (or ES Next):
    1. TypeScript
    2. CoffeScript
    3. JSX
  3. ES Next : This refers to any next version of EmaScript

Note: there is also ES 2016 and ES 2017. In fact, there is going to be an annual version of EmaScript. You can always start from ES 6

Cross Browser Support

Older browsers don’t support some of the newer features of the ES6, therefore if you want to code in ES6, you will need a transpiler to convert your ES6 code to ES5 so that your code will work across all browsers.


A transpiler for JavaScript compiles  your ES6(or ES Next) into code that runs on all browser (or server).

Examples of Transpiler

  1. Babel
  2. TypeScript
  3. CoffeScript

So the best place to start is ES6, from ES6 you can pick any of the dialects : TypeScript or CoffeScript

My list of next things to pick up

  1. React  vs Angular
  2. Grunt
  3. Webpack

Leave a Reply